MCP Deep Web Research Server

by PedroDnT
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates with Google Search to perform searches, with features for parallel searching, batch operations with rate limiting, and intelligent queuing of search requests.

  • Converts web content to Markdown format with improved formatting, making research results more readable within Claude.

MCP 深层网络研究服务器 (v0.3.0)

用于高级网络研究的模型上下文协议 (MCP) 服务器。

最新变更

  • 增加visit_page工具,可直接提取网页内容
  • 优化性能以在 MCP 超时限制内工作
    • 减少默认的 maxDepth 和 maxBranching 参数
    • 提高页面加载效率
    • 在整个过程中添加了超时检查
    • 增强超时错误处理

该项目是mzxrai开发的mcp-webresearch的一个分支,并添加了深度网络研究的附加功能。我们感谢原作者的奠基性工作。

通过智能搜索排队、增强内容提取和深度研究功能将实时信息带入 Claude。

特征

  • 智能搜索队列系统
    • 具有速率限制的批量搜索操作
    • 带进度跟踪的队列管理
    • 错误恢复和自动重试
    • 搜索结果去重
  • 增强内容提取
    • 基于 TF-IDF 的相关性评分
    • 关键词接近度分析
    • 内容部分权重
    • 可读性评分
    • 改进的 HTML 结构解析
    • 结构化数据提取
    • 更好的内容清理和格式化
  • 核心功能
    • Google 搜索集成
    • 网页内容提取
    • 研究会话跟踪
    • 改进格式的 Markdown 转换

先决条件

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Deep Web Research Server:

npx -y @smithery/cli install @PedroDnT/mcp-deepwebresearch --client claude

全局安装(推荐)

# Install globally using npm npm install -g mcp-deepwebresearch # Or using yarn yarn global add mcp-deepwebresearch # Or using pnpm pnpm add -g mcp-deepwebresearch

本地项目安装

# Using npm npm install mcp-deepwebresearch # Using yarn yarn add mcp-deepwebresearch # Using pnpm pnpm add mcp-deepwebresearch

Claude 桌面集成

安装软件包后,将此条目添加到您的claude_desktop_config.json中:

视窗

{ "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 Desktop 在需要时自动启动网络研究 MCP 服务器。

首次设置

安装后,运行此命令安装所需的浏览器依赖项:

npx playwright install chromium

用法

只需与 Claude 开始聊天,并发送一个有助于进行网络研究的提示即可。如果您想要一个为更深入的网络研究而定制的预建提示,您可以使用我们通过此包提供的agentic-research提示。在 Claude Desktop 中,点击聊天输入框中的回形针图标,然后选择Choose an integrationdeepwebresearchagentic-research访问该提示。

工具

  1. deep_research
    • 通过内容分析进行全面研究
    • 参数:
      { topic: string; maxDepth?: number; // default: 2 maxBranching?: number; // default: 3 timeout?: number; // default: 55000 (55 seconds) minRelevanceScore?: number; // default: 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; }; }; }
  2. parallel_search
    • 通过智能排队并行执行多个 Google 搜索
    • 参数: { queries: string[], maxParallel?: number }
    • 注意:maxParallel 限制为 5,以确保可靠的性能
  3. visit_page
    • 访问网页并提取其内容
    • 参数: { url: string }
    • 返回:
      { url: string; title: string; content: string; // Markdown formatted content }

提示

agentic-research

引导式研究提示,帮助 Claude 进行深入的网络研究。该提示指导 Claude 执行以下操作:

  • 从广泛的搜索开始,了解主题概况
  • 优先考虑高质量、权威的来源
  • 根据研究结果反复完善研究方向
  • 让您随时了解情况,并让您以交互方式指导研究
  • 始终引用带有 URL 的来源

配置选项

可以通过环境变量配置服务器:

  • MAX_PARALLEL_SEARCHES :最大并发搜索数(默认值:5)
  • SEARCH_DELAY_MS :搜索之间的延迟时间(以毫秒为单位)(默认值:200)
  • MAX_RETRIES :失败请求的重试次数(默认值:3)
  • TIMEOUT_MS :请求超时(以毫秒为单位)(默认值:55000)
  • LOG_LEVEL :日志记录级别(默认值:'info')

错误处理

常见问题

  1. 速率限制
    • 症状:“请求过多”错误
    • 解决方案:增加SEARCH_DELAY_MS或减少MAX_PARALLEL_SEARCHES
  2. 网络超时
    • 症状:“请求超时”错误
    • 解决方案:确保请求在 60 秒 MCP 超时内完成
  3. 浏览器问题
    • 症状:“浏览器启动失败”错误
    • 解决方案:确保 Playwright 已正确安装( npx playwright install

调试

这是测试版软件。如果您遇到问题:

  1. 检查 Claude Desktop 的 MCP 日志:
    # On macOS tail -n 20 -f ~/Library/Logs/Claude/mcp*.log # On Windows Get-Content -Path "$env:APPDATA\Claude\logs\mcp*.log" -Tail 20 -Wait
  2. 启用调试日志记录:
    export LOG_LEVEL=debug

发展

设置

# Install dependencies pnpm install # Build the project pnpm build # Watch for changes pnpm watch # Run in development mode pnpm dev

测试

# Run all tests pnpm test # Run tests in watch mode pnpm test:watch # Run tests with coverage pnpm test:coverage

代码质量

# Run linter pnpm lint # Fix linting issues pnpm lint:fix # Type check pnpm type-check

贡献

  1. 分叉存储库
  2. 创建你的功能分支( git checkout -b feature/amazing-feature
  3. 提交您的更改( git commit -m 'Add some amazing feature'
  4. 推送到分支( git push origin feature/amazing-feature
  5. 打开拉取请求

编码标准

  • 遵循 TypeScript 最佳实践
  • 保持测试覆盖率在 80% 以上
  • 记录新功能和 API
  • 更新 CHANGELOG.md 以了解重大变化
  • 遵循语义版本控制

性能考虑

  • 尽可能使用批处理操作
  • 实施适当的错误处理和重试
  • 考虑大型数据集的内存使用情况
  • 在适当的时候缓存结果
  • 使用流式传输来获取大量内容

要求

  • Node.js >= 18
  • Playwright(作为依赖项自动安装)

已验证的平台

  • [x] macOS
  • [x] Windows
  • Linux

执照

麻省理工学院

致谢

该项目以mzxraimcp-webresearch的出色工作为基础。原始代码库为我们增强的功能和性能奠定了基础。

作者

qpd-v

ID: vsfb013k8i