Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

deep-research-mcp

MCP.Pizza Chef: Hajime-Y

Deep Research MCP Server is an agent-based MCP server that enables advanced web search, document analysis, image description, YouTube transcript retrieval, and archive site search. Built on HuggingFace's smolagents framework, it integrates multiple data sources and APIs to provide comprehensive research capabilities within the MCP ecosystem. It requires Python 3.11+, API keys for OpenAI, HuggingFace, and SerpAPI, and supports multi-modal data processing for enhanced research workflows.

Use This MCP server To

Perform comprehensive web searches with real-time data retrieval Analyze and extract insights from PDFs and documents Generate descriptions and analyze images for research Retrieve and process YouTube video transcripts Search archived websites for historical data Integrate multi-source data for deep research tasks Automate information gathering across diverse content types

README

Deep Research MCP Server

Deep Research is an agent-based tool that provides web search and advanced research capabilities. It leverages HuggingFace's smolagents and is implemented as an MCP server.

This project is based on HuggingFace's open_deep_research example.

Features

  • Web search and information gathering
  • PDF and document analysis
  • Image analysis and description
  • YouTube transcript retrieval
  • Archive site search

Requirements

  • Python 3.11 or higher
  • uv package manager
  • The following API keys:
    • OpenAI API key
    • HuggingFace token
    • SerpAPI key

Installation

  1. Clone the repository:
git clone https://github.com/Hajime-Y/deep-research-mcp.git
cd deep-research-mcp
  1. Create a virtual environment and install dependencies:
uv venv
source .venv/bin/activate # For Linux or Mac
# .venv\Scripts\activate # For Windows
uv sync

Environment Variables

Create a .env file in the root directory of the project and set the following environment variables:

OPENAI_API_KEY=your_openai_api_key
HF_TOKEN=your_huggingface_token
SERPER_API_KEY=your_serper_api_key

You can obtain a SERPER_API_KEY by signing up at Serper.dev.

Usage

Start the MCP server:

uv run deep_research.py

This will launch the deep_research agent as an MCP server.

Docker Usage

You can also run this MCP server in a Docker container:

# Build the Docker image
docker build -t deep-research-mcp .

# Run with required API keys
docker run -p 8080:8080 \
  -e OPENAI_API_KEY=your_openai_api_key \
  -e HF_TOKEN=your_huggingface_token \
  -e SERPER_API_KEY=your_serper_api_key \
  deep-research-mcp

Registering with MCP Clients

To register this Docker container as an MCP server in different clients:

Claude Desktop

Add the following to your Claude Desktop configuration file (typically located at ~/.config/Claude/claude_desktop_config.json on Linux, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "deep-research-mcp": {
      "command": "docker",
      "args": [
        "run", 
        "-i", 
        "--rm", 
        "-e", "OPENAI_API_KEY=your_openai_api_key",
        "-e", "HF_TOKEN=your_huggingface_token", 
        "-e", "SERPER_API_KEY=your_serper_api_key",
        "deep-research-mcp"
      ]
    }
  }
}
Cursor IDE

For Cursor IDE, add the following configuration:

{
  "mcpServers": {
    "deep-research-mcp": {
      "command": "docker",
      "args": [
        "run", 
        "-i", 
        "--rm", 
        "-e", "OPENAI_API_KEY=your_openai_api_key",
        "-e", "HF_TOKEN=your_huggingface_token", 
        "-e", "SERPER_API_KEY=your_serper_api_key",
        "deep-research-mcp"
      ]
    }
  }
}
Using with Remote MCP Server

If you're running the MCP server on a remote machine or exposing it as a service, you can use the URL-based configuration:

{
  "mcpServers": {
    "deep-research-mcp": {
      "url": "http://your-server-address:8080/mcp",
      "type": "sse"
    }
  }
}

Key Components

  • deep_research.py: Entry point for the MCP server
  • create_agent.py: Agent creation and configuration
  • scripts/: Various tools and utilities
    • text_web_browser.py: Text-based web browser
    • text_inspector_tool.py: File inspection tool
    • visual_qa.py: Image analysis tool
    • mdconvert.py: Converts various file formats to Markdown

License

This project is provided under the Apache License 2.0.

Acknowledgements

This project uses code from HuggingFace's smolagents and Microsoft's autogen projects.

deep-research-mcp FAQ

What programming language and version does Deep Research MCP require?
It requires Python 3.11 or higher for installation and operation.
Which API keys are necessary to use Deep Research MCP?
You need API keys for OpenAI, HuggingFace, and SerpAPI to enable its full functionality.
How does Deep Research MCP handle multi-modal data?
It supports analysis of web content, PDFs, images, and video transcripts to provide comprehensive research results.
Can Deep Research MCP be integrated with other MCP clients?
Yes, it is designed as an MCP server to be easily integrated with MCP clients for enhanced workflows.
What external libraries or frameworks does Deep Research MCP rely on?
It leverages HuggingFace's smolagents framework and requires the 'uv' package manager for dependency management.
Is Deep Research MCP suitable for automated research workflows?
Yes, it automates web search, document parsing, and multimedia analysis to streamline research tasks.
How do I install and set up Deep Research MCP?
Clone the GitHub repo, create a Python virtual environment, install dependencies with 'uv sync', and configure API keys.
Does Deep Research MCP support real-time data retrieval?
Yes, it performs live web searches and fetches up-to-date information during research sessions.