Semantic Scholar

Accede a la base de datos de artículos académicos de Semantic Scholar a través de su API.

Documentación

Servidor MCP de Semantic Scholar

Nota: Existe una alternativa CLI ligera disponible en semantic-scholar-cli. Está diseñada para flujos de trabajo de uso de herramientas LLM con entradas tipadas estrictas, envolturas JSON estables y cargas útiles predeterminadas pequeñas, utilizable sin un servidor MCP.

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a la base de datos de artículos académicos de Semantic Scholar a través de su API.

Características

  • Búsqueda de artículos: Busca artículos académicos con filtros por año, campos de estudio y acceso abierto
  • Detalles de artículos: Obtén información completa sobre artículos específicos, incluidos resúmenes, autores y recuentos de citas
  • Información de autores: Recupera datos detallados de autores, incluidas afiliaciones, índice h y métricas de citas
  • Exportación de citas: Genera citas en múltiples formatos (BibTeX, APA, MLA, Chicago)

Uso

Obtener una clave de API

Aunque la API de Semantic Scholar se puede usar sin autenticación, tener una clave de API proporciona límites de velocidad más altos. Para obtener una clave de API:

  1. Visita API de Semantic Scholar
  2. Solicita una clave de API

Añadir a la configuración de Claude Code

Ejecuta el siguiente comando para añadir el servidor MCP de Semantic Scholar a tu configuración de Claude Code a nivel de proyecto:

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

O añádelo manualmente a tu archivo de configuración .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"
      }
    }
  }
}

Herramientas disponibles

  1. search_paper - Busca artículos

    • Requerido: query (términos de búsqueda)
    • Opcional: fields, limit, offset, year, fieldsOfStudy, openAccessPdf
  2. get_paper - Obtén información detallada de un artículo

    • Requerido: paper_id (admite múltiples tipos de ID: DOI, ID de ArXiv, ID de papel S2, etc.)
    • Opcional: fields (personaliza los datos devueltos, consulta: Personalización de campos)
  3. get_authors - Obtén información de autores para un artículo

    • Requerido: paper_id
    • Opcional: fields, limit, offset
  4. get_citation - Genera citas formateadas

    • Requerido: paper_id
    • Opcional: format (bibtex, apa, mla, chicago)

Ejemplos de CLI

Buscar artículos:

semantic-scholar-mcp tools search_paper "machine learning" --limit 5 --year "2020-2023"

Obtener detalles de un artículo:

semantic-scholar-mcp tools get_paper "10.1038/nature12373"

Obtener autores de un artículo:

semantic-scholar-mcp tools get_authors "649def34f8be52c8b66281af98ae884c09aef38b"

Generar cita BibTeX:

semantic-scholar-mcp tools get_citation "649def34f8be52c8b66281af98ae884c09aef38b" --format bibtex

Personalización de campos

Todas las herramientas admiten un parámetro fields para personalizar los datos devueltos. Esto te permite solicitar solo la información que necesitas, reduciendo el tamaño de la respuesta y mejorando el rendimiento.

Campos de artículos (para search_paper y get_paper)

Campos básicos:

  • paperId - Identificador único del artículo
  • title - Título del artículo
  • abstract - Resumen del artículo
  • year - Año de publicación
  • publicationDate - Fecha completa de publicación

Información de autores:

  • authors - Lista de autores (devuelve authorId y name por defecto)
  • authors.authorId - Identificador único del autor
  • authors.name - Nombre del autor
  • authors.affiliations - Afiliaciones institucionales del autor
  • authors.citationCount - Recuento total de citas del autor
  • authors.hIndex - Índice h del autor

Datos de citas y referencias:

  • citationCount - Número de veces que se ha citado este artículo
  • referenceCount - Número de referencias en este artículo
  • citations - Lista de artículos que citan este artículo
  • references - Lista de artículos referenciados por este artículo

Detalles de publicación:

  • journal - Información de la revista (nombre, volumen, páginas, etc.)
  • venue - Lugar de publicación
  • publicationTypes - Tipos de publicación (por ejemplo, JournalArticle, Conference)
  • fieldsOfStudy - Campos académicos (por ejemplo, Ciencias de la Computación, Medicina)
  • s2FieldsOfStudy - Clasificaciones de campos de Semantic Scholar

Metadatos adicionales:

  • doi - Identificador de Objeto Digital
  • arxivId - Identificador de ArXiv
  • url - URL del artículo
  • openAccessPdf - Información del PDF de acceso abierto
  • embedding - Vectores de incrustación del artículo (para análisis de similitud)

Campos de autores (para get_authors)

  • authorId - Identificador único del autor
  • name - Nombre del autor
  • affiliations - Afiliaciones institucionales
  • citationCount - Recuento total de citas
  • hIndex - Métrica de índice h
  • paperCount - Número de artículos publicados
  • url - URL del perfil del autor

Ejemplo de uso de campos

Obtener información básica de un artículo:

semantic-scholar-mcp tools search_paper "machine learning" --fields "paperId,title,year,citationCount"

Obtener artículo detallado con afiliaciones de autores:

semantic-scholar-mcp tools get_paper "10.1038/nature12373" --fields "title,abstract,authors.name,authors.affiliations,journal,year"

Obtener información completa de un autor:

semantic-scholar-mcp tools get_authors "649def34f8be52c8b66281af98ae884c09aef38b" --fields "authorId,name,affiliations,citationCount,hIndex,paperCount"

Desarrollo

Configuración del entorno de desarrollo

uv sync

uv run pytest tests/
uv run ruff format .
uv run ruff check . --fix
uv run ty check

Estructura del proyecto

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

Límites de velocidad de la API

  • Sin clave de API: 100 solicitudes por 5 minutos
  • Con clave de API: 1 solicitud por segundo (límites más altos disponibles bajo solicitud)

Tipos de ID de artículo admitidos

La API admite varios formatos de identificador de artículo:

  • ID de Semantic Scholar (por ejemplo, "649def34f8be52c8b66281af98ae884c09aef38b")
  • DOI (por ejemplo, "10.1038/nature12373")
  • ID de ArXiv (por ejemplo, "arXiv:2106.15928")
  • ID de MAG
  • ID de ACL
  • ID de PubMed
  • ID de Corpus

Licencia

Licencia MIT

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción.

Agradecimientos

Este proyecto utiliza la API de Semantic Scholar para acceder a datos de artículos académicos.