MCP Research Server

MCP Research Server

A Model Context Protocol server that provides tools for searching arXiv papers and managing research paper information with local storage capabilities.

Category
Visit Server

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) or pip

Installation

  1. Clone or navigate to the project directory:

    cd mcp_project
    
  2. Create a virtual environment:

    uv venv
    source .venv/bin/activate  # On macOS/Linux
    # or
    .venv\Scripts\activate     # On Windows
    
  3. Install dependencies:

    uv pip install arxiv
    

Running the Server

Method 1: Using MCP Inspector (Recommended for Testing)

  1. Start the server with MCP Inspector:

    npx @modelcontextprotocol/inspector uv run research_server.py
    
  2. Access the Inspector:

    • Open your browser and go to: http://127.0.0.1:6274
    • Use the provided session token for authentication

Method 2: Direct Execution

  1. 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 for
  • max_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

  1. 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
  2. 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:

  1. Edit research_server.py to add new tools or modify existing ones
  2. Use the MCP Inspector to test your changes
  3. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured