Paperplain MCP
MCP server that gives any AI agent access to 200M+ peer-reviewed papers from PubMed, ArXiv, and Semantic Scholar. Free. No API key.
Ask AI about Paperplain MCP
Powered by Claude Β· Grounded in docs
I know everything about Paperplain MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
PaperPlain MCP

Web search gives your agent links. PaperPlain gives it science.
Give any AI agent instant access to 200M+ peer-reviewed papers from PubMed, ArXiv, and Semantic Scholar β structured, verifiable, and ready for reasoning.
Free. No API key. No account. No backend.
Why not just use web search?
| Web Search | PaperPlain MCP |
|---|---|
| Snippets, SEO noise, blogs | Full abstracts, peer-reviewed only |
| Returns URLs to scrape | Structured JSON ready for reasoning |
| Can hallucinate or misattribute sources | Real DOIs, real PMIDs β verifiable |
| Search engines block bots | PubMed/ArXiv/S2 built for programmatic access |
| No quality signal | Citation counts included |
| Mixed sources, no routing | Health β PubMed, CS/AI β ArXiv, general β all three |
Install
npx -y paperplain-mcp
Setup
Add to your MCP config file:
{
"mcpServers": {
"paperplain": {
"command": "npx",
"args": ["-y", "paperplain-mcp"]
}
}
}
Restart your client. That's it.
PaperPlain works with any local MCP-compatible client β Claude Desktop, Cursor, Windsurf, Claude Code, VS Code, or any agent that supports stdio MCP servers. It does not support Claude.ai web chat, which requires remote HTTP-based MCP servers.
Limitations
PaperPlain uses free public APIs β no backend, no cost. The trade-off is rate limits imposed by each source:
- PubMed β generous, rarely an issue for normal agent usage
- ArXiv β strict under parallel load; PaperPlain falls back to Semantic Scholar's ARXIV: endpoint automatically
- Semantic Scholar β ~1 req/s unauthenticated; most likely to cause 429s in batch workflows
When a source is rate-limited, search_research returns a warnings field explaining which source failed and why. find_paper_by_title returns a plain-text error the agent can relay to the user.
Optional: Semantic Scholar API key
For heavy usage (automated research workflows, batch fetches), you can add a free S2 API key to raise the rate limit from ~1 req/s to 100 req/s.
- Request a key at semanticscholar.org/product/api (free, approved within a day)
- Add it to your MCP config:
{
"mcpServers": {
"paperplain": {
"command": "npx",
"args": ["-y", "paperplain-mcp"],
"env": {
"S2_API_KEY": "your-key-here"
}
}
}
}
Zero-config users are unaffected β the key is entirely optional.
Tools
search_research
Search PubMed, ArXiv, and Semantic Scholar for peer-reviewed papers. Auto-routes based on topic β health queries go to PubMed + S2, CS/AI queries go to ArXiv + S2, everything else hits all three.
query Natural language question or topic
max_results 1β10 papers (default: 5)
domain "auto" | "health" | "cs" | "general"
Returns papers with title, authors, abstract, published date, URL, DOI, citation count, and a source_status field so your agent knows if any database was unavailable.
fetch_paper
Fetch full metadata and abstract for a specific paper. Supports:
- ArXiv IDs β
"2301.07041","arxiv:2301.07041v2","https://arxiv.org/abs/2301.07041" - PubMed IDs β
"pubmed:37183813"or just"37183813" - DOIs β
"10.1145/3290605.3300857"or"doi:10.1145/3290605.3300857"(resolved via Semantic Scholar)
Falls back to Semantic Scholar's ARXIV: endpoint when the ArXiv API is rate-limited.
find_paper_by_title
Find a specific paper when you only know its title. Uses Semantic Scholar's title-match search and returns the closest result.
title Full or partial paper title, e.g. "Attention Is All You Need"
year Publication year to narrow the match (optional)
Useful for verifying a citation or retrieving an abstract when you have no ID or DOI.
How it works
- Agent calls
search_research("agentic AI for home energy management") - PaperPlain classifies the domain (CS/AI) and routes to ArXiv + Semantic Scholar
- Returns structured JSON β full abstracts, authors, dates, DOIs, citation counts
- Agent's LLM synthesizes findings from the returned context β no black-box summaries
No LLM calls on our side. No cost. No rate limits beyond what PubMed, ArXiv, and Semantic Scholar impose.
Example output
{
"query": "attention mechanism transformer architecture",
"domain": "cs",
"source_status": { "arxiv": "ok", "semanticscholar": "ok" },
"total": 5,
"papers": [
{
"id": "arxiv:1706.03762",
"source": "arxiv",
"title": "Attention Is All You Need",
"authors": ["Ashish Vaswani", "Noam Shazeer", "Niki Parmar", "Jakob Uszkoreit"],
"published": "2017-06-12",
"abstract": "The dominant sequence transduction models are based on complex recurrent or convolutional neural networks...",
"url": "https://arxiv.org/abs/1706.03762",
"citations": 120000
}
]
}
Self-host
git clone https://github.com/sulmatajb/paperplain-mcp
cd paperplain-mcp
npm install
node server.js
License
MIT β do whatever you want with it.
