Semantic Scholar MCP Server — Claude Code MCP Server
Connects AI assistants to 200M+ academic papers on Semantic Scholar. It searches literature, traces citation networks, and pulls author details directly inside your coding client.
claude mcp add --env SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> --env SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS=<SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS> --transport stdio semantic-scholar-mcp-server -- uvx s2-mcp-serverWhat Semantic Scholar MCP Server does
This server exposes 14 tools to interact with the Semantic Scholar database. Assistants query literature, fetch recommendations, and map citation networks through get_paper. It pulls batches up to 500 papers and 1000 authors in one request. Full-text matches arrive via snippet_search.
The package inspects document identifiers before sending requests. It accepts seven common formats, such as DOI, ArXiv, PubMed IDs, Corpus IDs, ACL entries, and direct URLs. Every release includes SLSA provenance records alongside CycloneDX software bills of materials. Running it requires Python 3.10+.
Unauthenticated calls share a public pool that easily hits rate limits. Providing SEMANTIC_SCHOLAR_API_KEY secures an individual allocation. Keep in mind that introductory keys allow just 1 request per second across all endpoints.
What it helps with
- retrieve research papers and preprints using DOI, ArXiv, or PubMed IDs
- traverse reference lists and incoming citations in both directions
- fetch batch metadata for up to 500 papers or 1000 authors at once
- locate in-text paper mentions and surrounding context via
snippet_search
Example prompts for the agent
- Search Semantic Scholar for recent papers on transformer distillation and list their DOIs.
- Get citations and author details for ArXiv paper
2301.00001usingget_paper. - Use
snippet_searchto find mentions of quantization techniques across recent deep learning publications.
How to install Semantic Scholar MCP Server
Platform CLI
claude mcp add --env SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> --env SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS=<SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS> --transport stdio semantic-scholar-mcp-server -- uvx s2-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from s2-mcp-server <command>
Platform CLI
codex mcp add semantic-scholar-mcp-server --env SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> --env SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS=<SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS> -- uvx s2-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from s2-mcp-server <command>
Config file
{
"mcpServers": {
"semantic-scholar-mcp-server": {
"command": "uvx",
"args": [
"s2-mcp-server"
],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
"SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS": "<SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from s2-mcp-server <command>
Config file
{
"servers": {
"semantic-scholar-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"s2-mcp-server"
],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "<SEMANTIC_SCHOLAR_API_KEY>",
"SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS": "<SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from s2-mcp-server <command>
Platform CLI
gemini mcp add -e SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> -e SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS=<SEMANTIC_SCHOLAR_MIN_SECONDS_BETWEEN_REQUESTS> semantic-scholar-mcp-server uvx s2-mcp-serverReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from s2-mcp-server <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Semantic Scholar MCP Server
How do I install Semantic Scholar MCP Server in Claude Code?
Run claude mcp add semantic-scholar-mcp -e SEMANTIC_SCHOLAR_API_KEY=<SEMANTIC_SCHOLAR_API_KEY> -- uvx s2-mcp-server in your terminal.
What does Semantic Scholar MCP Server do?
It gives your coding agent direct access to over 200M papers through 14 MCP tools. The server handles paper queries, citation graphing, author lookups, and citation snippets.
Is an API key required to use this MCP server?
No, the server works without credentials against a shared unauthenticated pool. Adding SEMANTIC_SCHOLAR_API_KEY grants dedicated quota, which starts at 1 request per second for introductory keys.