all-in-mcp


Nameall-in-mcp JSON
Version 0.3.2 PyPI version JSON
download
home_pageNone
SummaryAn MCP (Model Context Protocol) server providing daily-use utility functions and academic paper search capabilities
upload_time2025-08-31 14:11:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords academic iacr mcp model-context-protocol papers utilities
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # All-in-MCP

A FastMCP-based Model Context Protocol (MCP) server providing academic paper search and PDF processing utilities. Features a modular architecture with both proxy and standalone server capabilities.

- [_All-in-MCP Introduction Slides_](docs/slide/intro.pdf)
- [**Introduction Video on Bilibili**](https://www.bilibili.com/video/BV1ZcvNzSEX5/)

<details>
<summary>APaper Module Introduction</summary>

- [**Paper Tools overview _Video_**](https://www.bilibili.com/video/BV1RMKWzdEk8)
- [_Overview PDF_](https://github.com/jiahaoxiang2000/tutor/blob/main/Apaper/setup.pdf)

![APaper Research Direction](docs/APaper-research-direction-7x-2k-extended.gif)

</details>

## Architecture

All-in-MCP uses a modern **FastMCP architecture** with two main components:

1. **🔄 All-in-MCP Proxy Server**: Main server that routes requests to academic tools
2. **📚 APaper Module**: Isolated academic research server with specialized paper search tools

This design provides better modularity, performance, and scalability.

## Features

Both servers expose academic paper search tools as FastMCP endpoints with automatic tool registration:

### Available Tools

| Category                  | Tool Name                               | Description                                                    | Backend         |
| ------------------------- | --------------------------------------- | -------------------------------------------------------------- | --------------- |
| **Academic Research**     | `apaper_search_iacr_papers`             | Search academic papers from IACR ePrint Archive                | APaper          |
|                           | `apaper_download_iacr_paper`            | Download PDF of an IACR ePrint paper                           | APaper          |
|                           | `apaper_read_iacr_paper`                | Read and extract text content from an IACR ePrint paper PDF    | APaper          |
| **Bibliography Search**   | `apaper_search_cryptobib_papers`        | Search CryptoBib bibliography database for cryptography papers | APaper          |
| **Cross-platform Search** | `apaper_search_crossref_papers`         | Search academic papers from Crossref database                  | APaper          |
|                           | `apaper_search_google_scholar_papers`   | Search academic papers across disciplines with citation data   | APaper          |
| **PDF Processing**        | `apaper_read_pdf_file`                  | Read and extract text from local and online PDF files          | APaper          |
| **GitHub Repository**     | `github-repo-mcp_getRepoAllDirectories` | Get all directories from a GitHub repository                   | GitHub-Repo-MCP |
|                           | `github-repo-mcp_getRepoDirectories`    | Get directories from a specific path in GitHub repository      | GitHub-Repo-MCP |
|                           | `github-repo-mcp_getRepoFile`           | Get file content from GitHub repository                        | GitHub-Repo-MCP |

All tools are implemented using FastMCP decorators with automatic registration, built-in validation, and enhanced error handling.

## Quick Start

- [**Video for Env Setup**](https://www.bilibili.com/video/BV1cZKozaEjg) [**Video for Claude code**](https://www.bilibili.com/video/BV1s9KmzVEcE/)
- [_Overview PDF_](https://github.com/jiahaoxiang2000/tutor/blob/main/Apaper/config.pdf) [_PDF for Claude code_](https://github.com/jiahaoxiang2000/tutor/blob/main/Apaper/config-claude.pdf)

### Prerequisites

- Python 3.10 or higher
- `pipx` for Python package installation
- `npx` for MCP Inspector (Node.js required)

### Integration with MCP Clients

Add the servers to your MCP client configuration:

#### VSCode Configuration (.vscode/mcp.json)

```json .vscode/mcp.json
{
  "servers": {
    "all-in-mcp": {
      "type": "stdio",
      "command": "pipx",
      "args": ["run", "all-in-mcp"],
      "env": {
        "APAPER": "true",
        "GITHUB_REPO_MCP": "true"
      }
    }
  }
}
```

#### Claude Code Configuration (.mcp.json)

```json .mcp.json
{
  "mcpServers": {
    "all-in-mcp": {
      "type": "stdio",
      "command": "pipx",
      "args": ["run", "all-in-mcp"],
      "env": {
        "APAPER": "true",
        "GITHUB_REPO_MCP": "true"
      }
    }
  }
}
```

### Server Options

The main proxy server supports multiple MCP backends through environment variables:

```bash
# Run with APaper academic tools enabled
APAPER=true pipx run all-in-mcp

# Run with GitHub repository tools enabled
GITHUB_REPO_MCP=true pipx run all-in-mcp

# Run with both backends enabled
APAPER=true GITHUB_REPO_MCP=true pipx run all-in-mcp

# Run standalone APaper server (academic tools only)
pipx run apaper
```

> **Note**: If you have the package installed globally, you can also run directly: `all-in-mcp` or `apaper`

## Debugging & Testing

### MCP Inspector

Use the official MCP Inspector to debug and test server functionality:

```bash
# Debug the main proxy server with APaper tools
APAPER=true npx @modelcontextprotocol/inspector pipx run all-in-mcp

# Debug with all backends enabled
APAPER=true GITHUB_REPO_MCP=true npx @modelcontextprotocol/inspector pipx run all-in-mcp

# Debug standalone APaper server
npx @modelcontextprotocol/inspector pipx run apaper
```

The MCP Inspector provides:

- 🔍 **Interactive Tool Testing**: Test all available tools with real parameters
- 📊 **Server Information**: View server capabilities and tool schemas
- 🐛 **Debug Messages**: Monitor server communication and error messages
- ⚡ **Real-time Testing**: Execute tools and see results immediately

Perfect for development, debugging, and understanding how the FastMCP tools work.

<details>
<summary>Development</summary>

For development setup and contribution guidelines, see the [Development Guide](docs/development.md).

### Quick Development Setup

```bash
# Clone the repository
git clone https://github.com/jiahaoxiang2000/all-in-mcp.git
cd all-in-mcp

# Install with development dependencies
uv sync --extra dev

# Run tests (now using unittest)
uv run python tests/test_fastmcp_server.py
uv run python tests/test_apaper_iacr.py
uv run python tests/test_apaper_pdf.py
```

</details>

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "all-in-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "academic, iacr, mcp, model-context-protocol, papers, utilities",
    "author": null,
    "author_email": "isomo <jiahaoxiang2000@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/77/85/547d2af4d305e14fa485cef8aeac526dc37ad577d448402ae9fcbcb8873b/all_in_mcp-0.3.2.tar.gz",
    "platform": null,
    "description": "# All-in-MCP\n\nA FastMCP-based Model Context Protocol (MCP) server providing academic paper search and PDF processing utilities. Features a modular architecture with both proxy and standalone server capabilities.\n\n- [_All-in-MCP Introduction Slides_](docs/slide/intro.pdf)\n- [**Introduction Video on Bilibili**](https://www.bilibili.com/video/BV1ZcvNzSEX5/)\n\n<details>\n<summary>APaper Module Introduction</summary>\n\n- [**Paper Tools overview _Video_**](https://www.bilibili.com/video/BV1RMKWzdEk8)\n- [_Overview PDF_](https://github.com/jiahaoxiang2000/tutor/blob/main/Apaper/setup.pdf)\n\n![APaper Research Direction](docs/APaper-research-direction-7x-2k-extended.gif)\n\n</details>\n\n## Architecture\n\nAll-in-MCP uses a modern **FastMCP architecture** with two main components:\n\n1. **\ud83d\udd04 All-in-MCP Proxy Server**: Main server that routes requests to academic tools\n2. **\ud83d\udcda APaper Module**: Isolated academic research server with specialized paper search tools\n\nThis design provides better modularity, performance, and scalability.\n\n## Features\n\nBoth servers expose academic paper search tools as FastMCP endpoints with automatic tool registration:\n\n### Available Tools\n\n| Category                  | Tool Name                               | Description                                                    | Backend         |\n| ------------------------- | --------------------------------------- | -------------------------------------------------------------- | --------------- |\n| **Academic Research**     | `apaper_search_iacr_papers`             | Search academic papers from IACR ePrint Archive                | APaper          |\n|                           | `apaper_download_iacr_paper`            | Download PDF of an IACR ePrint paper                           | APaper          |\n|                           | `apaper_read_iacr_paper`                | Read and extract text content from an IACR ePrint paper PDF    | APaper          |\n| **Bibliography Search**   | `apaper_search_cryptobib_papers`        | Search CryptoBib bibliography database for cryptography papers | APaper          |\n| **Cross-platform Search** | `apaper_search_crossref_papers`         | Search academic papers from Crossref database                  | APaper          |\n|                           | `apaper_search_google_scholar_papers`   | Search academic papers across disciplines with citation data   | APaper          |\n| **PDF Processing**        | `apaper_read_pdf_file`                  | Read and extract text from local and online PDF files          | APaper          |\n| **GitHub Repository**     | `github-repo-mcp_getRepoAllDirectories` | Get all directories from a GitHub repository                   | GitHub-Repo-MCP |\n|                           | `github-repo-mcp_getRepoDirectories`    | Get directories from a specific path in GitHub repository      | GitHub-Repo-MCP |\n|                           | `github-repo-mcp_getRepoFile`           | Get file content from GitHub repository                        | GitHub-Repo-MCP |\n\nAll tools are implemented using FastMCP decorators with automatic registration, built-in validation, and enhanced error handling.\n\n## Quick Start\n\n- [**Video for Env Setup**](https://www.bilibili.com/video/BV1cZKozaEjg) [**Video for Claude code**](https://www.bilibili.com/video/BV1s9KmzVEcE/)\n- [_Overview PDF_](https://github.com/jiahaoxiang2000/tutor/blob/main/Apaper/config.pdf) [_PDF for Claude code_](https://github.com/jiahaoxiang2000/tutor/blob/main/Apaper/config-claude.pdf)\n\n### Prerequisites\n\n- Python 3.10 or higher\n- `pipx` for Python package installation\n- `npx` for MCP Inspector (Node.js required)\n\n### Integration with MCP Clients\n\nAdd the servers to your MCP client configuration:\n\n#### VSCode Configuration (.vscode/mcp.json)\n\n```json .vscode/mcp.json\n{\n  \"servers\": {\n    \"all-in-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"pipx\",\n      \"args\": [\"run\", \"all-in-mcp\"],\n      \"env\": {\n        \"APAPER\": \"true\",\n        \"GITHUB_REPO_MCP\": \"true\"\n      }\n    }\n  }\n}\n```\n\n#### Claude Code Configuration (.mcp.json)\n\n```json .mcp.json\n{\n  \"mcpServers\": {\n    \"all-in-mcp\": {\n      \"type\": \"stdio\",\n      \"command\": \"pipx\",\n      \"args\": [\"run\", \"all-in-mcp\"],\n      \"env\": {\n        \"APAPER\": \"true\",\n        \"GITHUB_REPO_MCP\": \"true\"\n      }\n    }\n  }\n}\n```\n\n### Server Options\n\nThe main proxy server supports multiple MCP backends through environment variables:\n\n```bash\n# Run with APaper academic tools enabled\nAPAPER=true pipx run all-in-mcp\n\n# Run with GitHub repository tools enabled\nGITHUB_REPO_MCP=true pipx run all-in-mcp\n\n# Run with both backends enabled\nAPAPER=true GITHUB_REPO_MCP=true pipx run all-in-mcp\n\n# Run standalone APaper server (academic tools only)\npipx run apaper\n```\n\n> **Note**: If you have the package installed globally, you can also run directly: `all-in-mcp` or `apaper`\n\n## Debugging & Testing\n\n### MCP Inspector\n\nUse the official MCP Inspector to debug and test server functionality:\n\n```bash\n# Debug the main proxy server with APaper tools\nAPAPER=true npx @modelcontextprotocol/inspector pipx run all-in-mcp\n\n# Debug with all backends enabled\nAPAPER=true GITHUB_REPO_MCP=true npx @modelcontextprotocol/inspector pipx run all-in-mcp\n\n# Debug standalone APaper server\nnpx @modelcontextprotocol/inspector pipx run apaper\n```\n\nThe MCP Inspector provides:\n\n- \ud83d\udd0d **Interactive Tool Testing**: Test all available tools with real parameters\n- \ud83d\udcca **Server Information**: View server capabilities and tool schemas\n- \ud83d\udc1b **Debug Messages**: Monitor server communication and error messages\n- \u26a1 **Real-time Testing**: Execute tools and see results immediately\n\nPerfect for development, debugging, and understanding how the FastMCP tools work.\n\n<details>\n<summary>Development</summary>\n\nFor development setup and contribution guidelines, see the [Development Guide](docs/development.md).\n\n### Quick Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/jiahaoxiang2000/all-in-mcp.git\ncd all-in-mcp\n\n# Install with development dependencies\nuv sync --extra dev\n\n# Run tests (now using unittest)\nuv run python tests/test_fastmcp_server.py\nuv run python tests/test_apaper_iacr.py\nuv run python tests/test_apaper_pdf.py\n```\n\n</details>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "An MCP (Model Context Protocol) server providing daily-use utility functions and academic paper search capabilities",
    "version": "0.3.2",
    "project_urls": {
        "Documentation": "https://github.com/jiahaoxiang2000/all-in-mcp/tree/main/docs",
        "Homepage": "https://github.com/jiahaoxiang2000/all-in-mcp",
        "Issues": "https://github.com/jiahaoxiang2000/all-in-mcp/issues",
        "Repository": "https://github.com/jiahaoxiang2000/all-in-mcp"
    },
    "split_keywords": [
        "academic",
        " iacr",
        " mcp",
        " model-context-protocol",
        " papers",
        " utilities"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c2863fdbb9d3c1268874011254d9fe4c36f4511955dff44e941a63123b1ee9c4",
                "md5": "ec8924096831836de7ccd26d45ddf249",
                "sha256": "431b6dbbf04f7c346f097ffc89a4628410413c602a6c02582b23390cc914eb48"
            },
            "downloads": -1,
            "filename": "all_in_mcp-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ec8924096831836de7ccd26d45ddf249",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 26505,
            "upload_time": "2025-08-31T14:11:08",
            "upload_time_iso_8601": "2025-08-31T14:11:08.816697Z",
            "url": "https://files.pythonhosted.org/packages/c2/86/3fdbb9d3c1268874011254d9fe4c36f4511955dff44e941a63123b1ee9c4/all_in_mcp-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7785547d2af4d305e14fa485cef8aeac526dc37ad577d448402ae9fcbcb8873b",
                "md5": "52ac7e3864b7731d8c59676ee593c79b",
                "sha256": "bef2215d0edcf696f1a7c1e068a573bbacec8fc422cf1b95e39982eba56119bf"
            },
            "downloads": -1,
            "filename": "all_in_mcp-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "52ac7e3864b7731d8c59676ee593c79b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 29043075,
            "upload_time": "2025-08-31T14:11:11",
            "upload_time_iso_8601": "2025-08-31T14:11:11.114501Z",
            "url": "https://files.pythonhosted.org/packages/77/85/547d2af4d305e14fa485cef8aeac526dc37ad577d448402ae9fcbcb8873b/all_in_mcp-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-31 14:11:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jiahaoxiang2000",
    "github_project": "all-in-mcp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "all-in-mcp"
}
        
Elapsed time: 2.50869s