Skip to main content

An MCP (Model Context Protocol) server providing daily-use utility functions and academic paper search capabilities

Project description

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.

APaper Module Introduction

APaper Research Direction

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_dblp_papers Search DBLP computer science bibliography database APaper
Cross-platform Search apaper_search_google_scholar_papers Search academic papers across disciplines with citation data 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

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)

{
  "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)

{
  "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:

# 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:

# 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.

Development

For development setup and contribution guidelines, see the Development Guide.

Quick Development Setup

# 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

all_in_mcp-0.4.0.tar.gz (29.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

all_in_mcp-0.4.0-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file all_in_mcp-0.4.0.tar.gz.

File metadata

  • Download URL: all_in_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 29.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for all_in_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 3e2fad101523e05d679ed4162778298355b2192392894d91aff5915efdfef076
MD5 68a40ce6de4cb260bfcfe42be063cc69
BLAKE2b-256 08b0e18ed9ae3d52f922e4b330296faf5bcbd4200ef4005a051d91e6410a4c10

See more details on using hashes here.

Provenance

The following attestation bundles were made for all_in_mcp-0.4.0.tar.gz:

Publisher: release.yml on jiahaoxiang2000/all-in-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file all_in_mcp-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: all_in_mcp-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for all_in_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d855e2eaadb2b45b5bdb12d53ccde44cd25aa55bc25e685c70ae3ab4c0e4954
MD5 6d0df6efa22745e6e454e55251cf2d98
BLAKE2b-256 7f5c4a80d758c8bc268c33477a021a028963a46d676fd156450f6f1b70665109

See more details on using hashes here.

Provenance

The following attestation bundles were made for all_in_mcp-0.4.0-py3-none-any.whl:

Publisher: release.yml on jiahaoxiang2000/all-in-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page