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 | ⚠️ 不稳定 | 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 加载慢 |
主要发现
- DuckDuckGo 最为稳定 — 通过 uddg URL 解析得到 10 条结果,耗时约 2-3 秒
- Reddit 搜索不稳定 — JSON API 经常返回 503,可能是 User-Agent 头部问题
- GitHub MCP 令牌设置缺失 —
GITHUB_PERSONAL_ACCESS_TOKEN环境变量未设置,导致所有搜索 API 失败 - Brave Search 令牌过期 — API 订阅令牌无效
- 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 引擎的重试/日志改进迫在眉睫。