what is ResearchMCP?
ResearchMCP is a research tool that combines Model Context Protocol (MCP) and Brave Search to provide research functionality similar to ChatGPT's DeepResearch.
how to use ResearchMCP?
To use ResearchMCP, set up the environment by installing Deno, cloning the repository, and configuring the necessary environment variables. You can run the application locally or in a Docker container.
key features of ResearchMCP?
- Integration with Brave Search for enhanced research capabilities
- Support for both local and Docker-based development environments
- Hybrid development approach allowing flexibility in coding and testing
use cases of ResearchMCP?
- Conducting in-depth research using the enhanced analysis endpoint.
- Utilizing the standard MCP endpoint for basic search functionalities.
- Analyzing and summarizing search results with Claude API integration.
FAQ from ResearchMCP?
- What is the primary purpose of ResearchMCP?
ResearchMCP aims to provide a robust research tool that leverages MCP and Brave Search for effective information retrieval and analysis.
- Is ResearchMCP easy to set up?
Yes! The setup process is straightforward, with detailed instructions provided in the documentation.
- Can I run ResearchMCP in a Docker container?
Yes! ResearchMCP supports Docker for consistent development environments.
ResearchMCP
A research tool that combines the Model Context Protocol (MCP) with Brave Search, Tavily Search, etc. to achieve research capabilities equivalent to (or aiming to be equivalent to) ChatGPT's DeepResearch.
Technology Stack
- Runtime: Deno
- Framework: Hono
- Error Handling: Neverthrow (Result<T, E> pattern)
- Deployment: Docker container
Setup
Local Development
-
Install Deno
-
Clone the repository
-
Set environment variables
BRAVE_API_KEY
: Brave Search API keyTAVILY_API_KEY
: Tavily Search API key (optional)
-
Run the application:
make dev # HTTP server make mcp # MCP server for Claude Desktop
Container Environment
-
Install Docker and Docker Compose
-
Set environment variables in a
.env
file -
Build and run the container:
make d-build make d-up
Development Commands
# Local development
make dev # Start HTTP server with watch mode
make mcp # Start MCP server for Claude Desktop
make test # Run tests
make lint # Run linter
make format # Format code
make check # Type check
# Docker development
make d-build # Build the image
make d-dev # Start container with live reload
make d-up # Run in background
make d-logs # View logs
make d-down # Stop container
MCP Integration with Claude Desktop
-
Run the MCP server:
make mcp
-
In Claude Desktop, add a new MCP server with the following configuration:
{ "mcpServers": { "MCPSearch": { "description": "Web search powered by Brave, Tavily, etc.", "command": "/absolute/path/to/ResearchMCP/cli.ts", "args": [], "transport": "stdio", "env": { "BRAVE_API_KEY": "your_brave_api_key_here", "TAVILY_API_KEY": "your_tavily_api_key_here" } } } }
Replace
/absolute/path/to/ResearchMCP/cli.ts
with the actual path to the cli.ts file.
Known Limitations
- Language Support: Brave Search API has limited support for non-Latin characters. Searches in Japanese, Chinese, Korean, and other non-Latin script languages may fail with encoding errors. For best results, use English queries.
Features
- Web Search: Search the web using Brave Search API through Claude Desktop
- MCP Protocol: Full compliance with the Model Context Protocol
- Caching: Search results are cached to improve performance and reduce API calls