Server facts
ArXiv MCP Server
Project
- Author
- blazickjp
- Repository
- github.com/blazickjp/arxiv-mcp-server
- License
- Apache-2.0
- Category
- Search & Web Data
Tech
- Runtime / language
- pythonPython
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 3,221
- Last commit
- Data as of
Tags
- Academic Search
- Arxiv
- Local Storage
- Research Papers
Overview
ArXiv MCP Server connects research assistants to arXiv for finding papers and working with their contents. Searches can combine categories, dates, and Boolean expressions, allowing a literature search to focus on a particular subject or publication window. The core workflow moves from discovery to downloading and then reading a saved paper. A separate listing tool identifies papers already held locally. Downloading first attempts HTML and can fall back to PDF, with an additional dependency extra needed for older papers available only as PDFs.
Stored content is exposed as Markdown, and large papers can be retrieved in bounded sections using the documented pagination fields. The project also supplies prompts for structured paper analysis, summaries, comparisons, and literature reviews. Its default connection uses stdio, with Streamable HTTP available for deployments where a local process is inconvenient. Python 3.11 or newer is required, and the README distinguishes its supported Python distribution from an unrelated npm package with the same name. Semantic search over downloaded papers is described as experimental and needs extra dependencies. Security guidance is prominent: paper text is external, untrusted material that could contain prompt injection. Users should review summaries and avoid letting retrieved text direct sensitive actions in a broader agent workflow.
Install & configure
Requirements
- Python 3.11+
- uv
- An MCP-compatible client
uv tool run arxiv-mcp-server --storage-path /path/to/paper/storageReplace the example storage path with your paper directory. Install the [pdf] extra for PDF-only papers. The README also documents uvx and HTTP launch options.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path",
"/path/to/paper/storage"
],
"env": {}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path",
"/path/to/paper/storage"
],
"env": {}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"arxiv-mcp-server": {
"type": "stdio",
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path",
"/path/to/paper/storage"
],
"env": {}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path",
"/path/to/paper/storage"
],
"env": {}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"arxiv-mcp-server": {
"type": "stdio",
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path",
"/path/to/paper/storage"
],
"env": {}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository tool metadata and repository README. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| search_papers | Find arXiv papers using topic queries and optional date or category filters. |
| download_paper | Fetch a paper into local storage, using HTML first and PDF when needed. |
| list_papers | List the identifiers of papers already downloaded locally. |
| read_paper | Read a saved paper as Markdown, optionally in bounded chunks. |
| semantic_search | Search downloaded papers by semantic similarity; this feature is experimental. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Find papers within a topic, category, and date range.
- Download papers into a reusable local collection.
- Read long papers in bounded Markdown sections.
- Use guided prompts for comparisons or literature reviews.
Strengths
- Combines discovery, downloads, and local reading in one workflow.
- Provides research prompts and chunked access for long documents.
- Offers both stdio and Streamable HTTP setup.
Limitations
- PDF-only papers need the additional PDF dependency extra.
- Local semantic search is experimental and requires extra dependencies.
- Untrusted paper text can carry prompt-injection instructions.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.