Provides tools for searching and retrieving research papers from arXiv, with capabilities to query papers by topic, extract detailed paper information, and automatically save paper metadata to local storage.
MCP Research Server
A Model Context Protocol (MCP) server that provides tools for searching and managing research papers from arXiv.
Features
- Search Papers: Search for research papers on arXiv by topic
- Extract Paper Info: Retrieve detailed information about specific papers
- Local Storage: Automatically saves paper information to local JSON files organized by topic
Prerequisites
- Python 3.13 or higher
uv
package manager (recommended) orpip
Installation
- Clone or navigate to the project directory:
- Create a virtual environment:
- Install dependencies:
Running the Server
Method 1: Using MCP Inspector (Recommended for Testing)
- Start the server with MCP Inspector:
- Access the Inspector:
- Open your browser and go to:
http://127.0.0.1:6274
- Use the provided session token for authentication
- Open your browser and go to:
Method 2: Direct Execution
- Run the server directly:
Available Tools
1. search_papers
Searches for papers on arXiv based on a topic and stores their information locally.
Parameters:
topic
(str): The topic to search formax_results
(int, optional): Maximum number of results (default: 5)
Returns: List of paper IDs found
Example:
2. extract_info
Retrieves detailed information about a specific paper from local storage.
Parameters:
paper_id
(str): The ID of the paper to look for
Returns: JSON string with paper information
Example:
Project Structure
How It Works
- Paper Search: When you search for papers, the server:
- Queries arXiv using the provided topic
- Downloads paper metadata (title, authors, summary, PDF URL, publication date)
- Saves the information to a JSON file organized by topic
- Returns the paper IDs for reference
- Paper Retrieval: When you extract paper info, the server:
- Searches through all topic directories
- Finds the requested paper by ID
- Returns the stored information in JSON format
Data Storage
Paper information is automatically saved to the papers/
directory, organized by topic. Each topic gets its own subdirectory containing a papers_info.json
file with all the papers found for that topic.
Troubleshooting
- Python Version: Ensure you're using Python 3.13 or higher
- Dependencies: Make sure all dependencies are installed with
uv pip install arxiv
- Virtual Environment: Always activate the virtual environment before running the server
- Permissions: Ensure you have write permissions in the project directory for creating the
papers/
folder
Development
To modify or extend the server:
- Edit
research_server.py
to add new tools or modify existing ones - Use the MCP Inspector to test your changes
- The server uses FastMCP for easy tool definition and management
License
This project is open source. Feel free to modify and distribute as needed.
This server cannot be installed
A Model Context Protocol server that provides tools for searching arXiv papers and managing research paper information with local storage capabilities.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to search, retrieve, and analyze academic papers from arXiv, supporting features like keyword search, paper details retrieval, content extraction, and paper analysis.Last updated -PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables natural language interaction with arXiv.org, allowing users to search, retrieve metadata, download PDFs, and load scholarly articles into LLM context.Last updated -1PythonMIT License
- AsecurityAlicenseAqualityA comprehensive Model Context Protocol server that enables advanced PubMed literature search, citation formatting, and research analysis through natural language interactions.Last updated -122PythonMIT License
- AsecurityFlicenseAqualityA TypeScript implementation of the Model Context Protocol server that enables searching arXiv papers and extracting paper information through standardized client-server communication.Last updated -24TypeScript