ArxivSearcher MCP Server
The ArxivSearcher MCP Server provides advanced tools for searching, analyzing, and managing Software Engineering papers on arXiv. You can:
Search papers: Find papers using natural language queries with filters for keywords, dates, relevance, and categories
Retrieve details: Get comprehensive information about specific papers using arXiv IDs
Find by author: Search papers by specific authors with additional filtering options
Analyze trends: Examine patterns in papers by authors, keywords, timeline, or categories
Discover related papers: Identify similar papers based on title and keyword similarity
Download PDFs: Access PDF versions of arXiv papers
Export results: Convert search results to various formats (BibTeX, CSV, JSON, Markdown)
Browse categories: View all available arXiv categories and their descriptions
Enables intelligent searching of Software Engineering papers on arXiv with advanced filtering, sorting, and analysis. Provides tools for searching papers by query or author, retrieving paper details, analyzing trends, finding related papers, downloading PDFs, and exporting results in various formats.
Supports retrieving DOI information for academic papers as part of the paper details functionality.
Allows exporting search results to Markdown format alongside other formats like BibTeX, CSV, and JSON.
Click on "Deploy 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., "@ArxivSearcher MCP Server search for recent papers about large language models in software engineering"
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.
🚀 ArxivSearcher MCP Server
An MCP server for intelligent searching of Software Engineering papers on arXiv, with advanced filtering and sorting.
Updated to v2.0! — This repository has been updated to v2.0: new remote entrypoint, prompt templates, remote-accessible PDF resources, and an upgrade to
fastmcp==2.9.2.
📝 Getting Started
Clone the repository
git clone https://github.com/emi-dm/Arxiv-MCP.git cd Arxiv-MCPChoose your setup method:
Related MCP server: arxiv-reader-mcp
🖱️ Using with Cursor
If you use Cursor, you can integrate this MCP server as follows:
Open Settings in Cursor.
Go to Tools & Integrations.
In the MCP section, add a new server configuration.
Use the same configuration as described for VS Code:
For Docker, use the Docker configuration block from the VS Code section.
For local development, use the uv configuration block from the VS Code section.
The process is analogous to the VS Code setup—just copy the relevant configuration and paste it into Cursor's MCP server settings.
📋 Prerequisites
Before you begin, make sure you have installed:
Python (3.11 or higher)
uv (a fast Python package installer and resolver)
Node.js and npm (for debugging with MCP Inspector)
Or alternatively:
Docker (for containerized deployment)
⚡️ Quickstart in VS Code
You can run the server in VS Code using Docker (recommended, you don't need the code locally), locally with uv, or consume it directly from the cloud.
Option 3: Consume the MCP server in the cloud (Recommended for quick testing!)
You don't need to install anything or clone the repository. You can consume the MCP server directly using the following configuration in .vscode/mcp.json or in your compatible MCP client:
{
"servers": {
"arxiv-mcp": {
"url": "https://arxiv-mcp-sq0a.onrender.com/mcp/"
}
}
}This works in both VS Code and Cursor and other compatible MCP clients.
Option 1: Using Docker (Recommended)
Note: If you use Docker, you do not need to have the code in your local directory. The container will run everything needed.
Build the Docker image (only needed once or when you update the code):
docker build -t arxiv-searcher-mcp .Create
.vscode/mcp.json: In your project root, create the.vscodefolder if it doesn't exist. Inside, create a file namedmcp.json.Add the Docker server configuration: Copy and paste the following configuration into
.vscode/mcp.json:{ "mcpServers": { "arxiv-search": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "arxiv-searcher-mcp" ] } } }Start the server from VS Code
Option 2: Local configuration with uv (requires code locally)
Create
.vscode/mcp.json: In your project root, create the.vscodefolder if it doesn't exist. Inside, create un archivo llamadomcp.json.Agrega la configuración local del servidor: Copia y pega la siguiente configuración en
.vscode/mcp.json:{ "servers": { "arxiv-search": { "command": "uv", "args": [ "run", "${workspaceFolder}/arxiv_searcher/arxiv_mcp.py" ] } } }Inicia el servidor desde VS Code
✨ Features
🛠️ Available Tools
This MCP server exposes several useful tools for searching, analyzing, and exporting arXiv papers in the field of software engineering:
search_papers: Searches arXiv papers filtered by the Software Engineering category (
cs.SE).Parameters:
query,max_results,start_date,end_date,sort_by_relevance,categoryReturns: Dictionary with the query used and the results.
get_paper_details: Gets detailed information about a paper by its arXiv ID.
Parameters:
arxiv_idReturns: Title, authors, abstract, dates, categories, DOI, etc.
search_by_author: Searches for papers by author, with optional category and date filters.
Parameters:
author_name,max_results,category,start_date,end_dateReturns: List of found papers.
analyze_paper_trends: Analyzes trends in a collection of papers (authors, keywords, timeline, categories).
Parameters:
papers,analysis_typeReturns: Statistics and analysis according to the requested type.
find_related_papers: Finds related papers based on the title of a reference paper, using keyword similarity.
Parameters:
paper_title,max_results,similarity_threshold,categoryReturns: List of similar papers.
download_paper_pdf: Downloads the PDF of an arXiv paper.
Parameters:
pdf_url,save_path,filenameReturns: Path and status of the download.
export_search_results: Exports search results to various formats (
bibtex,csv,json,markdown).Parameters:
results,format,filename,save_pathReturns: Path to the exported file and a preview of the content.
get_arxiv_categories: Returns the list of arXiv categories and their descriptions.
Parameters: None
Returns: Dictionary of categories and usage notes.
🧑💻 Example Usage
Here's how you can call the tool from a compatible MCP client:
@arxiv-search.search_papers(query="secure software development lifecycle from 2022", max_results=5)This will search for the 5 most relevant papers since 2022 in the software engineering category.
🛠️ Development
📦 Install dependencies
Set up your virtual environment and install the required packages:
uv syncOr using Docker:
docker build -t arxiv-searcher-mcp .▶️ Run for development
Start the server directly from your terminal:
uv run --directory arxiv_searcher/ arxiv_mcp.py🐞 Debugging
For an interactive debugging experience, use MCP Inspector:
# Option 1: Using MCP Inspector
npx @modelcontextprotocol/inspector uv run --directory arxiv_searcher/arxiv_mcp.py
# Option 2: Using fastmcp CLI
fastmcp dev arxiv_searcher/arxiv_mcp.pyWhen launched, the Inspector will provide a URL to view and debug server communications in your browser. Don't forget to copy the session token!
👤 Author
Developed by emi-dm.
💡 Contributions and improvements are welcome! Feel free to open a Pull Request (PR) if you have suggestions or enhancements.
Version 2.0
Remote-accessible resources: Added MCP
resources that allow the server to expose downloaded PDF files and their extracted text (accessible via thedata://downloaded_papersresource). This enables remote agents/clients to query the MCP about articles that have been downloaded to the server.Prompt templates: Included a set of
@mcp.prompttemplates in the codebase to improve prompt quality and make it easier to craft searches (e.g.,search_by_author,search_by_recent_topic,get_paper_by_id, etc.). These templates are available to clients and the Inspector to generate clearer and more consistent requests.fastmcp update: The project has been updated to use
fastmcp==2.9.2(seerequirements.txt/uv.lock). If you manage environments manually, please sync your environment to pick up the new fastmcp release.
Upgrade notes
To query downloaded papers remotely, call the
data://downloaded_papersresource from your MCP client or use the provided read helpers in the MCP tools.Use the prompt templates via the MCP client to get consistent, high-quality queries (the template function names are exported as prompts in the server code).
Run
uv sync(or your preferred environment sync command) to install the pinned dependency versions after pulling this release.
📚 License
This project is licensed under the MIT License.
Available Tools
7 toolsanalyze_paper_trendsC
Analyze trends in a collection of papers.
:param papers: List of papers from search_papers results :param analysis_type: Type of analysis ('authors', 'keywords', 'timeline', 'categories')
Inputs: papers (required), analysis_type. Returns: object
download_paperA
Downloads the PDF of a paper to a local directory on the server. NOTE: In a stateless/free hosting environment, this file is temporary and will be deleted when the server restarts or sleeps.
:param arxiv_id: The ArXiv ID of the paper to download (e.g., '2301.12345'). :param directory: The local directory where the paper will be saved.
Inputs: arxiv_id (required), directory. Returns: object
export_search_resultsB
Export search results to various formats.
:param results: Results from search_papers or other search functions :param format: Export format ('bibtex', 'csv', 'json', 'markdown') :param filename: Output filename (without extension) :param save_path: Directory to save the file (default: current directory)
Inputs: results (required), format, filename, save_path. Returns: object
get_paper_detailsB
Get detailed information about a specific paper by ArXiv ID.
:param arxiv_id: The ArXiv ID (e.g., '2301.12345')
Inputs: arxiv_id (required). Returns: object
search_by_authorB
Search papers by a specific author.
:param author_name: Name of the author to search for :param max_results: Maximum number of results :param category: Optional category filter (e.g., 'cs.SE', 'cs.AI') :param start_date: Optional start date filter (YYYY-MM-DD or YYYY) :param end_date: Optional end date filter (YYYY-MM-DD or YYYY)
Inputs: author_name (required), max_results, category, start_date, +1 more. Returns: object
search_papersA
Search for papers on arXiv. It can parse natural language queries, extracting keywords and years for filtering.
:param query: The base search query. Can be natural language. :param max_results: The maximum number of results to return. :param start_date: The start date for the search period (YYYY-MM-DD or YYYY). Overrides years in query. :param end_date: The end date for the search period (YYYY-MM-DD or YYYY). Overrides years in query. :param sort_by_relevance: If True, sorts by relevance. If False, sorts by submission date. :param category: The arXiv category to search in (e.g., 'cs.AI', 'cs.CL', 'cs.SE').
Inputs: query (required), max_results, start_date, end_date, +2 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no ambiguity: search_papers and search_by_author handle different search methods, get_paper_details retrieves metadata, download_paper fetches PDFs, find_related_papers finds similar papers, analyze_paper_trends performs analysis on results, and export_search_results handles export. The boundaries are well-defined and non-overlapping.
All tool names follow a consistent verb_noun pattern with snake_case throughout: search_papers, search_by_author, get_paper_details, download_paper, find_related_papers, analyze_paper_trends, export_search_results. This uniformity makes the toolset predictable and easy to navigate.
With 7 tools, this server is well-scoped for arXiv paper searching and management. Each tool serves a specific function in the workflow (search, retrieve, analyze, export), and none feel redundant or missing, fitting within the typical 3-15 tool range for a focused domain.
The toolset covers core arXiv operations comprehensively: searching (by query and author), retrieving details and PDFs, finding related papers, analyzing trends, and exporting results. A minor gap is the lack of tools for user account management (e.g., saving favorites) or paper submission, but these are outside the primary search-focused scope, so agents can work effectively with the provided tools.
Maintenance
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Peer-reviewed scientific paper & arXiv preprint search MCP with citations, abstracts & PDF links.
arXiv MCP — preprint server search (free, no auth)
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for searching, retrieving, and subscribing to academic papers across security, ML, NLP, CV, and systems venues via 12 tools.16325 npm4MIT
- AlicenseAqualityCmaintenanceMCP server for searching and retrieving arXiv papers with full-text PDF extraction.52MIT
- AlicenseAqualityDmaintenanceMCP server for discovering, triaging, and monitoring arXiv papers with transparent interest modeling and inspectable ranking.13MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for searching, downloading, and reading academic papers from multiple sources such as arXiv, Google Scholar, and Elsevier.5MIT