by blazickjp
A Model Context Protocol server for searching and analyzing arXiv papers
# Add to your Claude Code skills
git clone https://github.com/blazickjp/arxiv-mcp-serverGuides for using mcp servers skills like arxiv-mcp-server.
Last scanned: 4/23/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-04-23T06:07:20.621Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}arxiv-mcp-server is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by blazickjp. A Model Context Protocol server for searching and analyzing arXiv papers. It has 2,948 GitHub stars.
Yes. arxiv-mcp-server passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/blazickjp/arxiv-mcp-server" and add it to your Claude Code skills directory (see the Installation section above).
arxiv-mcp-server is primarily written in Python. It is open-source under blazickjp on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh arxiv-mcp-server against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Based on votes and bookmarks from developers who liked this skill
🔍 Enable AI assistants to search and access arXiv papers through a simple MCP interface.
The ArXiv 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 in a programmatic way.
🤝 Contribute • 📝 Report Bug
Paper content retrieved from arXiv is untrusted external input.
When an AI assistant downloads or reads a paper through this server, the paper's text is passed directly into the model's context. A maliciously crafted paper could embed adversarial instructions designed to hijack the AI's behavior — for example, instructing it to exfiltrate data, invoke other tools with unintended arguments, or override system-level instructions. This is a known class of attack described by OWASP as LLM01: Prompt Injection and by the OWASP Agentic AI framework as AG01: Prompt Injection in LLM-Integrated Systems.
To install ArXiv Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install arxiv-mcp-server --client claude
The .mcpb bundle is the one-click install path for Claude Desktop on macOS. It bundles the server code and Python package dependencies, so users do not need uv, pip, or manual MCP JSON configuration. Python 3.11+ must still be available on the user's machine.
arxiv-mcp-server-darwin-arm64-<version>.mcpbarxiv-mcp-server-darwin-x86_64-<version>.mcpb~/.arxiv-mcp-server/papers).Claude Desktop launches the bundled server over stdio — no configuration file edits needed.
Important — use
uv tool install, not npm/pnpm oruv pip installThis project publishes the supported server as a Python package on PyPI. Do not install
arxiv-mcp-serverwithnpm install,pnpm add, ornpx arxiv-mcp-server: the npm package with this name is an unrelated third-party package and has its own Python-detection wrapper.Running
uv pip install arxiv-mcp-serverinstalls the package into the current virtual environment but does not place thearxiv-mcp-serverexecutable on yourPATH. You must useuv tool installso that uv creates an isolated environment and exposes the executable globally:
uv tool install arxiv-mcp-server
After this, the arxiv-mcp-server command will be available on your PATH.
PDF fallback (older papers): Most arXiv papers have an HTML version which the base install handles automatically. For older papers that only have a PDF, the server needs the
[pdf]extra (pymupdf4llm). Install it with:uv tool install 'arxiv-mcp-server[pdf]'
You can verify it with:
arxiv-mcp-server --help
If you previously ran uv pip install arxiv-mcp-server and the command is
missing, uninstall it and re-install with uv tool install as shown above.
For development:
# Clone and set up development environment
git clone https://github.com/blazickjp/arxiv-mcp-server.git
cd arxiv-mcp-server
# Create and activate virtual environment
uv venv
source .venv/bin/activate
# Install with test dependencies (development only — no global executable)
uv pip install -e ".[test]"
This repository now includes a Codex plugin manifest at .codex-plugin/plugin.json
and a portable MCP config at .mcp.json so Codex-oriented tooling can discover
the server without inventing its own install recipe.
The Codex integration uses the same stdio launch path documented elsewhere in this README:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-mcp-server"]
}
}
}
If your Codex client supports plugin manifests, point it at
./.codex-plugin/plugin.json. If it only supports raw MCP configuration, use
./.mcp.json directly.
Add this configuration to your MCP client config file:
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"arxiv-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
For Development:
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "uv",
"args": [
"--directory",
"path/to/cloned/arxiv-mcp-server",
"run",
"arxiv-mcp-server",
"--storage-path", "/path/to/paper/storage"
]
}
}
}
For server deployments where stdio is not practical, run the server with Streamable HTTP:
TRANSPORT=http HOST=127.0.0.1 PORT=8080 arxiv-mcp-server --storage-path /path/to/papers
Then configure an MCP client that supports Streamable HTTP:
{
"mcpServers": {
"arxiv-mcp-server": {
"type": "http",
"url": "http://127.0.0.1:8080/mcp"
}
}
}
The default HTTP bind host is 127.0.0.1. Streamable HTTP enables MCP DNS rebinding protection by default and allows loopback hosts for the configured port. If exposing the server through a reverse proxy, keep it bound to localhost unless you have added authentication and network controls upstream; set ALLOWED_HOSTS and ALLOWED_ORIGINS to the external host/origin values your proxy forwards.
arXiv papers are user-generated, untrusted content. Paper text returned by this server may contain prompt injection attempts — crafted text designed to manipulat