Semantic Scholar
Acesse o banco de dados de artigos acadêmicos do Semantic Scholar através da API deles.
Documentação
Servidor MCP Semantic Scholar
Nota: Uma alternativa CLI leve está disponível em
semantic-scholar-cli. Ela foi projetada para fluxos de trabalho de uso de ferramentas LLM com entradas estritamente tipadas, envelopes JSON estáveis e pequenos payloads padrão — utilizável sem um servidor MCP.
Um servidor Model Context Protocol (MCP) que fornece acesso ao banco de dados de artigos acadêmicos do Semantic Scholar por meio de sua API.
Recursos
- Busca de Artigos: Busque artigos acadêmicos com filtros por ano, áreas de estudo e acesso aberto
- Detalhes do Artigo: Obtenha informações abrangentes sobre artigos específicos, incluindo resumos, autores e contagens de citações
- Informações do Autor: Recupere dados detalhados do autor, incluindo afiliações, índice h e métricas de citação
- Exportação de Citações: Gere citações em vários formatos (BibTeX, APA, MLA, Chicago)
Uso
Obter Chave de API
Embora a API do Semantic Scholar possa ser usada sem autenticação, ter uma chave de API proporciona limites de taxa mais altos. Para obter uma chave de API:
- Visite Semantic Scholar API
- Solicite uma chave de API
Adicionar à configuração do Claude Code
Execute o seguinte comando para adicionar o servidor MCP Semantic Scholar à configuração do Claude Code no escopo do seu projeto:
claude mcp add semantic-scholar-mcp -s project -e SEMANTIC_SCHOLAR_API_KEY="your-api-key-here" -- uv run --with "git+https://github.com/FujishigeTemma/semantic-scholar-mcp" semantic-scholar-mcp serve
Ou adicione manualmente ao seu arquivo de configuração .mcp.json:
{
"mcpServers": {
"semantic-scholar-mcp": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with",
"git+https://github.com/FujishigeTemma/semantic-scholar-mcp",
"semantic-scholar-mcp",
"serve"
],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your-api-key-here"
}
}
}
}
Ferramentas Disponíveis
-
search_paper - Busque artigos
- Obrigatório:
query(termos de busca) - Opcional:
fields,limit,offset,year,fieldsOfStudy,openAccessPdf
- Obrigatório:
-
get_paper - Obtenha informações detalhadas do artigo
- Obrigatório:
paper_id(suporta vários tipos de ID: DOI, ID ArXiv, ID S2 Paper, etc.) - Opcional:
fields(personalize os dados retornados, consulte: Personalização de Campos)
- Obrigatório:
-
get_authors - Obtenha informações do autor para um artigo
- Obrigatório:
paper_id - Opcional:
fields,limit,offset
- Obrigatório:
-
get_citation - Gere citações formatadas
- Obrigatório:
paper_id - Opcional:
format(bibtex, apa, mla, chicago)
- Obrigatório:
Exemplos de CLI
Busque artigos:
semantic-scholar-mcp tools search_paper "machine learning" --limit 5 --year "2020-2023"
Obtenha detalhes do artigo:
semantic-scholar-mcp tools get_paper "10.1038/nature12373"
Obtenha autores para um artigo:
semantic-scholar-mcp tools get_authors "649def34f8be52c8b66281af98ae884c09aef38b"
Gere citação BibTeX:
semantic-scholar-mcp tools get_citation "649def34f8be52c8b66281af98ae884c09aef38b" --format bibtex
Personalização de Campos
Todas as ferramentas suportam um parâmetro fields para personalizar os dados retornados. Isso permite que você solicite apenas as informações necessárias, reduzindo o tamanho da resposta e melhorando o desempenho.
Campos do Artigo (para search_paper e get_paper)
Campos básicos:
paperId- Identificador único do artigotitle- Título do artigoabstract- Resumo do artigoyear- Ano de publicaçãopublicationDate- Data completa de publicação
Informações do autor:
authors- Lista de autores (retornaauthorIdenamepor padrão)authors.authorId- Identificador único do autorauthors.name- Nome do autorauthors.affiliations- Afiliações institucionais do autorauthors.citationCount- Contagem total de citações do autorauthors.hIndex- Índice h do autor
Dados de citação e referência:
citationCount- Número de vezes que este artigo foi citadoreferenceCount- Número de referências neste artigocitations- Lista de artigos que citam este artigoreferences- Lista de artigos referenciados por este artigo
Detalhes da publicação:
journal- Informações do periódico (nome, volume, páginas, etc.)venue- Local de publicaçãopublicationTypes- Tipos de publicação (por exemplo, JournalArticle, Conference)fieldsOfStudy- Áreas acadêmicas (por exemplo, Ciência da Computação, Medicina)s2FieldsOfStudy- Classificações de campos do Semantic Scholar
Metadados adicionais:
doi- Digital Object IdentifierarxivId- Identificador ArXivurl- URL do artigoopenAccessPdf- Informações do PDF de acesso abertoembedding- Vetores de incorporação do artigo (para análise de similaridade)
Campos do Autor (para get_authors)
authorId- Identificador único do autorname- Nome do autoraffiliations- Afiliações institucionaiscitationCount- Contagem total de citaçõeshIndex- Métrica do índice hpaperCount- Número de artigos publicadosurl- URL do perfil do autor
Exemplo de Uso de Campos
Obtenha informações básicas do artigo:
semantic-scholar-mcp tools search_paper "machine learning" --fields "paperId,title,year,citationCount"
Obtenha artigo detalhado com afiliações do autor:
semantic-scholar-mcp tools get_paper "10.1038/nature12373" --fields "title,abstract,authors.name,authors.affiliations,journal,year"
Obtenha informações abrangentes do autor:
semantic-scholar-mcp tools get_authors "649def34f8be52c8b66281af98ae884c09aef38b" --fields "authorId,name,affiliations,citationCount,hIndex,paperCount"
Desenvolvimento
Configurando o ambiente de desenvolvimento
uv sync
uv run pytest tests/
uv run ruff format .
uv run ruff check . --fix
uv run ty check
Estrutura do Projeto
semantic-scholar-mcp/
src/
semantic_scholar_mcp/
__init__.py
server.py # Main server implementation
cli.py # CLI interface
tests/ # Test files
pyproject.toml # Project configuration
README.md # This file
Limites de Taxa da API
- Sem chave de API: 100 solicitações a cada 5 minutos
- Com chave de API: 1 solicitação por segundo (limites mais altos disponíveis mediante solicitação)
Tipos de ID de Artigo Suportados
A API suporta vários formatos de identificador de artigo:
- ID Semantic Scholar (por exemplo, "649def34f8be52c8b66281af98ae884c09aef38b")
- DOI (por exemplo, "10.1038/nature12373")
- ID ArXiv (por exemplo, "arXiv:2106.15928")
- ID MAG
- ID ACL
- ID PubMed
- ID Corpus
Licença
Licença MIT
Contribuições
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Agradecimentos
Este projeto usa a Semantic Scholar API para acessar dados de artigos acadêmicos.