
Semantic Scholar
β 10from FujishigeTemma
Access Semantic Scholar's academic paper database through their API.
Semantic Scholar MCP Server
Note: A lightweight CLI alternative is available at
semantic-scholar-cli. It is designed for LLM tool-use workflows with strict typed inputs, stable JSON envelopes, and small default payloads β usable without an MCP server.
A Model Context Protocol (MCP) server that provides access to Semantic Scholar's academic paper database through their API.
Features
- Paper Search: Search for academic papers with filters for year, fields of study, and open access
- Paper Details: Get comprehensive information about specific papers including abstracts, authors, and citation counts
- Author Information: Retrieve detailed author data including affiliations, h-index, and citation metrics
- Citation Export: Generate citations in multiple formats (BibTeX, APA, MLA, Chicago)
Available Tools
-
search_paper - Search for papers
- Required:
query(search terms) - Optional:
fields,limit,offset,year,fieldsOfStudy,openAccessPdf
- Required:
-
get_paper - Get detailed paper information
- Required:
paper_id(supports multiple ID types: DOI, ArXiv ID, S2 Paper ID, etc.) - Optional:
fields(customize returned data, see: Field Customization)
- Required:
-
get_authors - Get author information for a paper
- Required:
paper_id - Optional:
fields,limit,offset
- Required:
-
get_citation - Generate formatted citations
- Required:
paper_id - Optional:
format(bibtex, apa, mla, chicago)
- Required:
CLI Examples
Search for papers:
semantic-scholar-mcp tools search_paper "machine learning" --limit 5 --year "2020-2023"Get paper details:
semantic-scholar-mcp tools get_paper "10.1038/nature12373"Get authors for a paper:
semantic-scholar-mcp tools get_authors "649def34f8be52c8b66281af98ae884c09aef38b"Generate BibTeX citation:
semantic-scholar-mcp tools get_citation "649def34f8be52c8b66281af98ae884c09aef38b" --format bibtexField Customization
All tools support a fields parameter to customize the returned data. This allows you to request only the information you need, reducing response size and improving performance.
Paper Fields (for search_paper and get_paper)
Basic fields:
paperId- Unique paper identifiertitle- Paper titleabstract- Paper abstractyear- Publication yearpublicationDate- Full publication date
Author information:
authors- List of authors (returnsauthorIdandnameby default)authors.authorId- Author's unique identifierauthors.name- Author's nameauthors.affiliations- Author's institutional affiliationsauthors.citationCount- Author's total citation countauthors.hIndex- Author's h-index
Citation and reference data:
citationCount- Number of times this paper has been citedreferenceCount- Number of references in this papercitations- List of papers that cite this paperreferences- List of papers referenced by this paper
Publication details:
journal- Journal information (name, volume, pages, etc.)venue- Publication venuepublicationTypes- Types of publication (e.g., JournalArticle, Conference)fieldsOfStudy- Academic fields (e.g., Computer Science, Medicine)s2FieldsOfStudy- Semantic Scholar's field classifications
Additional metadata:
doi- Digital Object IdentifierarxivId- ArXiv identifierurl- Paper URLopenAccessPdf- Open access PDF informationembedding- Paper embedding vectors (for similarity analysis)
Author Fields (for get_authors)
authorId- Unique author identifiername- Author's nameaffiliations- Institutional affiliationscitationCount- Total citation counthIndex- h-index metricpaperCount- Number of papers publishedurl- Author's profile URL
Example Field Usage
Get basic paper information:
semantic-scholar-mcp tools search_paper "machine learning" --fields "paperId,title,year,citationCount"Get detailed paper with author affiliations:
semantic-scholar-mcp tools get_paper "10.1038/nature12373" --fields "title,abstract,authors.name,authors.affiliations,journal,year"Get comprehensive author information:
semantic-scholar-mcp tools get_authors "649def34f8be52c8b66281af98ae884c09aef38b" --fields "authorId,name,affiliations,citationCount,hIndex,paperCount"Development
Setting up the development environment
uv sync
uv run pytest tests/
uv run ruff format .
uv run ruff check . --fix
uv run ty checkProject Structure
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 fileAPI Rate Limits
- Without API key: 100 requests per 5 minutes
- With API key: 1 request per second (higher limits available on request)
Supported Paper ID Types
The API supports various paper identifier formats:
- Semantic Scholar ID (e.g., "649def34f8be52c8b66281af98ae884c09aef38b")
- DOI (e.g., "10.1038/nature12373")
- ArXiv ID (e.g., "arXiv:2106.15928")
- MAG ID
- ACL ID
- PubMed ID
- Corpus ID
License
MIT License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Acknowledgments
This project uses the Semantic Scholar API to access academic paper data.
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 serveBefore it works, you'll need: SEMANTIC_SCHOLAR_API_KEY
Usage
Get API Key
While the Semantic Scholar API can be used without authentication, having an API key provides higher rate limits. To get an API key:
- Visit Semantic Scholar API
- Request an API key
Add to Claude Code configuration
Run the following command to add the Semantic Scholar MCP server to your project-scope Claude Code configuration:
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 serveOr manually add it to your .mcp.json configuration file:
{
"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"
}
}
}
}No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.