Academic Search MCP
Enables searching academic literature via Semantic Scholar with relevance filters, batch metadata retrieval, and citation-graph recommendations.
README
Academic Search MCP Server
A Model Context Protocol (MCP) server that lets Claude Code (or any MCP client) search academic literature through the Semantic Scholar API. It is built for research workflows: relevance search with filters, batch metadata retrieval, and citation-graph recommendations.
This is a modified fork of afrise/academic-search-mcp-server.
The server was rewritten on top of the official semanticscholar
Python library and extended with batch and recommendation tools, bounded retry on rate limits, and
clearer error handling. See Changes from upstream below.
Tools
| Tool | What it does |
|---|---|
search_papers |
Relevance search with optional filters: year, fields_of_study, min_citation_count, venue, open_access_pdf. |
search_by_topic |
Same as search_papers, with a year_start/year_end range (kept for backward compatibility). |
fetch_paper_details |
Full metadata for a single paper by Semantic Scholar ID, DOI, or arXiv ID. |
get_papers_batch |
Details for up to 500 papers in one request — far cheaper than looping fetch_paper_details under the 1 req/sec limit. |
recommend_papers |
Citation-graph recommendations from seed paper IDs (positive_paper_ids, optional negative_paper_ids). Surfaces structurally similar work that keyword search misses. |
Each tool returns a formatted text block per paper: ID, title, authors, year, DOI, venue, citation count, fields of study, open-access status, PDF URL, abstract, and TL;DR when available.
Requirements
- Python 3.10+
- uv (recommended) — or plain
pip - A Semantic Scholar API key is optional (see below)
Install
git clone https://github.com/ociupitu/academic-search-mcp.git
cd academic-search-mcp
uv sync # creates .venv and installs dependencies from uv.lock
Prefer pip? pip install -e . inside a virtual environment works too.
API key (optional)
The server reads SEMANTIC_SCHOLAR_API_KEY from the environment, but it is optional:
- Without a key — requests go through Semantic Scholar's shared anonymous pool. It works, but
you are more likely to hit
HTTP 429rate limiting during busy periods. - With a free key — you get your own quota. Register at
https://www.semanticscholar.org/product/api and set the variable (the
.mcp.jsonexample below wires it in).
Either way the server keeps requests sequential and does a short bounded retry on a 429, then
returns a readable Error: string rather than hanging or silently returning "no results".
Use with Claude Code
Add the server to your client's MCP config (for Claude Code, a .mcp.json in your project root).
Point --directory at wherever you cloned this repo, and use an absolute path:
{
"mcpServers": {
"academic-search": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/absolute/path/to/academic-search-mcp", "server.py"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Leave the env block out entirely to run keyless. Restart your MCP client after editing the config.
Changes from upstream
- Rewritten on the official
semanticscholarlibrary instead of hand-rolledhttpxcalls. - Added
get_papers_batch(batch details) andrecommend_papers(citation-graph recommendations). - Added search filters:
fields_of_study,min_citation_count,venue,open_access_pdf, and a flexibleyearrange. - Fail-fast client (
retry=False) plus a bounded in-server retry on 429, so a throttle recovers in seconds or returns a clean error instead of blocking for minutes. - Dropped the Crossref path; Semantic Scholar is the single source.
License
AGPL-3.0, inherited from the upstream project. See LICENSE. If you redistribute or run a modified version as a network service, the AGPL's source-availability terms apply.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.