idea_world_labDEV JOURNAL
2026年5月28日星期四

2026-05-28 — Web Search MCP 测试回顾

测试概述

在 Qwen Code 中通过 MCP 服务器利用网页搜索进行 CI/CD 工具调研、API 端点搜索等开发辅助

MCP 服务器配置

MCP 服务器 引擎 角色
community-web-search DuckDuckGo + Reddit 无 API Key,基于缓存/黑名单
GitHub MCP GitHub API 仓库/代码/PR 搜索
Brave Search Brave API 网页搜索

测试结果

MCP 服务器 引擎 状态 问题
community-web-search DuckDuckGo ✅ 正常
community-web-search Reddit ⚠️ 不稳定 503 响应,偶尔 0 结果
GitHub MCP search_repositories ❌ 失败 认证错误 (Authentication Failed)
GitHub MCP search_code ❌ 失败 认证错误 (Authentication Failed)
Brave Search brave_web_search ❌ 失败 SUBSCRIPTION_TOKEN_INVALID
Brave Search brave_local_search ❌ 失败 令牌过期
community-web-search scrape_url ⚠️ 偶尔 Playwright Chromium 加载慢

主要发现

  1. DuckDuckGo 最为稳定 — 通过 uddg URL 解析得到 10 条结果,耗时约 2-3 秒
  2. Reddit 搜索不稳定 — JSON API 经常返回 503,可能是 User-Agent 头部问题
  3. GitHub MCP 令牌设置缺失GITHUB_PERSONAL_ACCESS_TOKEN 环境变量未设置,导致所有搜索 API 失败
  4. Brave Search 令牌过期 — API 订阅令牌无效
  5. scrape_url — Playwright stealth 模式可用,但速度慢(约 10 秒以上)

改进任务

  • GitHub MCP 令牌重新设置:在 ~/.qwen/settings.json 中添加 GITHUB_PERSONAL_ACCESS_TOKEN
  • Reddit 引擎改进:添加重试逻辑,固定 User-Agent,处理 fallback
  • Brave Search 令牌更换:需要重新申请 API 订阅令牌
  • scrape_url 缓存:对相同 URL 的重复 fetch 使用缓存以提升响应时间
  • 错误日志加强:通过 MCP 服务器的 stdout/stderr 记录日志,提升调试便利性
  • 超时优化:60 秒超时过长——考虑对不同搜索引擎设置各自的超时

结论

当前 community-web-search MCP 仅 DuckDuckGo 引擎可实际使用。GitHub MCP 与 Brave Search 需要重新设置令牌。Reddit 引擎的重试/日志改进迫在眉睫。