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

ResearchMCP

MCP.Pizza Chef: riii111

ResearchMCP is a multi-search API aggregator server built with Deno and Hono, designed to integrate various search engines like Brave Search and Tavily Search into the Model Context Protocol ecosystem. It enables advanced research capabilities comparable to ChatGPT's DeepResearch by combining multiple search sources into a unified MCP server interface. It supports robust error handling with Neverthrow and is deployable via Docker containers, facilitating scalable and reliable research workflows.

Use This MCP server To

Aggregate search results from multiple APIs into a single MCP context Enable LLMs to perform deep research using combined search engine data Provide real-time search context for AI-powered research assistants Deploy a scalable MCP server for multi-source research queries Integrate Brave and Tavily search APIs for enriched data retrieval Support development of AI agents with enhanced external knowledge access

README

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

  1. Install Deno

  2. Clone the repository

  3. Set environment variables

    • BRAVE_API_KEY: Brave Search API key
    • TAVILY_API_KEY: Tavily Search API key (optional)
  4. Run the application:

    make dev  # HTTP server
    make mcp  # MCP server for Claude Desktop

Container Environment

  1. Install Docker and Docker Compose

  2. Set environment variables in a .env file

  3. 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

  1. Run the MCP server: make mcp

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

ResearchMCP FAQ

How do I set up ResearchMCP for local development?
Install Deno, clone the repo, set environment variables for API keys, then run 'make dev' or 'make mcp'.
Can ResearchMCP be deployed in a containerized environment?
Yes, it supports Docker and Docker Compose for easy container deployment.
What search APIs does ResearchMCP support?
It supports Brave Search and optionally Tavily Search, with potential for adding more.
How does ResearchMCP handle errors?
It uses the Neverthrow pattern (Result<T, E>) for robust error handling.
Is ResearchMCP compatible with multiple LLM providers?
Yes, it integrates with MCP clients that can use models like OpenAI, Claude, and Gemini.
What programming languages and frameworks is ResearchMCP built with?
It is built using Deno runtime and the Hono web framework.
How do I provide API keys to ResearchMCP?
Set environment variables such as BRAVE_API_KEY and optionally TAVILY_API_KEY before running the server.
Can ResearchMCP be used to enhance AI research assistants?
Yes, it aggregates multiple search sources to provide richer context for AI models.