Connects Claude directly to arXiv's repository and Semantic Scholar's citation graph without requiring API keys. You get eight tools covering search with full query syntax, batch metadata retrieval, PDF text extraction with section detection, and bidirectional citation tracking. Three prompts handle structured summarization, multi-paper comparison, and literature review synthesis. The category lookup is handy since it maps plain English like "machine learning" to arXiv's taxonomy codes. Useful when you're doing research exploration, building reading lists, or need to programmatically pull paper content and citation networks instead of bouncing between browser tabs and manual downloads.
A Model Context Protocol server for searching, retrieving, and analyzing papers from arXiv.org with citation data from Semantic Scholar.
No API key required.
| Tool | Description |
|---|---|
arxiv_search_papers | Search with full query syntax, semantic categories, date filtering, pagination |
arxiv_get_paper | Get metadata by arXiv ID or URL |
arxiv_get_papers_batch | Fetch up to 20 papers in one call |
arxiv_download_and_extract | PDF → text with section detection, header stripping, page ranges |
arxiv_get_references | Outbound references via Semantic Scholar (PDF fallback) |
arxiv_get_citations | Inbound citations via Semantic Scholar |
arxiv_list_categories | Browse taxonomy with semantic lookup ("machine learning" → cs.LG) |
arxiv_cache_stats | Cache hit rates and sizes |
| Prompt | Description |
|---|---|
summarize_paper | Guided structured summary (problem, methods, results, limitations) |
compare_papers | Side-by-side comparison of 2–5 papers |
literature_review | Search a topic and synthesize a review |
| URI | Description |
|---|---|
arxiv://categories | Complete arXiv category taxonomy |
arxiv://help/query-syntax | Query syntax reference |
arxiv://server/info | Server capabilities |
No local installation needed:
npx -y @smithery/cli@latest run @shawnnygoh/arxiv-scout
uv pip install arxiv-scout
Or from source:
git clone https://github.com/shawnnygoh/arxiv-scout.git
cd arxiv-scout
uv sync
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-scout"]
}
}
}
{
"servers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-scout"]
}
}
}
{
"mcpServers": {
"arxiv": {
"url": "https://server.smithery.ai/@shawnnygoh/arxiv-scout/mcp"
}
}
}
# Manual installation
claude mcp add --transport http arxiv https://server.smithery.ai/@shawnnygoh/arxiv-scout/mcp
# Using Smithery CLI
npx -y @smithery/cli@latest mcp add shawnnygoh/arxiv-scout --client claude-code
| Variable | Default | Description |
|---|---|---|
PORT | 8000 | Server port |
HOST | 0.0.0.0 | Bind address |
SEMANTIC_SCHOLAR_API_KEY | (none) | Optional — higher S2 rate limits |
git clone https://github.com/shawnnygoh/arxiv-scout.git
cd arxiv-scout
uv sync --dev
# Unit tests (no network)
uv run pytest
# Include integration tests (hits real APIs)
uv run pytest -m integration
# Test with MCP Inspector
uv run arxiv-scout &
npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP → http://localhost:8000/mcp
MIT
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp