paper-mcp
Provides tools to retrieve academic papers from arXiv, including preprint information and full text.
Provides tools to retrieve academic paper metadata, citations, and references from Semantic Scholar.
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., "@paper-mcpGet metadata for 'Attention Is All You Need'"
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.
📄 paper-mcp
An MCP server built with FastMCP that lets Claude (or any LLM) retrieve academic papers by title.
Run it in one command with uvx — no manual install needed.
✨ Features
5 tools, all taking paper_title as the only argument:
Tool | Returns |
| Title, authors, abstract, DOI, arXiv ID, citation count, TL;DR, OA status, fields of study |
| Best open-access PDF URL |
| Full plain text (up to 50,000 chars) |
| Up to 100 papers that cite this one |
| Up to 100 papers this one cites |
Data sources (priority order): Semantic Scholar → arXiv → Unpaywall → Lightpanda browser via gomcp
🚀 Quick Start
Run without installing (uvx)
# stdio mode — for Claude Desktop / most MCP clients
uvx paper-mcp
# SSE mode — for remote or multi-client setups
uvx paper-mcp --transport sse --port 8000
uvxdownloads, installs (in an isolated env), and runs the package — zero setup.
Install permanently
uv tool install paper-mcp
paper-mcp # now available globally
paper-mcp --transport sseLocal development
git clone https://github.com/imnotdev25/paper-search
cd paper-search
uv sync # install all deps from pyproject.toml
uv run paper-mcp # run directly
uv run paper-mcp --transport sse🖥 Claude Desktop Config
Add to claude_desktop_config.json:
{
"mcpServers": {
"papers": {
"command": "uvx",
"args": ["paper-mcp"]
}
}
}No Python paths, no venv activation — uvx handles everything.
🌐 Browser Fallback (gomcp / Lightpanda)
For JS-rendered publisher pages, the server automatically starts a Lightpanda headless browser via gomcp.
One-time setup:
# Download gomcp binary from GitHub releases:
# https://github.com/lightpanda-io/gomcp/releases
# Then download the Lightpanda browser binary:
gomcp downloadIf gomcp is not installed, the server still works — browser-dependent
paths fall back to abstract/metadata gracefully.
🏗 Architecture
Claude (LLM)
│ MCP (stdio or SSE)
▼
paper-mcp [FastMCP, Python]
│
├── Semantic Scholar API ── metadata, citations, references
├── arXiv API + HTML ── preprint info + full text
├── Unpaywall API ── open-access PDF by DOI
└── gomcp SSE ───────────── Lightpanda browser (JS fallback)
│ CDP
└── Lightpanda Browser (headless)📦 Publishing to PyPI
# Build
uv build
# Publish (needs PyPI token)
uv publish --token $PYPI_TOKENOnce on PyPI, anyone can run it with uvx paper-mcp.
⚙️ CLI Options
usage: paper-mcp [-h] [--transport {stdio,sse}] [--port PORT] [--host HOST]
options:
--transport stdio (default) or sse
--port SSE port (default: 8000)
--host SSE host (default: 127.0.0.1)🔑 Notes
Semantic Scholar free tier: ~100 req/5 min. For higher throughput, set
S2_API_KEYin the environment and add it to the httpx client headers inserver.py.Unpaywall requires a valid contact email — update
UNPAYWALL_EMAILinserver.py.Full text is only available for arXiv papers (HTML renderer) and JS-rendered pages reachable via gomcp. Paywalled PDFs require institutional access.
📁 Project Structure
paper-mcp/
├── pyproject.toml ← packaging, entry point, deps
├── README.md
└── src/
└── paper_mcp/
├── __init__.py
└── server.py ← all 5 FastMCP tools + main()Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/imnotdev25/paper-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server