Access Semantic Scholar's academic paper database through their API.
A Model Context Protocol (MCP) server that provides access to Semantic Scholar's academic paper database through their API.
While the Semantic Scholar API can be used without authentication, having an API key provides higher rate limits. To get an API key:
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 serve
Or 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"
}
}
}
}
search_paper - Search for papers
query
(search terms)fields
, limit
, offset
, year
, fieldsOfStudy
, openAccessPdf
get_paper - Get detailed paper information
paper_id
(supports multiple ID types: DOI, ArXiv ID, S2 Paper ID, etc.)fields
(customize returned data, see: Field Customization)get_authors - Get author information for a paper
paper_id
fields
, limit
, offset
get_citation - Generate formatted citations
paper_id
format
(bibtex, apa, mla, chicago)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 bibtex
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.
Basic fields:
paperId
- Unique paper identifiertitle
- Paper titleabstract
- Paper abstractyear
- Publication yearpublicationDate
- Full publication dateAuthor information:
authors
- List of authors (returns authorId
and name
by 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-indexCitation 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 paperPublication 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 classificationsAdditional metadata:
doi
- Digital Object IdentifierarxivId
- ArXiv identifierurl
- Paper URLopenAccessPdf
- Open access PDF informationembedding
- Paper embedding vectors (for similarity analysis)authorId
- Unique author identifiername
- Author's nameaffiliations
- Institutional affiliationscitationCount
- Total citation counthIndex
- h-index metricpaperCount
- Number of papers publishedurl
- Author's profile URLGet 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"
uv sync
uv run pytest tests/
uv run ruff format .
uv run ruff check . --fix
uv run ty check
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
The API supports various paper identifier formats:
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.
This project uses the Semantic Scholar API to access academic paper data.
Provides comprehensive trademark information, including search, profile statistics, and status tracking.
Search across multiple email accounts using mxHERO's vector search service.
Provides semantic search across local files by creating vector embeddings from watched directories.
Perform conversational searches with the Perplexica AI-powered answer engine.
An MCP server that connects to Perplexity's Sonar API, enabling real-time web-wide research in conversational AI.
Search for train tickets on 12306, the official China Railway website.
A Model Context Protocol (MCP) server providing access to Google Programmable Search Engine (PSE) and Custom Search Engine (CSE).
An enhanced MCP server for SearXNG web searching, utilizing a category-aware web-search, web-scraping, and includes a date/time retrieval tool.
An MCP agent that integrates various search tools using the SearchAPI service. Requires SearchAPI and Google API keys.
Integrates the RSS3 API to query the Open Web.