Deep_research
Hajime-Y/deep-research-mcp · 17 stars · Python · Apache-2.0
MCP server
Install
The repo has no one-line install. Follow its README.
Files
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
uvpackage manager- The following API keys:
- OpenAI API key
- HuggingFace token
- SerpAPI key
Installation
- Clone the repository:
git clone https://github.com/Hajime-Y/deep-research-mcp.git cd deep-research-mcp
- 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 servercreate_agent.py: Agent creation and configurationscripts/: Various tools and utilitiestext_web_browser.py: Text-based web browsertext_inspector_tool.py: File inspection toolvisual_qa.py: Image analysis toolmdconvert.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.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 17
- License
- Apache-2.0
- Language
- Python
- Last push
- 2025-04-24
- Forks
- 3
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k