semanticscholar-mcp-server
Allows interaction with Semantic Scholar's public APIs, providing tools for searching and retrieving academic papers, authors, citations, references, recommendations, and dataset releases.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@semanticscholar-mcp-serverFind recent open-access papers about retrieval-augmented generation."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Semantic Scholar MCP Server
An unofficial, community-maintained Model Context Protocol server for the public Semantic Scholar APIs.
It exposes the Academic Graph, Recommendations, and Datasets APIs to MCP clients over stdio. Version 2.0.0 provides 20 endpoint-aligned tools plus two backward-compatible tools.
This project is not affiliated with or endorsed by Semantic Scholar or the Allen Institute for AI. API availability, terms, and rate limits are controlled by Semantic Scholar.
Highlights
Broad API coverage: authors, papers, citations, references, full-text snippets, recommendations, and dataset releases.
No Semantic Scholar SDK dependency: the server uses a small asynchronous
httpxclient and depends only onmcpandhttpx.Native responses: endpoint-aligned tools preserve Semantic Scholar's JSON response shape instead of converting it into a reduced local model.
Explicit pagination: callers control offsets or continuation tokens; the server never silently crawls an unbounded result set.
Rate-limit aware: HTTP 429 and transient 5xx responses use
Retry-Afterwhen available and bounded exponential backoff otherwise.Installable distribution: run from source or install the release ZIP as a Python package with the
semanticscholar-mcpconsole entry point.Offline tests: the test suite uses an in-memory HTTP transport and does not consume Semantic Scholar API quota.
Related MCP server: McpDeepResearch
Requirements
Python 3.10 or later
An MCP client that supports stdio servers
Optional: a Semantic Scholar API key for a dedicated rate limit
Anonymous requests work for many endpoints, but they use a heavily shared rate limit.
Quick start
Install a release ZIP
python -m venv .venv
source .venv/bin/activate
python -m pip install ./semanticscholar-mcp-server-2.0.0.zipStart the installed stdio server:
semanticscholar-mcpInstall from a source checkout
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .You can then use the console entry point above or run the module directly:
python semantic_scholar_server.pyOn Windows PowerShell, activate the environment with .venv\Scripts\Activate.ps1.
MCP client configuration
After installing the package, configure your MCP client with the absolute path to the virtual environment's console script:
{
"mcpServers": {
"semanticscholar": {
"command": "/absolute/path/to/.venv/bin/semanticscholar-mcp",
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your-optional-api-key"
}
}
}
}For a source checkout without package installation:
{
"mcpServers": {
"semanticscholar": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/semantic_scholar_server.py"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your-optional-api-key"
}
}
}
}Do not commit an API key to an MCP configuration stored in a public repository. Prefer your client's secret or environment-variable mechanism when available.
Example requests
Once the server is connected, an MCP-capable assistant can handle requests such as:
“Find recent open-access papers about retrieval-augmented generation.”
“Resolve this DOI and return its references with citation contexts.”
“Recommend papers similar to these two papers but unlike this negative example.”
“Search full-text snippets for evidence about calibration in scientific QA.”
“List the datasets in the latest Semantic Scholar dataset release.”
The exact natural-language workflow depends on the MCP client. The server itself exposes typed tools rather than a chat interface.
Configuration
Environment variable | Default | Description |
| unset | Sent to Semantic Scholar as the |
|
| Request timeout in seconds. |
|
| Retries for HTTP 429 and transient 5xx responses. |
|
| API origin override, primarily for tests and compatible proxies. |
WhenSEMANTIC_SCHOLAR_API_URL is overridden, the API key is sent to that origin. Only use an endpoint you trust.
Tool catalog
Academic Graph API
MCP tool | REST operation |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Paper search exposes publication type, open-access, minimum citation count, publication date/year, venue, and field-of-study filters. Bulk search uses token pagination and supports sorting. Citation and reference tools can request citation contexts, intents, context/intent pairs, and influential-citation status.
Recommendations API
MCP tool | REST operation |
|
|
|
|
Single-paper recommendations support the recent and all-cs pools. Multi-paper recommendations accept positive and optional negative paper IDs. The API returns at most 500 recommendations per request.
Datasets API
MCP tool | REST operation |
|
|
|
|
|
|
|
|
Dataset tools return release metadata and temporary download URLs. They do not automatically download multi-gigabyte datasets. The identifier latest is accepted wherever the upstream API supports it.
Backward-compatible tools
Two tool names are retained for clients built against the original project:
MCP tool | Behavior |
| Returns only the paper result list from the first relevance-search request. |
| Returns the first page of both relationships. |
New integrations should use the endpoint-aligned search, citation, and reference tools because they expose filters, fields, and independent pagination.
Paper identifiers and response fields
Paper tools accept identifiers supported by Semantic Scholar, including:
Semantic Scholar paper ID
CorpusId:DOI:ARXIV:ACL:MAG:PMID:andPMCID:supported Semantic Scholar paper URLs
Most tools accept a fields list. Useful paper fields include abstract, authors, externalIds, openAccessPdf, tldr, journal, citationStyles, s2FieldsOfStudy, and embedding.
Default field sets are intentionally rich but exclude the large embedding vector. Request it explicitly when needed:
{
"paper_id": "ARXIV:2005.11401",
"fields": ["paperId", "title", "embedding"]
}Pagination, retries, and errors
Offset-paginated tools return only the requested page.
Bulk paper search returns the upstream continuation token; pass it back to request the next page.
The server honors
Retry-Afterfor throttled responses and otherwise uses bounded exponential backoff.Validation, upstream HTTP, and unexpected transport failures are returned as
{"error": "..."}so one failed request does not terminate the MCP server.A successful empty result is returned unchanged and is not converted into an error.
Semantic Scholar can change limits or schemas independently of this project. Consult the official API documentation when an upstream validation rule differs from the server's current defaults.
Security and data handling
Queries, identifiers, filters, and requested fields are sent to the configured Semantic Scholar API origin.
The API key is used only as the
x-api-keyrequest header.The server does not persist API responses, maintain a paper database, or automatically download dataset files.
Avoid placing secrets in prompts, search queries, logs, issues, or public MCP configuration files.
Dataset download URLs can be temporary and should be treated accordingly.
If you discover a security issue, do not publish credentials or exploit details in a public issue. Use the repository owner's private security-reporting channel; if none is listed, open a minimal issue requesting private contact without disclosing the vulnerability.
Development
Create a development environment and install the project in editable mode:
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .Run the complete test suite:
python -m unittest discover -vThe tests use httpx.MockTransport; they do not call the live Semantic Scholar API or consume rate-limit quota.
Project layout
semantic_scholar_api.py Async HTTP client, validation, retries, and API paths
semantic_scholar_server.py FastMCP server and 22 registered tools
tests/ Offline API and tool-registration tests
pyproject.toml Package metadata and console entry point
requirements.txt Minimal runtime dependenciesContribution guidelines
Contributions are welcome. A change should:
Preserve the upstream JSON response shape for endpoint-aligned tools.
Keep pagination explicit and bounded.
Add or update offline tests for endpoint paths, parameters, payloads, and tool registration.
Avoid adding a heavyweight API SDK when the direct client can support the operation clearly.
Never include API keys, generated bytecode, virtual environments, or large downloaded datasets.
Run
python -m unittest discover -vbefore opening a pull request.
For new upstream endpoints, update the client method, MCP tool, tool-registration test, and this catalog together.
API references
Project lineage
Version 2 is a substantial rewrite and expansion of JackKuo666/semanticscholar-MCP-Server. It replaces the original SDK-backed runtime with a direct asynchronous API client, expands coverage from four tools to 22, preserves native responses, and adds pagination, retry handling, tests, and packaging.
The two original high-level tool names listed under backward compatibility remain available so existing clients can migrate gradually. Repository history and this attribution are retained in recognition of the original work.
License
Distributed under the MIT License.
“Semantic Scholar” is used only to identify compatibility with the public service. This project does not claim ownership of the Semantic Scholar name, API, data, or trademarks.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA comprehensive Model Context Protocol server that provides AI assistants with direct access to Semantic Scholar's academic database, enabling advanced paper discovery, citation analysis, author research, and AI-powered recommendations.Last updated15
- Alicense-qualityDmaintenanceAn MCP server that enables academic research by searching Google Scholar, fetching paper content, and converting web pages to clean Markdown.Last updated1MIT
- FlicenseAqualityDmaintenanceAn MCP server that provides access to Semantic Scholar's academic paper database, enabling paper search, detailed retrieval, author info, and citation export.Last updated410
- AlicenseBqualityDmaintenanceMCP server that provides Semantic Scholar academic search capabilities, including paper search, detail query, citation analysis, author search, and intelligent recommendations.Last updated91127MIT
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Semantic Scholar Academic Graph MCP.
Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/XWang20/semanticscholar-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server