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:
- Visita API de Semantic Scholar
- 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
-
search_paper - Busca artículos
- Requerido:
query(términos de búsqueda) - Opcional:
fields,limit,offset,year,fieldsOfStudy,openAccessPdf
- Requerido:
-
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)
- Requerido:
-
get_authors - Obtén información de autores para un artículo
- Requerido:
paper_id - Opcional:
fields,limit,offset
- Requerido:
-
get_citation - Genera citas formateadas
- Requerido:
paper_id - Opcional:
format(bibtex, apa, mla, chicago)
- Requerido:
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ículotitle- Título del artículoabstract- Resumen del artículoyear- Año de publicaciónpublicationDate- Fecha completa de publicación
Información de autores:
authors- Lista de autores (devuelveauthorIdynamepor defecto)authors.authorId- Identificador único del autorauthors.name- Nombre del autorauthors.affiliations- Afiliaciones institucionales del autorauthors.citationCount- Recuento total de citas del autorauthors.hIndex- Índice h del autor
Datos de citas y referencias:
citationCount- Número de veces que se ha citado este artículoreferenceCount- Número de referencias en este artículocitations- Lista de artículos que citan este artículoreferences- 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ónpublicationTypes- 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 DigitalarxivId- Identificador de ArXivurl- URL del artículoopenAccessPdf- Información del PDF de acceso abiertoembedding- Vectores de incrustación del artículo (para análisis de similitud)
Campos de autores (para get_authors)
authorId- Identificador único del autorname- Nombre del autoraffiliations- Afiliaciones institucionalescitationCount- Recuento total de citashIndex- Métrica de índice hpaperCount- Número de artículos publicadosurl- 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.