MCP Deep Web Research Server
一个模型上下文协议服务器,使 Claude 能够执行高级网络研究,具备智能搜索队列、增强的内容提取和深度研究能力。
README
MCP深度网络研究服务器 (v0.3.0)
一个用于高级网络研究的模型上下文协议 (MCP) 服务器。
最新更改
- 添加了 visit_page 工具,用于直接提取网页内容
- 优化了性能,以在 MCP 超时限制内工作
- 降低了默认的 maxDepth 和 maxBranching 参数
- 提高了页面加载效率
- 在整个过程中添加了超时检查
- 增强了超时错误处理
本项目是 mzxrai 的 mcp-webresearch 的一个分支,增强了深度网络研究功能的附加特性。 我们感谢原始创建者所做的基础工作。
通过智能搜索队列、增强的内容提取和深度研究功能,将实时信息带入 Claude。
特性
-
智能搜索队列系统
- 具有速率限制的批量搜索操作
- 具有进度跟踪的队列管理
- 错误恢复和自动重试
- 搜索结果去重
-
增强的内容提取
- 基于 TF-IDF 的相关性评分
- 关键词邻近度分析
- 内容部分加权
- 可读性评分
- 改进的 HTML 结构解析
- 结构化数据提取
- 更好的内容清理和格式化
-
核心特性
- Google 搜索集成
- 网页内容提取
- 研究会话跟踪
- 具有改进格式的 Markdown 转换
前提条件
- Node.js >= 18 (包括
npm
和npx
) - Claude 桌面应用
安装
通过 Smithery 安装
要通过 Smithery 为 Claude 桌面自动安装深度网络研究服务器:
npx -y @smithery/cli install @PedroDnT/mcp-deepwebresearch --client claude
全局安装 (推荐)
# 使用 npm 全局安装
npm install -g mcp-deepwebresearch
# 或者使用 yarn
yarn global add mcp-deepwebresearch
# 或者使用 pnpm
pnpm add -g mcp-deepwebresearch
本地项目安装
# 使用 npm
npm install mcp-deepwebresearch
# 使用 yarn
yarn add mcp-deepwebresearch
# 使用 pnpm
pnpm add mcp-deepwebresearch
Claude 桌面集成
安装软件包后,将此条目添加到您的 claude_desktop_config.json
:
Windows
{
"mcpServers": {
"deepwebresearch": {
"command": "mcp-deepwebresearch",
"args": []
}
}
}
位置: %APPDATA%\Claude\claude_desktop_config.json
macOS
{
"mcpServers": {
"deepwebresearch": {
"command": "mcp-deepwebresearch",
"args": []
}
}
}
位置: ~/Library/Application Support/Claude/claude_desktop_config.json
此配置允许 Claude 桌面在需要时自动启动网络研究 MCP 服务器。
首次设置
安装后,运行以下命令安装所需的浏览器依赖项:
npx playwright install chromium
用法
只需与 Claude 开始聊天,并发送一个可以从网络研究中受益的提示。 如果您想要一个为更深入的网络研究定制的预构建提示,您可以使用我们通过此软件包提供的 agentic-research
提示。 通过单击聊天输入中的回形针图标,然后选择 Choose an integration
→ deepwebresearch
→ agentic-research
,在 Claude 桌面中访问该提示。
工具
-
deep_research
- 执行具有内容分析的全面研究
- 参数:
{ topic: string; maxDepth?: number; // 默认值: 2 maxBranching?: number; // 默认值: 3 timeout?: number; // 默认值: 55000 (55 秒) minRelevanceScore?: number; // 默认值: 0.7 }
- 返回:
{ findings: { mainTopics: Array<{name: string, importance: number}>; keyInsights: Array<{text: string, confidence: number}>; sources: Array<{url: string, credibilityScore: number}>; }; progress: { completedSteps: number; totalSteps: number; processedUrls: number; }; timing: { started: string; completed?: string; duration?: number; operations?: { parallelSearch?: number; deduplication?: number; topResultsProcessing?: number; remainingResultsProcessing?: number; total?: number; }; }; }
-
parallel_search
- 使用智能队列并行执行多个 Google 搜索
- 参数:
{ queries: string[], maxParallel?: number }
- 注意:maxParallel 限制为 5,以确保可靠的性能
-
visit_page
- 访问网页并提取其内容
- 参数:
{ url: string }
- 返回:
{ url: string; title: string; content: string; // Markdown 格式化的内容 }
提示
agentic-research
一个引导式研究提示,可帮助 Claude 进行彻底的网络研究。 该提示指示 Claude:
- 从广泛的搜索开始,以了解主题概况
- 优先考虑高质量、权威的来源
- 根据发现迭代地改进研究方向
- 随时通知您,并让您以交互方式指导研究
- 始终引用带有 URL 的来源
配置选项
可以通过环境变量配置服务器:
MAX_PARALLEL_SEARCHES
:最大并发搜索数(默认值:5)SEARCH_DELAY_MS
:搜索之间的延迟(以毫秒为单位)(默认值:200)MAX_RETRIES
:失败请求的重试次数(默认值:3)TIMEOUT_MS
:请求超时(以毫秒为单位)(默认值:55000)LOG_LEVEL
:日志记录级别(默认值:'info')
错误处理
常见问题
-
速率限制
- 症状:“请求过多”错误
- 解决方案:增加
SEARCH_DELAY_MS
或减少MAX_PARALLEL_SEARCHES
-
网络超时
- 症状:“请求超时”错误
- 解决方案:确保请求在 60 秒 MCP 超时内完成
-
浏览器问题
- 症状:“浏览器启动失败”错误
- 解决方案:确保 Playwright 已正确安装 (
npx playwright install
)
调试
这是测试版软件。 如果您遇到问题:
-
检查 Claude 桌面的 MCP 日志:
# 在 macOS 上 tail -n 20 -f ~/Library/Logs/Claude/mcp*.log # 在 Windows 上 Get-Content -Path "$env:APPDATA\Claude\logs\mcp*.log" -Tail 20 -Wait
-
启用调试日志记录:
export LOG_LEVEL=debug
开发
设置
# 安装依赖项
pnpm install
# 构建项目
pnpm build
# 监视更改
pnpm watch
# 在开发模式下运行
pnpm dev
测试
# 运行所有测试
pnpm test
# 在监视模式下运行测试
pnpm test:watch
# 运行具有覆盖率的测试
pnpm test:coverage
代码质量
# 运行 linter
pnpm lint
# 修复 linting 问题
pnpm lint:fix
# 类型检查
pnpm type-check
贡献
- Fork 存储库
- 创建您的功能分支 (
git checkout -b feature/amazing-feature
) - 提交您的更改 (
git commit -m 'Add some amazing feature'
) - 将其推送到分支 (
git push origin feature/amazing-feature
) - 打开一个 Pull Request
编码标准
- 遵循 TypeScript 最佳实践
- 将测试覆盖率保持在 80% 以上
- 记录新功能和 API
- 更新 CHANGELOG.md 以进行重大更改
- 遵循语义版本控制
性能注意事项
- 尽可能使用批量操作
- 实施适当的错误处理和重试
- 考虑大型数据集的内存使用情况
- 在适当的时候缓存结果
- 使用流式传输大型内容
要求
- Node.js >= 18
- Playwright(作为依赖项自动安装)
验证平台
- [x] macOS
- [x] Windows
- [ ] Linux
许可证
MIT
鸣谢
本项目基于 mzxrai 的 mcp-webresearch 的出色工作。 原始代码库为我们增强的功能和能力奠定了基础。
作者
推荐服务器

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mult-fetch-mcp-server
一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
BigQuery MCP Server
这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。
mcp-perplexity
Perplexity API 的 MCP 服务器。