Skip to main content
3 min read

MCP-powered Deep Researcher

Multi-agent (100% local).

👉

ChatGPT has a deep research feature. It helps you get detailed insights on any topic.

In this chapter, let us show you how you can build a 100% local alternative to it.

Tech stack:

  • ​Linkup​ for deep web research.
  • CrewAI for multi-agent orchestration.
  • Ollama to locally serve DeepSeek-R1.
  • Cursor as the MCP host..

Here’s the system overview:

  • User submits a query.
  • Web search agent runs deep web search via ​Linkup​.
  • Research analyst verifies and deduplicates results.
  • Technical writer crafts a coherent response with citations.

The code repository is linked later in the issue.

If you prefer to watch, here's a video version of this newsletter issue:

Implementation

Let’s implement the deep researcher now!

Setup LLM

We'll use a locally served DeepSeek-R1 using Ollama.

Define Web Search Tool

We'll use Linkup’s powerful search capabilities, which rival Perplexity and OpenAI, to power our web search agent.

This is done by defining a custom tool that our agent can use.

Define Web Search Agent

The web search agent gathers up-to-date information from the internet based on user query.

The linkup tool we defined earlier is used by this agent.

Define Research Analyst Agent

This agent transforms raw web search results into structured insights, with source URLs.

It can also delegate tasks back to the web search agent for verification and fact-checking.

Define Technical Writer Agent

It takes the analyzed and verified results from the analyst agent and drafts a coherent response with citations for the end user.

Setup Crew

Finally, once we have all the agents and tools defined, we set up and kick off our deep researcher crew.

Create MCP Server

Now, we'll encapsulate our deep research team within an MCP tool. With just a few lines of code, our MCP server will be ready.

Here’s how to connect it with Cursor:

Integrate MCP server with Cursor

Go to: File → Preferences → Cursor Settings → MCP → Add new global MCP server.

In the JSON file, add what's shown below:

Done! Your deep research MCP server is live and connected to Cursor (you can also connect it to Claude Desktop if you’d like).

To use Deep Researcher independently, we have also created a nice Streamlit UI where you can see a deep research on “small language models”:

0:00
/0:32

And that’s your MCP-powered 100% local deep researcher!

​Find the code in this GitHub repo →​ (don’t forget to star the repo)

👉 Over to you: What other demos would you like to see?

Thanks for reading!

Published on Oct 11, 2025