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:

  1. Visite Semantic Scholar API
  2. 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

  1. search_paper - Busque artigos

    • Obrigatório: query (termos de busca)
    • Opcional: fields, limit, offset, year, fieldsOfStudy, openAccessPdf
  2. 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)
  3. get_authors - Obtenha informações do autor para um artigo

    • Obrigatório: paper_id
    • Opcional: fields, limit, offset
  4. get_citation - Gere citações formatadas

    • Obrigatório: paper_id
    • Opcional: format (bibtex, apa, mla, chicago)

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 artigo
  • title - Título do artigo
  • abstract - Resumo do artigo
  • year - Ano de publicação
  • publicationDate - Data completa de publicação

Informações do autor:

  • authors - Lista de autores (retorna authorId e name por padrão)
  • authors.authorId - Identificador único do autor
  • authors.name - Nome do autor
  • authors.affiliations - Afiliações institucionais do autor
  • authors.citationCount - Contagem total de citações do autor
  • authors.hIndex - Índice h do autor

Dados de citação e referência:

  • citationCount - Número de vezes que este artigo foi citado
  • referenceCount - Número de referências neste artigo
  • citations - Lista de artigos que citam este artigo
  • references - 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ção
  • publicationTypes - 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 Identifier
  • arxivId - Identificador ArXiv
  • url - URL do artigo
  • openAccessPdf - Informações do PDF de acesso aberto
  • embedding - Vetores de incorporação do artigo (para análise de similaridade)

Campos do Autor (para get_authors)

  • authorId - Identificador único do autor
  • name - Nome do autor
  • affiliations - Afiliações institucionais
  • citationCount - Contagem total de citações
  • hIndex - Métrica do índice h
  • paperCount - Número de artigos publicados
  • url - 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.