all-in-mcp

jiahaoxiang2000/all-in-mcp

3.3

If you are the rightful owner of all-in-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

An MCP server providing utility functions for academic paper search and management.

Tools
5
Resources
0
Prompts
0

All-in-MCP

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

APaper Module Introduction

Architecture

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

  1. 🔄 All-in-MCP Proxy Server: Main server that routes requests to academic tools and web search
  2. 📚 APaper Module: Isolated academic research server with specialized paper search tools
  3. 🔍 Qwen Search Module: Web search server powered by Qwen/Dashscope API with SSE-based MCP

This design provides better modularity, performance, and scalability.

Features

All servers expose search tools as FastMCP endpoints with automatic tool registration:

Available Tools

CategoryTool NameDescriptionBackend
Academic Researchapaper_search_iacr_papersSearch academic papers from IACR ePrint ArchiveAPaper
apaper_download_iacr_paperDownload PDF of an IACR ePrint paperAPaper
apaper_read_iacr_paperRead and extract text content from an IACR ePrint paper PDFAPaper
Bibliography Searchapaper_search_dblp_papersSearch DBLP computer science bibliography databaseAPaper
Cross-platform Searchapaper_search_google_scholar_papersSearch academic papers across disciplines with citation dataAPaper
Web Searchqwen_search_web_searchSearch the web using Qwen/Dashscope APIQwen Search
GitHub Repositorygithub-repo-mcp_getRepoAllDirectoriesGet all directories from a GitHub repositoryGitHub-Repo-MCP
github-repo-mcp_getRepoDirectoriesGet directories from a specific path in GitHub repositoryGitHub-Repo-MCP
github-repo-mcp_getRepoFileGet file content from GitHub repositoryGitHub-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",
        "QWEN_SEARCH": "true",
        "DASHSCOPE_API_KEY": "your_api_key_here",
        "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",
        "QWEN_SEARCH": "true",
        "DASHSCOPE_API_KEY": "your_api_key_here",
        "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 Qwen Search web search enabled
QWEN_SEARCH=true DASHSCOPE_API_KEY=your_api_key_here pipx run all-in-mcp

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

# Run with all backends enabled
APAPER=true QWEN_SEARCH=true DASHSCOPE_API_KEY=your_api_key_here GITHUB_REPO_MCP=true pipx run all-in-mcp

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

# Run standalone Qwen Search server (web search only)
DASHSCOPE_API_KEY=your_api_key_here pipx run qwen-search

Note: If you have the package installed globally, you can also run directly: all-in-mcp or qwen-search

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
Local Development with uv

When developing locally, use uv run to debug specific MCP functions:

# Debug APaper server (academic tools)
npx @modelcontextprotocol/inspector uv run apaper

# Debug all-in-mcp proxy with APaper enabled
APAPER=true npx @modelcontextprotocol/inspector uv run all-in-mcp

# Debug all-in-mcp proxy with GitHub repo tools enabled
GITHUB_REPO_MCP=true npx @modelcontextprotocol/inspector uv run all-in-mcp

# Debug all-in-mcp with all backends enabled
APAPER=true QWEN_SEARCH=true DASHSCOPE_API_KEY=your_api_key_here GITHUB_REPO_MCP=true npx @modelcontextprotocol/inspector uv run all-in-mcp

# Debug Qwen Search server
DASHSCOPE_API_KEY=your_api_key_here npx @modelcontextprotocol/inspector uv run qwen-search

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 .

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
uv run python tests/test_qwen_search.py