返回市场
深网研究

深网研究

作者:qpd-v81 星标更新:2025-03-06

项目介绍

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

Node.js 版本 TypeScript 许可证: MIT

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

<a href="https://glama.ai/mcp/servers/5afpizjl6x"><img width="380" height="200" src="https://gips1.baidu.com/it/u=4162536652,945636799&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Web Research Server MCP 服务器" /></a>

最新更改

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

该项目是mcp-webresearch的一个分支,由mzxrai创建,增加了额外的功能以增强深网研究能力。我们感谢原始作者的基础工作。

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

功能

  • 智能搜索队列系统

    • 批量搜索操作,带有速率限制
    • 带有进度跟踪的队列管理
    • 错误恢复和自动重试
    • 搜索结果去重
  • 增强的内容提取

    • 基于TF-IDF的相关性评分
    • 关键词接近度分析
    • 内容部分权重
    • 可读性评分
    • 改进的HTML结构解析
    • 结构化数据提取
    • 更好的内容清理和格式化
  • 核心功能

    • 集成Google搜索
    • 网页内容提取
    • 研究会话跟踪
    • 改进格式化的Markdown转换

先决条件

安装

全局安装(推荐)

# 使用 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 提示。在 Claude 桌面应用中,点击聊天输入中的纸夹图标,然后选择 选择一个集成deepwebresearchagentic-research 来访问该提示。

工具

  1. 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;
          };
        };
      }
      
  2. parallel_search

    • 并行执行多个Google搜索,具有智能排队
    • 参数:{ queries: string[], maxParallel?: number }
    • 注意:maxParallel 限制为5以确保可靠性能
  3. 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')

错误处理

常见问题

  1. 速率限制

    • 症状:"请求过多"错误
    • 解决方案:增加 SEARCH_DELAY_MS 或减少 MAX_PARALLEL_SEARCHES
  2. 网络超时

    • 症状:"请求超时"错误
    • 解决方案:确保请求在60秒的MCP超时内完成
  3. 浏览器问题

    • 症状:"浏览器无法启动"错误
    • 解决方案:确保正确安装了 Playwright(npx playwright install

调试

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

  1. 检查 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
    
  2. 启用调试日志记录:

    export LOG_LEVEL=debug
    

开发

设置

# 安装依赖项
pnpm install

# 构建项目
pnpm build

# 监视更改
pnpm watch

# 在开发模式下运行
pnpm dev

测试

# 运行所有测试
pnpm test

# 在监视模式下运行测试
pnpm test:watch

# 运行带有覆盖率的测试
pnpm test:coverage

代码质量

# 运行 linter
pnpm lint

# 修复 linter 问题
pnpm lint:fix

# 类型检查
pnpm type-check

贡献

  1. 分支存储库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一些惊人的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

编码标准

  • 遵循 TypeScript 最佳实践
  • 维持测试覆盖率高于80%
  • 文档新功能和API
  • 对重大变更更新 CHANGELOG.md
  • 遵循语义版本控制

性能考虑

  • 尽可能使用批处理操作
  • 实现适当的错误处理和重试
  • 考虑大型数据集的内存使用
  • 当合适时缓存结果
  • 对于大量内容使用流式传输

要求

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

验证平台

  • macOS
  • Windows
  • Linux

许可证

MIT

致谢

该项目基于 mcp-webresearch 的出色工作,由 mzxrai 创建。原始代码库提供了我们增强功能和能力的基础。

作者

qpd-v