Deep Research MCP Server
An MCP server for deep research that performs search, scraping, synthesis, fact-checking, and persistent memory, enabling users to conduct comprehensive research tasks via Claude.
README
<p align="center"> <img src="assets/logo.png" width="140" alt="Deep Research MCP Logo" /> </p>
<h1 align="center">Deep Research MCP Server</h1> <p align="center"><b>Non-generic MCP for real research. Search → Scrape → Synthesize → Fact-check → Remember.</b></p>
<p align="center"> <a href="https://github.com/SECRET4422/mcp-deep-research-server/actions"><img src="https://img.shields.io/github/actions/workflow/status/SECRET4422/mcp-deep-research-server/ci.yml?branch=main&label=CI&logo=github" alt="CI" /></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/SECRET4422/mcp-deep-research-server" alt="MIT" /></a> <a href="package.json"><img src="https://img.shields.io/badge/TypeScript-5.6-blue?logo=typescript" alt="TS" /></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Compatible-black?logo=anthropic" alt="MCP" /></a> <a href="https://www.npmjs.com/package/mcp-deep-research-server"><img src="https://img.shields.io/badge/npm-1.1.0-red?logo=npm" alt="npm" /></a> <img src="https://img.shields.io/badge/No%20API%20Key%20Needed-green" alt="No API Key" /> </p>
Why not generic?
| Generic MCP (boring) | This MCP (pro) |
|---|---|
echo, fetch |
Orchestrated deep research |
| Returns raw HTML | Cheerio + Turndown → clean markdown + headings, links, meta |
| No memory | Persistent memory in ~/.mcp-deep-research/ |
| One page at a time | Parallel 3-worker scraper, 10min cache |
| No reasoning | Fact-check with stance scoring, contradiction detection |
Architecture
graph LR
A[User: deep_research topic] --> B[search_web DDG HTML]
B --> C[Parallel Scrape x3-8]
C --> D[cheerio clean + turndown md]
D --> E[extract_insights heuristic]
E --> F[Synthesize Report + Citations]
F --> G[memory_save + history]
F --> H[Return to Claude]
I[compare_sources] --> C
J[fact_check_claim] --> B
K[memory_search] --> G
Tools (8)
| Tool | What it does | Params |
|---|---|---|
search_web |
DuckDuckGo HTML search, no API key, UDDG decode | query, count 1-10, timeFilter |
scrape_page |
Fetch + main-content heuristic + markdown | `url, format=markdown |
extract_insights |
Entities, stats regex, key-point scoring, reading time | content, goal? |
deep_research |
Power tool — search → parallel scrape → synthesize report | `topic, depth=quick |
compare_sources |
2-5 URLs → consensus vs unique vs contradictions | urls[], focus? |
fact_check_claim |
Searches support + debunked OR false, heuristic verdict |
claim, searchDepth |
memory_save |
Save finding to JSON, survives restarts | key, value, tags[], source? |
memory_search |
Fuzzy search in persistent memory | query, tags[], limit |
Resources:
research://memory— all saved findingsresearch://history— last 100 actionsresearch://stats— cache size, uptime
Prompts:
deep-dive-research— full research workflowfact-check— fact-checker squadcompare-narratives— bias & comparison table
Install
git clone https://github.com/SECRET4422/mcp-deep-research-server.git
cd mcp-deep-research-server
npm install
npm run build
Test (smoke)
npm run test:mcp
# or
npm run inspect # opens http://localhost:6274
Manually tested:
[search] Dehradun → 3 results ✓
[deep_research] What is MCP → 3 sources in 2.1s ✓
tools/list → 8 tools ✓
Add to Claude Desktop
Edit config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"deep-research": {
"command": "node",
"args": ["/absolute/path/to/mcp-deep-research-server/build/index.js"]
}
}
}
Restart Claude Desktop.
Add to Cursor / Windsurf / VS Code
.cursor/mcp.json or mcp.json:
{
"mcpServers": {
"deep-research": {
"command": "node",
"args": ["./build/index.js"],
"cwd": "/path/to/mcp-deep-research-server"
}
}
}
Example Prompts
Deep Research:
Use deep_research to research "Best LLM fine-tuning in 2026, depth deep" then compare LoRA vs QLoRA
Fact Check:
Fact check claim: "Bun is faster than Node" using fact_check_claim
Compare:
Compare these 3 URLs about MCP architecture focusing on security: https://modelcontextprotocol.io/docs/getting-started/intro https://www.anthropic.com/news/model-context-protocol https://en.wikipedia.org/wiki/Model_Context_Protocol
See examples/claude-example.md for more.
Data Storage
All in ~/.mcp-deep-research/:
memory.json— persistent findingshistory.json— audit log (100 max)cache/— reserved
No DB, no external calls except search/scrape.
Pro Features in v1.1.0
- ✅ Logo + pro README + badges
- ✅ GitHub Actions CI (Node 18/20/22) + Release workflow
- ✅ Issue templates, PR template, CONTRIBUTING, SECURITY
- ✅
.editorconfig, smoke test script - ✅ Optimized
package.jsonfor npm publishing - ✅ CHANGELOG tracked
Roadmap
- [ ] Tavily / Brave API fallback if keys present
- [ ] PDF parsing via
pdf-parse - [ ] YouTube transcript tool
- [ ] Vector search on memory (embeddings)
- [ ] Blocklist for SSRF (169.254.169.254 etc)
- [ ] Smithery registry
Dev
npm run dev # tsx watch
npm run build
npm run lint
Guidelines in CONTRIBUTING.md.
License
MIT © SECRET4422 — See LICENSE
Built with 🧠 for Dehradun → World. Not a generic MCP.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。