All-in-MCP

Fornece funções utilitárias para tarefas comuns como processamento de texto, codificação, decodificação, hash e informações do sistema.

Documentação

All-in-MCP

Um servidor Model Context Protocol (MCP) baseado em FastMCP que fornece utilitários de busca de artigos acadêmicos, busca na web e processamento de PDF. Apresenta uma arquitetura modular com capacidades de servidor proxy e autônomo.

Introdução ao Módulo APaper

APaper Research Direction

Arquitetura

O All-in-MCP usa uma arquitetura FastMCP moderna com três componentes principais:

  1. 🔄 All-in-MCP Proxy Server: Servidor principal que roteia requisições para ferramentas acadêmicas e busca na web
  2. 📚 Módulo APaper: Servidor de pesquisa acadêmica isolado com ferramentas especializadas de busca de artigos
  3. 🔍 Módulo Qwen Search: Servidor de busca na web alimentado pela API Qwen/Dashscope com MCP baseado em SSE

Este design proporciona melhor modularidade, desempenho e escalabilidade.

Recursos

Todos os servidores expõem ferramentas de busca como endpoints FastMCP com registro automático de ferramentas:

Ferramentas Disponíveis

CategoriaNome da FerramentaDescriçãoBackend
Pesquisa Acadêmicaapaper_search_iacr_papersBuscar artigos acadêmicos no arquivo IACR ePrintAPaper
apaper_download_iacr_paperBaixar PDF de um artigo IACR ePrintAPaper
apaper_read_iacr_paperLer e extrair conteúdo de texto de um PDF de artigo IACR ePrintAPaper
Busca Bibliográficaapaper_search_dblp_papersBuscar no banco de dados bibliográfico de ciência da computação DBLPAPaper
Busca Multiplataformaapaper_search_google_scholar_papersBuscar artigos acadêmicos entre disciplinas com dados de citaçãoAPaper
Busca na Webqwen_search_web_searchBuscar na web usando a API Qwen/DashscopeQwen Search
Repositório GitHubgithub-repo-mcp_getRepoAllDirectoriesObter todos os diretórios de um repositório GitHubGitHub-Repo-MCP
github-repo-mcp_getRepoDirectoriesObter diretórios de um caminho específico no repositório GitHubGitHub-Repo-MCP
github-repo-mcp_getRepoFileObter conteúdo de arquivo do repositório GitHubGitHub-Repo-MCP

Todas as ferramentas são implementadas usando decoradores FastMCP com registro automático, validação integrada e tratamento aprimorado de erros.

Início Rápido

Pré-requisitos

  • Python 3.10 ou superior
  • pipx para instalação de pacotes Python
  • npx para o MCP Inspector (Node.js necessário)

Integração com Clientes MCP

Adicione os servidores à configuração do seu cliente MCP:

Configuração do VSCode (.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"
      }
    }
  }
}

Configuração do Claude Code (.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"
      }
    }
  }
}

Opções do Servidor

O servidor proxy principal suporta múltiplos backends MCP através de variáveis de ambiente:

# 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

Nota: Se você tiver o pacote instalado globalmente, também pode executar diretamente: all-in-mcp ou qwen-search

Depuração e Testes

MCP Inspector

Use o MCP Inspector oficial para depurar e testar a funcionalidade do servidor:

# 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

Desenvolvimento Local com uv

Ao desenvolver localmente, use uv run para depurar funções MCP específicas:

# 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

O MCP Inspector fornece:

  • 🔍 Teste Interativo de Ferramentas: Teste todas as ferramentas disponíveis com parâmetros reais
  • 📊 Informações do Servidor: Visualize as capacidades do servidor e os esquemas das ferramentas
  • 🐛 Mensagens de Depuração: Monitore a comunicação do servidor e mensagens de erro
  • ⚡ Testes em Tempo Real: Execute ferramentas e veja os resultados imediatamente

Perfeito para desenvolvimento, depuração e compreensão de como as ferramentas FastMCP funcionam.

Desenvolvimento

Para configuração de desenvolvimento e diretrizes de contribuição, consulte o Guia de Desenvolvimento.

Configuração Rápida de Desenvolvimento

# 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