ArXiv Sync MCP Server
Allows searching arXiv papers with filters for date ranges and categories, downloading and converting papers to markdown, listing downloaded papers, and analyzing papers using research prompts.
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 Sync MCP Serversearch for machine learning papers from last month"
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 Sync MCP Server
π Enable AI assistants to search and access arXiv papers through a simple MCP interface.
π About This Fork
This is a fork of the original arxiv-mcp-server by Joseph Blazick.
Why This Fork?
This fork simplifies the architecture and fixes issues found in the original:
Feature | Original | This Fork |
Download method | Async background conversion | Synchronous download & conversion |
API calls | Multiple (download β poll status β read) | Single call returns content |
Status tracking | Required | Not needed |
PDF cleanup | Manual | Automatic after conversion |
Date filtering | Buggy | Fixed |
Complexity | Higher | Simpler |
Key improvements:
The
get_paper_contenttool now downloads, converts PDF to markdown, and returns the content in a single callDate filtering in
search_papersnow works correctly:Uses direct HTTP requests to arXiv API to bypass encoding issues with the Python arxiv library
Properly formats date ranges in arXiv's
submittedDate:[YYYYMMDD0000+TO+YYYYMMDD2359]formatCorrectly combines date filters with category and query filters using AND operators
The ArXiv Sync MCP Server provides a bridge between AI assistants and arXiv's research repository through the Model Context Protocol (MCP). It allows AI models to search for papers and access their content programmatically.
Related MCP server: ArXiv MCP Server
β¨ Core Features
π Paper Search: Query arXiv papers with filters for date ranges and categories
π Paper Access: Download and read paper content
π Paper Listing: View all downloaded papers
ποΈ Local Storage: Papers are saved locally for faster access
π Prompts: A Set of Research Prompts
π Quick Start
This fork is distributed via GitHub and is not published to PyPI.
Installing Manually
Install using uv:
uv tool install git+https://github.com/marfago/arxiv-sync-mcp-server.gitFor development:
# Clone and set up development environment
git clone https://github.com/marfago/arxiv-sync-mcp-server.git
cd arxiv-sync-mcp-server
# Create and activate virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install with test dependencies
uv pip install -e ".[test]"π MCP Integration
Add this configuration to your MCP client config file:
{
"mcpServers": {
"arxiv-sync-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"--from",
"git+https://github.com/marfago/arxiv-sync-mcp-server.git",
"arxiv-sync-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}For Development:
{
"mcpServers": {
"arxiv-sync-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/cloned/arxiv-sync-mcp-server",
"run",
"arxiv-sync-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}π‘ Available Tools
The server provides three simple tools:
1. Paper Search
Search for papers with optional filters:
result = await call_tool("search_papers", {
"query": "transformer architecture",
"max_results": 10,
"date_from": "2023-01-01",
"categories": ["cs.AI", "cs.LG"]
})2. Get Paper Content
Get the full content of a paper, downloading and converting it if necessary:
result = await call_tool("get_paper_content", {
"paper_id": "2401.12345"
})3. List Papers
View all downloaded papers:
result = await call_tool("list_papers", {})π Research Prompts
The server offers specialized prompts to help analyze academic papers:
Paper Analysis Prompt
A comprehensive workflow for analyzing academic papers that only requires a paper ID:
result = await call_prompt("deep-paper-analysis", {
"paper_id": "2401.12345"
})This prompt includes:
Detailed instructions for using available tools (get_paper_content, search_papers, list_papers)
A systematic workflow for paper analysis
Comprehensive analysis structure covering:
Executive summary
Research context
Methodology analysis
Results evaluation
Practical and theoretical implications
Future research directions
Broader impacts
βοΈ Configuration
Configure through environment variables:
Variable | Purpose | Default |
| Paper storage location | ~/.arxiv-sync-mcp-server/papers |
π§ͺ Testing
Run the test suite:
python -m pytestπ License
Released under the Apache 2.0 License. See the LICENSE file for details.
Fork of arxiv-mcp-server by Joseph Blazick
Originally made with β€οΈ
Available Tools
3 toolsget_paper_contentA
Get the full content of a paper, downloading and converting it if necessary
| Name | Required | Description | Default |
|---|---|---|---|
| paper_id | Yes | The arXiv ID of the paper to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description must disclose behavior. It mentions 'downloading and converting if necessary', which hints at side effects but lacks detail about conversion format, error scenarios, or performance impact. This is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that efficiently communicates the tool's purpose and key behavioral aspect. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description explains the main action but does not specify the return format (e.g., text, PDF) or any additional details about the content. The mention of download/conversion is helpful, but gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description of paper_id in schema is sufficient. The description adds no extra information about parameters, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the full content of a paper') and the resource ('paper'), distinguishing it from siblings like list_papers (metadata) and search_papers (search). The additional context 'downloading and converting it if necessary' clarifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when full content is needed, but lacks explicit guidance on when not to use it or direct comparison with siblings. The context from sibling names makes it clear, but no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_papersA
List all existing papers available as resources
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility for behavioral disclosure. It fails to mention that the operation is read-only, whether pagination exists, or any limits, which is insufficient for a listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no unnecessary words. Every word is meaningful and succinct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should compensate by describing return format or behavior. It only states 'papers' without any detail on what fields or structure is returned, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the baseline is 4. The description adds meaning by specifying the scope ('all existing papers, available as resources'), which is not present in the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all existing papers available as resources' clearly states the action (list) and resource (papers), differentiating from siblings get_paper_content and search_papers which focus on individual paper content or search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining a list of all papers, but does not provide when-to-use or when-not-to-use guidance relative to sibling tools, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_papersA
Search for papers on arXiv with advanced filtering and query optimization.
QUERY CONSTRUCTION GUIDELINES:
Use QUOTED PHRASES for exact matches: "multi-agent systems", "neural networks", "machine learning"
Combine related concepts with OR: "AI agents" OR "software agents" OR "intelligent agents"
Use field-specific searches for precision:
ti:"exact title phrase" - search in titles only
au:"author name" - search by author
abs:"keyword" - search in abstracts only
Use ANDNOT to exclude unwanted results: "machine learning" ANDNOT "survey"
For best results, use 2-4 core concepts rather than long keyword lists
ADVANCED SEARCH PATTERNS:
Field + phrase: ti:"transformer architecture" for papers with exact title phrase
Multiple fields: au:"Smith" AND ti:"quantum" for author Smith's quantum papers
Exclusions: "deep learning" ANDNOT ("survey" OR "review") to exclude survey papers
Broad + narrow: "artificial intelligence" AND (robotics OR "computer vision")
CATEGORY FILTERING (highly recommended for relevance):
cs.AI: Artificial Intelligence
cs.MA: Multi-Agent Systems
cs.LG: Machine Learning
cs.CL: Computation and Language (NLP)
cs.CV: Computer Vision
cs.RO: Robotics
cs.HC: Human-Computer Interaction
cs.CR: Cryptography and Security
cs.DB: Databases
EXAMPLES OF EFFECTIVE QUERIES:
ti:"reinforcement learning" with categories: ["cs.LG", "cs.AI"] - for RL papers by title
au:"Hinton" AND "deep learning" with categories: ["cs.LG"] - for Hinton's deep learning work
"multi-agent" ANDNOT "survey" with categories: ["cs.MA"] - exclude survey papers
abs:"transformer" AND ti:"attention" with categories: ["cs.CL"] - attention papers with transformer abstracts
DATE FILTERING: Use YYYY-MM-DD format for historical research:
date_to: "2015-12-31" - for foundational/classic work (pre-2016)
date_from: "2020-01-01" - for recent developments (post-2020)
Both together for specific time periods
RESULT QUALITY: Results sorted by RELEVANCE (most relevant papers first), not just newest papers. This ensures you get the most pertinent results regardless of publication date.
TIPS FOR FOUNDATIONAL RESEARCH:
Use date_to: "2010-12-31" to find classic papers on BDI, SOAR, ACT-R
Combine with field searches: ti:"BDI" AND abs:"belief desire intention"
Try author searches: au:"Rao" AND "BDI" for Anand Rao's foundational BDI work
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query using quoted phrases for exact matches (e.g., '"machine learning" OR "deep learning"') or specific technical terms. Avoid overly broad or generic terms. | |
| max_results | No | Maximum number of results to return (default: 10, max: 50). Use 15-20 for comprehensive searches. | |
| date_from | No | Start date for papers (YYYY-MM-DD format). Use to find recent work, e.g., '2023-01-01' for last 2 years. | |
| date_to | No | End date for papers (YYYY-MM-DD format). Use with date_from to find historical work, e.g., '2020-12-31' for older research. | |
| categories | No | Strongly recommended: arXiv categories to focus search (e.g., ['cs.AI', 'cs.MA'] for agent research, ['cs.LG'] for ML, ['cs.CL'] for NLP, ['cs.CV'] for vision). Greatly improves relevance. | |
| sort_by | No | Sort results by 'relevance' (most relevant first, default) or 'date' (newest first). Use 'relevance' for focused searches, 'date' for recent developments. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses behavioral traits: results sorted by relevance by default, date filtering format, category filtering recommendations, and query optimization. No contradictions or omissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections, examples, and readability. Slightly verbose but each section adds value. Front-loaded core purpose, but could be more concise without losing utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completely covers all 6 parameters with usage patterns and examples. No output schema expected; description compensates by explaining result relevance and filtering. No missing critical information for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%. The description adds significant value beyond schema by explaining query syntax, category codes, date formats, and sort behavior, enabling precise use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool searches for papers on arXiv with advanced filtering. Distinguishes from sibling tools like get_paper_content and list_papers by emphasizing search and filtering capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides extensive guidelines on query construction, category filtering, date filtering, and examples. However, it does not explicitly state when not to use the tool or directly mention alternatives, though sibling names imply use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.3.2- First observed
get_paper_content - First observed
list_papers - First observed
search_papers
TDQS
Each tool has a distinct purpose: listing, searching, and getting full content. There is no overlap or ambiguity between them.
All tool names follow a consistent 'verb_noun' pattern in snake_case, making the set predictable and easy to understand.
With 3 tools, the server is well-scoped for its purpose of syncing and retrieving arXiv papers. Each tool is necessary and sufficient.
The set covers listing, searching, and fetching content. Missing tools for updating or deleting are minor gaps given the sync context, but the core functionality is complete.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Extract papers from ArXiv β titles, abstracts, authors, categories & PDF links. Monitor new AI, phys
Search arXiv, fetch paper metadata, and read full-text content.
Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semanticβ¦
Related MCP Servers
- AlicenseBqualityFmaintenanceProvides paper search, PDF link retrieval, and content parsing for arXiv research papers, enabling seamless access to scientific literature through the Model Context Protocol.44024MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search and access arXiv papers through a Model Context Protocol interface, allowing for paper search, download, listing, and reading functionality.42Apache 2.0
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to search, retrieve, analyze, and export academic papers from arXiv.org using the Model Context Protocol.19MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching and retrieving arXiv papers via the Model Context Protocol, providing tools for querying, structured search, and literature review prompts.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/marfago/arxiv-sync-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server