Skip to main content
Glama

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 Research Direction

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

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

Web Search

qwen_search_web_search

Search the web using Qwen/Dashscope API

Qwen Search

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", "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.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isomoes/all-in-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server