2026-05-28 — Web Search MCP テスト振り返り
テスト概要
Qwen Code で MCP サーバーを通じてウェブ検索を活用し、CI/CD ツール調査、API エンドポイント検索など開発支援
MCP サーバー構成
| MCP サーバー | エンジン | 役割 |
|---|---|---|
| community-web-search | DuckDuckGo + Reddit | API キーなし、キャッシュ/ブラックリストベース |
| 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環境変数が設定されておらず、すべての search API が失敗 - Brave Search トークン期限切れ — API サブスクリプショントークンが無効
- scrape_url — Playwright stealth モードは機能するが遅い(約 10 秒以上)
改善課題
- GitHub MCP トークン再設定:
~/.qwen/settings.jsonにGITHUB_PERSONAL_ACCESS_TOKENを追加 - Reddit エンジン改善: リトライロジック追加、User-Agent 固定、フォールバック処理
- Brave Search トークン交換: 新しい API サブスクリプショントークンの発行が必要
- scrape_url キャッシュ: 同一 URL の繰り返し fetch 時にキャッシュで応答時間改善
- エラーロギング強化: MCP サーバーの stdout/stderr ロギングでデバッグ容易性確保
- タイムアウト最適化: 60 秒のタイムアウトが長すぎる — エンジン別に個別タイムアウト適用を検討
結論
現在 community-web-search MCP は DuckDuckGo エンジンのみ実務で使用可能。GitHub MCP と Brave Search はトークン再設定が必要。Reddit エンジンはリトライ/ロギング改善が急務。