Academia MCP
Pesquise publicações científicas em ArXiv, ACL Anthology, HuggingFace Datasets e Semantic Scholar.
Documentação
Academia MCP
Servidor MCP com ferramentas para pesquisar, buscar, analisar e gerar relatórios sobre artigos científicos e conjuntos de dados.
Funcionalidades
- Pesquisa e download no ArXiv
- Pesquisa no ACL Anthology
- Pesquisa em conjuntos de dados do Hugging Face
- Citações e referências do Semantic Scholar
- Pesquisa na web via Exa, Brave ou Tavily
- Rastreador de páginas web, compilação LaTeX, leitura de PDF
- Ferramentas opcionais com LLM para QA de documentos e fluxos de trabalho de propostas de pesquisa
Requisitos
- Python 3.12+
Instalação
- Usando pip (usuários finais):
pip3 install academia-mcp
- Para desenvolvimento (uv + Makefile):
uv venv .venv
make install
Início rápido
- Executar via HTTP (transporte padrão):
python -m academia_mcp --transport streamable-http
# OR
uv run -m academia_mcp --transport streamable-http
- Executar via stdio (para clientes MCP locais como Claude Desktop):
python -m academia_mcp --transport stdio
# OR
uv run -m academia_mcp --transport stdio
Notas:
- Transportes:
stdio,sse,streamable-http. host/portsão usados para transportes HTTP; ignorados parastdio. A porta padrão é5056(ouPORT).
Autenticação
O Academia MCP suporta autenticação opcional baseada em token para transportes HTTP (streamable-http e sse). A autenticação está desabilitada por padrão para manter a compatibilidade com versões anteriores.
Habilitando a Autenticação
Defina a variável de ambiente ENABLE_AUTH para true:
export ENABLE_AUTH=true
export TOKENS_FILE=/path/to/tokens.json # Optional, defaults to ./tokens.json
Gerenciando Tokens
Emita um novo token:
academia_mcp auth issue-token --client-id=my-client --description="Production API client"
# Issue token with 30-day expiration
academia_mcp auth issue-token --client-id=test-client --expires-days=30
# Issue token with custom scopes
academia_mcp auth issue-token --client-id=admin --scopes="read,write,admin"
Liste tokens ativos:
academia_mcp auth list-tokens
Revogue um token:
academia_mcp auth revoke-token mcp_a1b2c3d4e5f6...
Usando Tokens
Inclua o token no cabeçalho Authorization com o esquema Bearer ou como parâmetro de consulta apiKey.
Notas de Segurança:
- Os tokens são exibidos apenas uma vez durante a emissão. Armazene-os com segurança.
- Use HTTPS em produção para proteger os tokens em trânsito.
- O arquivo
tokens.jsoné criado automaticamente com permissões restritivas (modo 600). - Os tokens são armazenados em texto simples (prática padrão para tokens de portador) - proteja o arquivo de tokens.
Configuração do Claude Desktop
{
"mcpServers": {
"academia": {
"command": "python3",
"args": [
"-m",
"academia_mcp",
"--transport",
"stdio"
]
}
}
}
Ferramentas disponíveis (resumo)
arxiv_search: Consultar o arXiv com consultas e filtros específicos de campo.arxiv_download: Buscar um artigo por ID e converter para texto estruturado (modos HTML/PDF).anthology_search: Pesquisar no ACL Anthology com consultas por campo e filtro de data opcional.hf_datasets_search: Encontrar conjuntos de dados do Hugging Face com filtros e ordenação.s2_get_citations: Listar artigos que citam um determinado artigo do arXiv (Semantic Scholar Graph).s2_get_references: Listar artigos referenciados por um determinado artigo do arXiv.visit_webpage: Buscar e normalizar uma página web.web_search: Wrapper de pesquisa unificado; disponível quando pelo menos uma das chaves Exa/Brave/Tavily está definida.exa_web_search,brave_web_search,tavily_web_search: Pesquisa específica do provedor.get_latex_templates_list,get_latex_template: Enumerar e buscar modelos LaTeX integrados.compile_latex: Compilar LaTeX para PDF emWORKSPACE_DIR.read_pdf: Extrair texto por página de um PDF.download_pdf_paper,review_pdf_paper: Baixar e opcionalmente revisar PDFs (requer LLM + workspace).document_qa: Responder perguntas sobre trechos de documentos fornecidos (requer LLM).extract_bitflip_info,generate_research_proposals,score_research_proposals: Auxiliares de propostas de pesquisa (requer LLM).
Notas de disponibilidade:
- Defina
WORKSPACE_DIRpara habilitarcompile_latex,read_pdf,download_pdf_paperereview_pdf_paper. - Defina
OPENROUTER_API_KEYpara habilitar ferramentas LLM (document_qa,review_pdf_papere ferramentas bitflip). - Defina uma ou mais de
EXA_API_KEY,BRAVE_API_KEY,TAVILY_API_KEYpara habilitarweb_searche ferramentas do provedor.
Variáveis de ambiente
Defina conforme necessário, dependendo de quais ferramentas você usa:
OPENROUTER_API_KEY: obrigatório para ferramentas relacionadas a LLM.BASE_URL: substituir a URL base do OpenRouter.DOCUMENT_QA_MODEL_NAME: substituir o modelo padrão paradocument_qa.BITFLIP_MODEL_NAME: substituir o modelo padrão para ferramentas bitflip.TAVILY_API_KEY: habilita Tavily emweb_search.EXA_API_KEY: habilita Exa emweb_searchevisit_webpage.BRAVE_API_KEY: habilita Brave emweb_search.WORKSPACE_DIR: diretório para arquivos gerados (PDFs, artefatos temporários).PORT: porta HTTP (padrão5056).
Você pode colocá-los em um arquivo .env na raiz do projeto.
Docker
Construa a imagem:
docker build -t academia_mcp .
Execute o servidor (HTTP):
docker run --rm -p 5056:5056 \
-e PORT=5056 \
-e OPENROUTER_API_KEY=your_key_here \
-e WORKSPACE_DIR=/workspace \
-v "$PWD/workdir:/workspace" \
academia_mcp
Ou use a imagem existente: phoenix120/academia_mcp
Exemplos
Alvos do Makefile
make install: instalar o pacote em modo editável com uvmake validate: executar black, flake8 e mypy (estrito)make test: executar a suíte de testes com pytestmake publish: construir e publicar usando uv
Requisitos LaTeX/PDF
Necessário apenas para ferramentas LaTeX/PDF. Certifique-se de que uma distribuição LaTeX esteja instalada e que pdflatex esteja no PATH, assim como latexmk. No Debian/Ubuntu:
sudo apt install texlive-latex-base texlive-fonts-recommended texlive-latex-extra texlive-science latexmk