ArXiv-MCP
Pesquise e recupere artigos acadêmicos do arXiv com base em palavras-chave.
Documentação
ArXiv-MCP: Busca de Artigos Acadêmicos para Agentes de IA
Uma implementação de servidor Model Context Protocol (MCP) que permite que agentes de IA pesquisem, recuperem e analisem artigos acadêmicos do arXiv, o popular repositório de acesso aberto de pré-impressões eletrônicas.
Visão Geral
Este projeto fornece um servidor MCP que permite que agentes de IA interajam com o repositório arXiv, pesquisem artigos com base em palavras-chave, recuperem informações detalhadas sobre artigos específicos e até extraiam e analisem o conteúdo dos artigos. Ele serve tanto como uma ferramenta prática para assistência de pesquisa quanto como uma implementação de referência para a construção de servidores MCP.
A implementação segue as melhores práticas estabelecidas para a construção de servidores MCP, permitindo integração perfeita com qualquer cliente compatível com MCP.
Recursos
O servidor fornece várias ferramentas poderosas para pesquisa acadêmica:
search_papers: Pesquisar artigos no arXiv usando palavras-chave e obter resumos abrangentesget_paper_details: Recuperar informações detalhadas sobre um artigo específico pelo seu ID arXivextract_paper_content: Baixar e extrair o conteúdo do texto completo do PDF de um artigoanalyze_paper: Analisar o conteúdo de um artigo e gerar um resumo abrangente
Pré-requisitos
- Python 3.11+
- Docker se estiver executando o servidor MCP como contêiner (recomendado)
Instalação
Usando uv
-
Instale o uv se você não o tiver:
pip install uv -
Clone este repositório:
git clone https://github.com/kelvingao/arxiv-mcp.git cd arxiv-mcp -
Instale as dependências:
uv pip install -e . -
Crie um arquivo
.envcom base em.env.example:cp .env.example .env -
Configure suas variáveis de ambiente no arquivo
.env(veja a seção Configuração)
Usando Docker (Recomendado)
-
Construa a imagem Docker:
docker build -t mcp/arxiv --build-arg PORT=8050 . -
Crie um arquivo
.envcom base em.env.examplee configure suas variáveis de ambiente
Configuração
As seguintes variáveis de ambiente podem ser configuradas no seu arquivo .env:
| Variável | Descrição | Exemplo |
|---|---|---|
TRANSPORT | Protocolo de transporte (sse ou stdio) | sse |
HOST | Host para vincular ao usar transporte SSE | 0.0.0.0 |
PORT | Porta para escutar ao usar transporte SSE | 8050 |
Executando o Servidor
Usando uv
Transporte SSE
# Set TRANSPORT=sse in .env then:
python src/server.py
O servidor MCP será executado como um endpoint de API ao qual você pode se conectar com a configuração mostrada abaixo.
Transporte Stdio
Com stdio, o próprio cliente MCP pode iniciar o servidor MCP, então não há nada para executar neste momento.
Usando Docker
Transporte SSE
docker run --env-file .env -p 8050:8050 mcp/arxiv
O servidor MCP será executado como um endpoint de API dentro do contêiner ao qual você pode se conectar com a configuração mostrada abaixo.
Transporte Stdio
Com stdio, o próprio cliente MCP pode iniciar o contêiner do servidor MCP, então não há nada para executar neste momento.
Integração com Clientes MCP
Configuração SSE
Depois de ter o servidor em execução com transporte SSE, você pode se conectar a ele usando esta configuração:
{
"mcpServers": {
"arxiv": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Nota para usuários do Windsurf: Use
serverUrlem vez deurlna sua configuração:{ "mcpServers": { "arxiv": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }
Nota para usuários do n8n: Use host.docker.internal em vez de localhost, pois o n8n precisa alcançar fora do seu próprio contêiner para a máquina host:
Portanto, a URL completa no nó MCP seria: http://host.docker.internal:8050/sse
Certifique-se de atualizar a porta se estiver usando um valor diferente do padrão 8050.
Python com Configuração Stdio
Adicione este servidor à sua configuração MCP para Claude Desktop, Windsurf ou qualquer outro cliente MCP:
{
"mcpServers": {
"arxiv": {
"command": "your/path/to/arxiv-mcp/.venv/bin/python",
"args": ["your/path/to/arxiv-mcp/src/main.py"],
"env": {
"TRANSPORT": "stdio"
}
}
}
}
Docker com Configuração Stdio
{
"mcpServers": {
"arxiv": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "TRANSPORT",
"mcp/arxiv"],
"env": {
"TRANSPORT": "stdio"
}
}
}
}
Exemplos de Uso
Aqui estão alguns exemplos de como usar o servidor MCP arXiv com um agente de IA:
Pesquisando Artigos
Find recent papers about quantum computing published in the last year.
Obtendo Detalhes do Artigo
Get details for the paper with arXiv ID 2303.08774
Extraindo Conteúdo do Artigo
Extract the full text from the paper with arXiv ID 2303.08774
Analisando um Artigo
Analyze the methodology section of the paper with arXiv ID 2303.08774
Construindo Seu Próprio Servidor MCP
Esta implementação fornece uma base para construir servidores MCP mais complexos. Para construir o seu próprio:
- Adicione suas próprias ferramentas criando métodos com o decorador
@mcp.tool() - Crie sua própria função de ciclo de vida para adicionar suas próprias dependências (clientes, conexões de banco de dados, etc.)
- Modifique as ferramentas existentes ou adicione novas para melhorar a funcionalidade
- Adicione prompts e recursos com
@mcp.resource()e@mcp.prompt()
Licença
Agradecimentos
- arXiv por fornecer acesso aberto a artigos de pesquisa
- A equipe do Model Context Protocol por criar o padrão MCP