arXiv MCP Server
Allows searching arXiv papers, resolving IDs, fetching paper details, listing recent papers, and building PDF URLs via arXiv's public API.
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., "@arXiv MCP Serversearch for papers on large language models"
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.
arXiv MCP Server
arXiv, meet the Model Context Protocol: search metadata, resolve IDs, and plug literature review into assistants without one-off scrapers or ad hoc APIs. The implementation is deliberately small-built on the official Python SDK's FastMCP, tuned for clarity and predictable behavior.
Use stdio when the server runs beside your client, or Streamable HTTP when you want a network-facing endpoint (MCP's current transport story-no SSE). Queries hit arXiv's public Atom API at export.arxiv.org/api/query, with gentle rate limiting so traffic stays neighborly.
The full surface area-tools, resources, prompts, Docker-is laid out under Features next.
Features
Tools
search_papersRun a raw arXiv query such as
cat:cs.AI AND all:"large language models"
find_papersStructured search using separate fields such as title, author, category, and abstract terms
get_paperFetch a single paper by arXiv ID
list_recent_papersGet recent papers for a category, sorted by last updated date
build_pdf_urlReturn the PDF URL for an arXiv paper ID
Resources
arxiv://query-syntaxQuick reference for arXiv query syntax
arxiv://categories/commonCommon categories for ML, AI, math, stats, physics, and economics
arxiv://server-infoRuntime and behavior notes for this MCP server
Prompts
literature_reviewA reusable prompt that guides an LLM to search, shortlist, compare, and summarize arXiv papers
Related MCP server: ArXiv MCP Server
Quick start
Option 1, local Python
python -m venv .venv
source .venv/bin/activate
pip install -e .Run in stdio mode:
arxiv-mcp-stdioRun in HTTP mode:
ARXIV_MCP_HOST=0.0.0.0 ARXIV_MCP_PORT=8080 arxiv-mcp-httpThe MCP endpoint will be available at:
http://localhost:8080/mcpHealth endpoint:
http://localhost:8080/healthzOption 2, Docker Compose
docker compose up --buildThat starts the HTTP server on port 8080.
Configuration
Environment variables:
Variable | Default | Description |
|
| arXiv API query endpoint |
|
| User-Agent for upstream requests |
|
| HTTP timeout |
|
| Minimum delay between consecutive upstream requests |
|
| Default result size |
|
| Hard cap to avoid oversized tool payloads |
|
| HTTP bind host |
|
| HTTP bind port |
|
| CORS allow-origins |
Example MCP client configuration
Stdio client example
{
"mcpServers": {
"arxiv": {
"command": "arxiv-mcp-stdio"
}
}
}HTTP client example
Point your MCP client to:
http://localhost:8080/mcpExample tool calls
Raw arXiv query
{
"name": "search_papers",
"arguments": {
"query": "cat:cs.AI AND all:\"large language models\"",
"max_results": 5,
"sort_by": "relevance",
"sort_order": "descending"
}
}Structured search
{
"name": "find_papers",
"arguments": {
"title": "retrieval augmented generation",
"category": "cs.IR",
"max_results": 5
}
}Paper by ID
{
"name": "get_paper",
"arguments": {
"arxiv_id": "2401.00001"
}
}Development
Install dev dependencies:
pip install -e .[dev]Run tests:
pytestLint:
ruff check .Limitations
This server uses the public arXiv API and does not download or parse PDFs.
The arXiv API returns Atom XML, not JSON, so parsing is intentionally centralized.
To stay polite with the public API, this server rate-limits upstream requests.
For very large or bulk ingestion workloads, use arXiv's separate bulk metadata options instead of this MCP server.
License
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/zlobste/arxiv-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server