arxiv-mcp-server
The ArXiv MCP Server is designed to interface with the arXiv API, allowing users to search for and retrieve scientific papers. It supports complex queries and returns results as structured MCP resources. The server can be integrated with AI assistants like Claude Desktop to enhance paper discovery.
ArXiv MCP Server
An implementation of the Model Context Protocol (MCP) server for interacting with the arXiv API. This server allows AI assistants to search for scientific papers, retrieve paper details, and discover the latest papers in specific categories.
Features
- Search papers on arXiv with complex queries
- Retrieve papers by ID
- Discover the latest papers in specific categories
- Returns papers as structured MCP resources
Installation
-
Clone this repository:
git clone https://github.com/yourusername/arxiv-mcp-server.git cd arxiv-mcp-server
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Start the server:
npm start
Project Structure
src/index.ts
- Main server implementationpackage.json
- Project dependencies and scriptstsconfig.json
- TypeScript configuration
Usage with Claude Desktop
-
First, make sure you have the Claude Desktop app installed.
-
Start the ArXiv MCP server:
npm start
-
Edit the Claude Desktop configuration file at
~/Library/Application Support/Claude/claude_desktop_config.json
(create it if it doesn't exist):{ "mcpServers": { "arxiv": { "command": "node", "args": ["path/to/arxiv-mcp-server/dist/index.js"] } } }
-
Restart the Claude Desktop app.
-
You can now ask Claude to use the ArXiv MCP server with queries like:
- "Search for papers about quantum computing on arXiv"
- "Find the latest papers in machine learning"
- "Get details for arXiv paper 2104.12345"
Available Tools
searchArXiv
Search for papers on arXiv with a custom query.
Parameters:
query
(required): Search query. Can use prefixes like 'ti:' for title, 'au:' for authormax_results
: Maximum number of results to return (default: 10)sort_by
: Sort order for results (options: "relevance", "lastUpdatedDate", "submittedDate")sort_order
: Sort direction (options: "ascending", "descending")categories
: Limit results to specific arXiv categories (e.g., 'cs.AI', 'physics')
getPaperById
Retrieve a specific paper by its arXiv ID.
Parameters:
id
(required): The arXiv ID of the paper (e.g., '2101.12345')
getLatestPapers
Get the latest papers from a specific category.
Parameters:
category
(required): arXiv category (e.g., 'cs.AI', 'physics.gen-ph')max_results
: Maximum number of results to return (default: 10)
License
MIT
Acknowledgments
- Thank you to arXiv for use of its open access interoperability.
- Built with Anthropic's Model Context Protocol.