arXiv MCP Server
The arXiv MCP Server enables LLMs to search, retrieve, and explore academic papers from arXiv via the MCP protocol. Key capabilities include:
Search papers (
search): Search by query with optional filters for category, author, and sort order, with pagination and sorting by relevance or dateAdvanced search (
searchAdvanced): Field-specific searches filtering by title, abstract, author, category, arXiv ID, and date rangesGet paper details (
getPaper): Retrieve metadata (title, abstract, authors, categories, URLs) for a specific paper using its arXiv ID or URLGet full paper content (
getContent): Fetch the complete text of a paper in markdown format via Jina Reader using an arXiv ID or URLBrowse recent papers (
getRecent): List the most recent papers from a specific arXiv category (up to 50)List categories (
listCategories): Get a full list of common arXiv category codes and names (e.g., cs.AI, cs.LG, stat.ML)
Provides tools for searching arXiv papers, retrieving paper metadata (titles, abstracts, authors, categories), accessing full paper content, and browsing recent publications by category.
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 recent papers about transformer architectures in cs.AI"
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
A Model Context Protocol (MCP) server that provides arXiv paper search and retrieval capabilities. This server enables LLMs to search for academic papers on arXiv and get cleaned titles, abstracts, authors, and content without dealing with complex HTML parsing.
Features
Search papers by query, author, category, and date
Advanced search with specific field filters
Get detailed paper metadata (title, abstract, authors, categories)
Retrieve full paper content via Jina Reader
Browse recent papers by category
List all arXiv categories
Pagination support for search results
Available Tools
search
Search arXiv for papers matching a query.
Argument | Type | Required | Description |
| string | Yes | Search query (e.g., 'LLM', 'transformer') |
| string | No | Filter by category (e.g., 'cs.AI', 'cs.LG') |
| string | No | Filter by author name |
| string | No | Sort order: 'relevance', 'date_desc', 'date_asc' |
| int | No | Page number (default: 1) |
| int | No | Results per page, max 50 (default: 25) |
search_advanced
Advanced search with specific field filters.
Argument | Type | Required | Description |
| string | No | Search in paper titles |
| string | No | Search in abstracts |
| string | No | Search by author name |
| string | No | Filter by category |
| string | No | Search by arXiv ID pattern |
| string | No | Start date (YYYY-MM-DD) |
| string | No | End date (YYYY-MM-DD) |
| string | No | Sort order |
| int | No | Page number |
| int | No | Results per page |
get_paper
Get detailed information about a specific arXiv paper.
Argument | Type | Required | Description |
| string | Yes | arXiv ID (e.g., '2301.00001') or full URL |
get_content
Get the full text content of an arXiv paper using Jina Reader.
Argument | Type | Required | Description |
| string | Yes | arXiv ID or full URL |
get_recent
Get recent papers from a specific arXiv category.
Argument | Type | Required | Description |
| string | No | Category code (default: 'cs.AI') |
| int | No | Number of papers, max 50 (default: 10) |
list_categories
List all common arXiv categories with their codes and names.
Installation
Using uv (Recommended)
# Clone the repository
git clone https://github.com/Ray0907/arXiv-mcp.git
cd arXiv-mcp
# Install with uv
uv syncUsing pip
# Clone the repository
git clone https://github.com/Ray0907/arXiv-mcp.git
cd arXiv-mcp
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install
pip install -e .Configuration
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"arxiv": {
"command": "uv",
"args": [
"--directory",
"/path/to/arXiv-mcp",
"run",
"arxiv-mcp"
]
}
}
}Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"arxiv": {
"command": "uv",
"args": [
"--directory",
"/path/to/arXiv-mcp",
"run",
"arxiv-mcp"
]
}
}
}Usage Examples
Search for papers about LLMs
Search for recent papers about "large language models"Find papers by a specific author
Search for papers by "Yann LeCun" in the machine learning categoryGet paper details
Get the details of arXiv paper 2301.00001Browse recent papers
Show me the 10 most recent papers in cs.AIDevelopment
Run tests
uv run pytestRun the server locally
uv run arxiv-mcpCommon arXiv Categories
Code | Name |
cs.AI | Artificial Intelligence |
cs.CL | Computation and Language |
cs.CV | Computer Vision and Pattern Recognition |
cs.LG | Machine Learning |
cs.NE | Neural and Evolutionary Computing |
stat.ML | Machine Learning (Statistics) |
Use list_categories tool to get the full list.
Changelog
v0.3.0
Breaking Changes:
Renamed all tools to snake_case:
search_advanced,get_paper,get_content,get_recent,list_categories(existing client configurations referencing camelCase names must be updated)
Security:
Fixed SSRF bypass in
get_content: non-arxiv.org URLs containing a valid arXiv ID in the path (e.g.https://evil.com/abs/2301.00001) are now correctly rejected
Improvements:
All tools are now
async defusinghttpx.AsyncClientHTTP errors return
{"error": "..."}dicts instead of raising exceptions, so the LLM can read and retryAll tools annotated with
readOnlyHint: trueandopenWorldHint: trueSearchResultnow includeshas_more: boolandnext_page: int | nullfor easier paginationlist_categoriespre-computes the category list at import time instead of on every call
v0.2.0
Breaking Changes:
Renamed entry point from
arxiv-server.pytoarxiv-mcpcommandRenamed
gettool togetContentfor clarity
New Features:
searchAdvanced- Advanced search with title, abstract, date range filtersgetPaper- Get detailed paper metadata (authors, categories, dates, PDF URL)getRecent- Browse recent papers by categorylistCategories- List 33 common arXiv categoriesPagination support (
page,page_sizeparameters)Sort options (
relevance,date_desc,date_asc)Filter by author and category in basic search
Improvements:
Migrated to
pyproject.tomlwith uv for dependency managementReplaced
requestswithhttpx(async-ready)Added Pydantic models for type-safe data structures
Reduced dependencies from 33 to 4 core packages
Added proper timeout handling (30s)
Modular project structure (
src/arxiv_mcp/)
v0.1.0
Initial release
Basic
searchandgettools
License
MIT License - see LICENSE for details.
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
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/Ray0907/arXiv-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server