
MCP Research Server
A Model Context Protocol server that provides tools for searching arXiv papers and managing research paper information with local storage capabilities.
README
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:
cd mcp_project
-
Create a virtual environment:
uv venv source .venv/bin/activate # On macOS/Linux # or .venv\Scripts\activate # On Windows
-
Install dependencies:
uv pip install arxiv
Running the Server
Method 1: Using MCP Inspector (Recommended for Testing)
-
Start the server with MCP Inspector:
npx @modelcontextprotocol/inspector uv run research_server.py
-
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:
uv run research_server.py
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:
{
"topic": "machine learning",
"max_results": 10
}
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:
{
"paper_id": "2301.12345"
}
Project Structure
mcp_project/
├── research_server.py # Main MCP server implementation
├── pyproject.toml # Project configuration
├── uv.lock # Dependency lock file
├── papers/ # Directory where paper data is stored
│ └── [topic_name]/ # Organized by topic
│ └── papers_info.json
└── README.md # This file
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.