Open Deep Research

Official Recommended

by Highlight

1 1.2k downloads 5.0 (1) MIT
GitHub

About

Open Deep Research is an AI-powered research assistant designed to perform in-depth, iterative research on any topic. It integrates with AI agents via the Model Context Protocol (MCP) for seamless operation. The tool leverages large language models (LLMs) to generate intelligent…

Details

Repository
highlight-ing/deep-research-mcp
License
MIT

Explore

- MCP Integration: Available as a Model Context Protocol tool for seamless integration with AI agents
- Iterative Research: Performs deep research by iteratively generating search queries, processing results, and diving deeper based on findings
- Intelligent Query Generation: Uses LLMs to generate targeted search queries based on research goals and previous findings
- Depth & Breadth Control: Configurable parameters to control how wide (breadth) and deep (depth) the research goes
- Smart Follow-up: Generates follow-up questions to better understand research needs
- Comprehensive Reports: Produces detailed markdown reports with findings and sources
- Concurrent Processing: Handles multiple searches and result processing in parallel for efficiency

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Open Deep Research
    Command (node, npx, python, etc.) node
    Arguments
    • Argument 1 --env-file
    • Argument 2 .env.local
    • Argument 3 dist/mcp-server.js
    Environment
    • FIRECRAWL_KEY your_firecrawl_key
    • OPENAI_API_KEY your_openai_key

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Node.js environment (v22.x recommended)
- API keys for:
- Firecrawl API (for web search and content extraction)
- OpenAI API (for o3 mini model)

For standalone usage without MCP, you can use the CLI interface:

npm run start "Your research query here"

To test the MCP server with the inspector:

npx @modelcontextprotocol/inspector node --env-file .env.local dist/mcp-server.js

deep-research

Performs deep research on a given query. Parameters: query (string) - the research query, depth (number, 1-5) - how deep to go in the research tree, breadth (number, 1-5) - how broad to make each research level, existingLearnings (string[], optional) - array of existing research findings to build upon.

The deep research functionality is available as an MCP tool that can be used by AI agents. To start the MCP server:

node --env-file .env.local dist/mcp-server.js

The tool provides the following parameters:
- query (string): The research query to investigate
- depth (number, 1-5): How deep to go in the research tree
- breadth (number, 1-5): How broad to make each research level
- existingLearnings (string[], optional): Array of existing research findings to build upon

Example tool usage in an agent:

const result = await mcp.invoke("deep-research", {
query: "What are the latest developments in quantum computing?",
depth: 3,
breadth: 3
});

The tool returns:
- A detailed markdown report of the findings
- List of sources used in the research
- Metadata about learnings and visited URLs

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "open deep research": {
            "env": {
                "FIRECRAWL_KEY": "your_firecrawl_key",
                "OPENAI_API_KEY": "your_openai_key"
            },
            "args": [
                "--env-file",
                ".env.local",
                "dist/mcp-server.js"
            ],
            "command": "node"
        }
    }
}

Linux

{
    "env": {
        "FIRECRAWL_KEY": "your_firecrawl_key",
        "OPENAI_API_KEY": "your_openai_key"
    },
    "args": [
        "--env-file",
        ".env.local",
        "dist/mcp-server.js"
    ],
    "command": "node"
}

Macos

{
    "env": {
        "FIRECRAWL_KEY": "your_firecrawl_key",
        "OPENAI_API_KEY": "your_openai_key"
    },
    "args": [
        "--env-file",
        ".env.local",
        "dist/mcp-server.js"
    ],
    "command": "node"
}

Windows

{
    "env": {
        "FIRECRAWL_KEY": "your_firecrawl_key",
        "OPENAI_API_KEY": "your_openai_key"
    },
    "args": [
        "/c",
        "node",
        "--env-file",
        ".env.local",
        "dist/mcp-server.js"
    ],
    "command": "cmd"
}

An AI-powered research assistant that performs iterative, deep research on any topic by combining search engines, web scraping, and large language models. Available as a Model Context Protocol (MCP) tool for seamless integration with AI agents.

The goal of this repo is to provide the simplest implementation of a deep research agent - e.g. an agent that can refine its research direction over time and deep dive into a topic. Goal is to keep the repo size at <500 LoC so it is easy to understand and build on top of.

How It Works

flowchart TB
    subgraph Input
        Q[User Query]
        B[Breadth Parameter]
        D[Depth Parameter]
    end

DR[Deep Research] -->
SQ[SERP Queries] -->
PR[Process Results]

subgraph Results[Results]
direction TB
NL((Learnings))
ND((Directions))
end

PR --> NL
PR --> ND

DP{depth > 0?}

RD["Next Direction:
- Prior Goals
- New Questions
- Learnings"]

MR[Markdown Report]

%% Main Flow
Q & B & D --> DR

%% Results to Decision
NL & ND --> DP

%% Circular Flow
DP -->|Yes| RD
RD -->|New Context| DR

%% Final Output
DP -->|No| MR

%% Styling
classDef input fill:#7bed9f,stroke:#2ed573,color:black
classDef process fill:#70a1ff,stroke:#1e90ff,color:black
classDef recursive fill:#ffa502,stroke:#ff7f50,color:black
classDef output fill:#ff4757,stroke:#ff6b81,color:black
classDef results fill:#a8e6cf,stroke:#3b7a57,color:black

class Q,B,D input
class DR,SQ,PR process
class DP,RD recursive
class MR output
class NL,ND results

Features

- MCP Integration: Available as a Model Context Protocol tool for seamless integration with AI agents
- Iterative Research: Performs deep research by iteratively generating search queries, processing results, and diving deeper based on findings
- Intelligent Query Generation: Uses LLMs to generate targeted search queries based on research goals and previous findings
- Depth & Breadth Control: Configurable parameters to control how wide (breadth) and deep (depth) the research goes
- Smart Follow-up: Generates follow-up questions to better understand research needs
- Comprehensive Reports: Produces detailed markdown reports with findings and sources
- Concurrent Processing: Handles multiple searches and result processing in parallel for efficiency

Requirements

- Node.js environment (v22.x recommended)
- API keys for:
- Firecrawl API (for web search and content extraction)
- OpenAI API (for o3 mini model)

Setup

Node.js

1. Clone the repository
2. Install dependencies:

npm install

3. Set up environment variables in a .env.local file:

```bash
OPENAI_API_KEY="your_openai_key"
FIRECRAWL_KEY="your_firecrawl_key"

5.0 · 1 review

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.