mcpField
A
Agent Search mcp

Agent Search mcp

ローカル
github.com/lennney検索1116 週間前に更新

Agent Search mcp について

Agent Search MCP は Node.js で実装された MCP サーバーおよびコマンドラインツールで、API キーなしで英語と中国語の Web 検索を行えます。プロバイダーの失敗や予算上の制限を可視化したまま多源の証拠を返し、検索結果を確認したい AI エージェントを対象としています。

主な機能

  1. 01ゼロキーで使える検索エンジン 8 種
  2. 02ウォーターフォール方式の段階的検索
  3. 03提供元ファミリー数を含む多源の証拠
  4. 04partialFailures での失敗情報の保持
  5. 05ルーティングポリシーに基づくオプションの有料プロバイダー

活用シーン

  1. 01API キーなしで AI エージェントが行う簡易的な Web 検索
  2. 02公式ソースに基づく主張の検証
  3. 03Sogou や Baidu による中国語 Web コンテンツの検索

MCP 対応

本プロジェクトは MCP サーバーとして動作し、free_search や free_extract などの検索・ページ抽出ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"agent-search-dc1371": {
"command": "npx",
"args": [
"-y",
"agent-search-mcp"
],
"env": {
"BRAVE_API_KEY": "<BRAVE_API_KEY>",
"TAVILY_API_KEY": "<TAVILY_API_KEY>",
"EXA_API_KEY": "<EXA_API_KEY>",
"YDC_API_KEY": "<YDC_API_KEY>",
"TENCENT_WSA_API_KEY": "<TENCENT_WSA_API_KEY>",
"BOCHA_API_KEY": "<BOCHA_API_KEY>",
"SERPER_API_KEY": "<SERPER_API_KEY>",
"SEARCH_PROVIDER_MODE": "<SEARCH_PROVIDER_MODE>",
"PAID_ENGINE_ORDER": "<PAID_ENGINE_ORDER>"
}
}
}
}
起動コマンドnpx -y agent-search-mcp
設定が必要な環境変数
BRAVE_API_KEYシークレットBrave Search API key (optional, enables Brave engine)
TAVILY_API_KEYシークレットTavily Search API key (optional, enables Tavily engine)
EXA_API_KEYシークレットExa Search API key (optional, enables Exa engine)
YDC_API_KEYシークレットYou.com Search API key (optional, enables You.com engine)
TENCENT_WSA_API_KEYシークレットTencent Web Search API key (optional, enables Tencent WSA engine)
BOCHA_API_KEYシークレットBocha Web Search API key (optional, enables Bocha engine)
SERPER_API_KEYシークレットSerper API key (optional, enables Google SERP search)
SEARCH_PROVIDER_MODEProvider policy: free_first, quality_escalation, paid_first, or free_only
PAID_ENGINE_ORDERComma-separated optional-provider preference order

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmagent-search-mcp3.2.1

ツール

7

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
querystringはい検索クエリ文字列。自然言語を使用してください(例:"latest AI news 2026")。中国語の検索結果を得るには、engines に Sogou または Baidu を含めてください。
limitintegerいいえ返す結果の数(1-50)。デフォルトは10です。値を大きくすると token の使用量が増えます。
enginesarrayいいえ使用する検索エンジン(デフォルト:duckduckgo + sogou)。無料の検索エンジンは API キーなしで利用できます。オプションの API エンジンには、それぞれに対応する環境変数の認証情報が必要です。中国語の検索結果を得るには、sogou または baidu を含めてください。

詳細

Agent Search MCP:検証可能なエビデンスを備えた無料優先のウェブ検索

英語および中国語のウェブ検索に対応する Node.js MCP サーバーと CLI です。

Agent Search MCP は API キーなしで起動します。複数のソースから簡潔なエビデンスを返し、プロバイダーの障害を記録して、リクエストとエビデンスの予算によって処理を制限します。有料プロバイダーは、ポリシーと認証情報が許可する場合にのみ実行されます。

npm version npm downloads GitHub stars CI License Glama

中文文档 · 製品ページ · ベンチマーク · アーキテクチャ · 変更履歴


インストール

npx -y agent-search-mcp

Node.js >= 18.17 が必要です。デフォルトのランタイムでは、ブラウザー、データベース、Python、検索 API アカウントは不要です。

MCP クライアントに接続する

Claude Desktop、Cursor、VS Code、Windsurf など、mcpServers JSON を受け付ける MCP クライアントでは、次の stdio 設定を使用してください。

{
  "mcpServers": {
    "agent-search": {
      "command": "npx",
      "args": ["-y", "agent-search-mcp"]
    }
  }
}

Claude Code と Codex では、MCP 設定から同じ npx -y agent-search-mcp stdio コマンドを登録できます。

オプションの Agent Skill を追加する

MCP サーバーに接続した後、Agent Skills に対応するクライアントでは、リポジトリに含まれるルーティングガイドをインストールできます。

npx skills add lennney/agent-search-mcp --skill agent-search

Use $agent-search to verify this claim with official sources. のようなリクエストで呼び出します。Agent Search Skill は、制限付きの4つの経路(簡易検索、より厳密な検証、中国語ソースの検索、選択した URL の抽出)から1つを選びます。必要な MCP ツールが存在することを確認し、インストールや設定変更の前には確認を求めます。Skill をインストールしても、MCP サーバーは起動も設定もされません。

例:制限付き検索結果を確認する

ローカルパッケージをビルドした後、プロバイダーキーを追加せずに CLI でクエリを実行します。

npm run build
fasm search "MCP server without an API key" --json

レスポンスの仕様では、検索結果のエビデンス、meta.execution、partialFailures はそれぞれ分けて扱われます。プロバイダーのタイムアウトやチャレンジは、説明のない空の結果に変換されず、エージェントから確認できます。これは仕様の例であり、現在の可用性や検索品質を示すベンチマークではありません。

グローバルインストール後、検索リクエストを送信せずにローカルのランタイムを確認します。

npm install -g agent-search-mcp
fasm doctor

Agent Search MCP を選ぶ理由

必要なこと製品の動作
無料のウェブ検索API アカウントなしで、キー不要のソースを利用できます
プロバイダーのコスト管理明示的なルーティングポリシーがある場合にのみ、有料プロバイダーを実行します
トークンコストの管理簡潔な出力と単一のエビデンス予算によって、レスポンスサイズを制限します
複数ソースのエビデンス結果には、出所、関連度、プロバイダーファミリー数、部分的な障害が保持されます
中国語のウェブ検索Sogou と Baidu が、翻訳レイヤーを介さずに中国語のクエリに対応します
軽量なセルフホスト運用stdio、Streamable HTTP、CLI に対応する純粋な Node.js ランタイムです
通常のマルチエンジンラッパーとの違い
通常のマルチエンジン集約Agent Search MCP
重複を除いた N 件の結果を返します結果に加えて、独立したソース(アダプター名ではなく、プロバイダーファミリー)の数を返します
プロバイダーに障害が発生すると、一部の結果が何も通知されずに除外されますすべての障害が partialFailures に残ります(タイムアウト、レート制限、チャレンジ、権限、予算)
結果数が十分に見えると停止します品質ゲート(件数、関連性、信頼度、ソースの網羅性)を通過した場合にのみ停止し、stop_reason を返します
固定サイズの出力です共通のエビデンス予算で応答トークン数を制限し、コンパクトなテキストでも出典情報を保持します
1 つのアダプターを 1 つのソースとして数えます複数のアダプターを通じて同じ上流ソースを利用しても、source_count が水増しされることはありません

1 分間のオフラインデモでは、本番環境のエビデンススコアラーとフォーマッターを通じて、これらの違いを再現します。

検索エビデンスを確認する

各 JSON 応答には、1 つの検索エビデンスパケットが含まれます。これは、結果を使う前にエージェントが確認する必要のあるルーティングに関する質問に答えます。

質問応答フィールド
どのアダプターが実行されましたか?meta.execution.searched_engines
ルーターが停止した理由は何ですか?meta.execution.stop_reason および meta.execution.quality_gate
リクエストは作業上限に達しましたか?meta.execution.budget
エビデンスは切り詰められましたか?meta.evidence_budget
上流のプロバイダーに障害が発生しましたか?partialFailures
複数のアダプターが独立したソースを表していますか?results[].source_count は、アダプター名ではなくプロバイダーファミリーを数えます

1 分間のオフライン契約デモを実行します。

npm run demo:evidence
npm run demo:evidence -- --json

本番環境のエビデンススコアラー、フォーマッター、MCP 出力ヘルパーを通じて、3 つの合成シナリオを再現します。同一ファミリーのアダプターの重複、確認可能なフォールバックの失敗、上限付きの品質ゲートによる停止です。ライブでの利用可能性や検索品質について主張するものではなく、ネットワークリクエストも実行しません。

デフォルトの free_first ポリシーでは、設定された API 認証情報を使用しません。 free_only は有料プロバイダーをブロックします。quality_escalation は、無料エビデンスが品質ゲートを通過しなかった場合に、設定済みの有料プロバイダーを 1 つ呼び出すことができます。一方、paid_first は無料のフォールバックより先にそのプロバイダーを試します。

リクエスト予算は、アダプターの試行回数、経過時間、採用する結果数に上限を設けます。 エビデンス予算は、応答全体でクエリに関連する文章の数を制限します。 コンパクトモードでは、最初の結果には詳細な情報を保持し、後続の項目は出典を保持した参照情報に縮小します。

測定されたトークン削減

チェックイン済みのバイリンガルフィクスチャは、固定されたトークナイザーを使用してフォーマットを測定します。

出力クエリあたりの平均トークン数通常出力との比較での削減率
通常2396.0
コンパクト1650.131.1%
コンパクト+1633.031.8%

このフィクスチャは、出力フォーマットとエビデンスパケットの動作を検証します。ライブでのエンジンの利用可能性や検索品質は測定しません。ベンチマークの手法と制約を参照してください。

検索ルーターの仕組み

flowchart LR
    A["AI agent"] --> M["MCP search tools"]
    M --> P["Provider and request policy"]
    P --> F["Zero-key sources"]
    P --> O["Optional paid provider"]
    F --> E["Deduplicate, rank, and preserve failures"]
    O --> E
    E --> B["Evidence and token budget"]
    B --> R["Compact multi-source result"]

ルーターは各検索バッチを、結果、関連性、信頼度、プロバイダーファミリーの各ゲートに照らして評価します。エビデンスがこれらのゲートを通過すると停止し、その判断を meta.execution で公開します。プロバイダーの障害は partialFailures に表示されるため、結果が空でも上流のエラーが隠れることはありません。

競合状況の概要(2026-08-07)では、競争の激しい基本領域と製品のギャップを示しています。変化しうる事実について、情報源の日付と固定されたコミットを記録しています。2026-08-10 の更新では、それ以降の競合他社の動向を追加しています。直接競合するローカル製品は活動を休止しており、トークン効率に優れたエビデンスが、業界で明確に意識される差別化要因になりつつあります。以前のソースレベルの製品比較には、アーキテクチャに固有のエビデンスが記載されています。


エンジン

ランタイムには16個のアダプターが登録されています。内訳は、APIキー不要のアダプターが9個、任意のAPIアダプターが7個です。

エンジンアクセス言語役割
DuckDuckGoAPIキー不要en一般的なウェブ検索
Sogou SearchAPIキー不要zh中国語ウェブ検索
BingAPIキー不要en, zh多言語ウェブ検索
BaiduAPIキー不要zh中国語ウェブ検索
WikipediaAPIキー不要en, zh, ja, de, fr, es, auto百科事典の参照
StartpageAPIキー不要en, autoプライバシー重視のウェブ検索
YandexAPIキー不要ru, en, autoロシア語および国際的なウェブ検索
MojeekAPIキー不要en, auto独立系のプライバシー重視インデックス
WibyAPIキー不要en独立系の小規模ウェブインデックス
Brave SearchBRAVE_API_KEYen, zh任意の商用ウェブ検索
Tavily SearchTAVILY_API_KEYen, zh任意のエージェント向け検索
Exa SearchEXA_API_KEYen, zh任意のニューラル検索
You.com SearchYDC_API_KEYen, zh任意の商用ウェブ検索
Tencent Web Search APITENCENT_WSA_API_KEYzh任意の公式中国語ウェブ検索
Bocha Web SearchBOCHA_API_KEYzh, en任意の中国語を優先するAI検索
Serper Google SearchSERPER_API_KEYen, zh, auto任意のGoogle SERP検索

ツール

ツール説明最適な用途
free_search範囲を限定したフォールバック付きのマルチエンジンウェブ検索手早い事実確認と一般的な情報の探索
free_search_advancedフィルター付きの段階的検索と任意の補足情報取得ドメインポリシーと段階的な検証
free_extractURLをクリーンなMarkdownとして抽出ソースページ全体の閲覧
fetch_github_readme公開GitHubリポジトリのREADMEを取得プロジェクトのドキュメント
fetch_csdn_articleCSDNの記事を取得中国語の技術記事
fetch_juejin_articleJuejinの記事を取得中国語の開発者向け記事
search_with_synthesisLLMによる統合のヒントを付けて根拠を検索引用された根拠に基づく、エージェント作成の回答
機能の制御
環境変数デフォルト目的
ENABLED_TOOLS / DISABLED_TOOLSall / noneツール登録の許可リストと拒否リスト。拒否が優先されます
ALLOWED_ENGINES / DENIED_ENGINESall / noneエンジン実行の許可リストと拒否リスト。拒否が優先されます
SEARCH_PROVIDER_MODEfree_firstデフォルトのルーティング:free_first、quality_escalation、paid_first、またはfree_only
PAID_ENGINE_ORDERbrave,exa,tavily,youcom,tencent_wsa,bocha,serper最初に設定済みの任意プロバイダーを選択します。品質を示すものではありません
SEARCH_BUDGET_MAX_CALLS16アダプター呼び出し回数の予算
SEARCH_BUDGET_MAX_ELAPSED_MS30000エンドツーエンドの経過時間の予算
SEARCH_BUDGET_MAX_RESULTS100採用する生の検索結果数の予算
EVIDENCE_BUDGET_CHARS1200根拠の文字数の予算

search_with_synthesis は、主要な検索ツールと同じ標準形式のstructuredContent根拠パケットを使用し、prompt_hintを追加します。テキストコンテンツは、簡潔な互換性用ビューにすぎません。実行メタデータでは、予定されたアダプターと、リトライを含むアダプター試行を区別します。http_requestsは、誤った精度を示すことなくすべてのアダプターのトランスポートが報告できるようになるまで、nullです。

Wibyは、公式JSON APIに基づく実際のAPIキー不要の情報源で、独立系の小規模ウェブ検索を補完するため、無料検索のウォーターフォールの後半で使用されます。任意のプロバイダーの利用にはユーザーの認証情報が必要です。登録特典や試用枠の有無とその内容は各プロバイダーが管理しており、永続的な無料アクセスとして扱われません。

すべてのツールは読み取り専用で、冪等性があります。検索のキャンセルは、レート制限による待機、リトライ、プロバイダーへのリクエスト、任意の補足情報取得に反映されます。補足情報によってスニペットが改善されることはありますが、ソースの信頼度や独立した情報源の数が増えることはありません。

free_search_advanced.time_rangeは、互換性スキーマに引き続き含まれます。一般的なウェブ検索プロバイダー間で強制可能な共通の鮮度基準がないため、サーバーは検索を実行する前にUNSUPPORTED_FILTERを返します。


設定

上記の生成された機能テーブルには、デフォルトのリクエスト予算が記載されています。これらの設定は、一般的なデプロイ方法に対応しています。

目的環境変数
オプションのプロバイダーを追加するBRAVE_API_KEY、TAVILY_API_KEY、EXA_API_KEY、YDC_API_KEY、TENCENT_WSA_API_KEY、BOCHA_API_KEY、または SERPER_API_KEY
支出ポリシーを選択するSEARCH_PROVIDER_MODE、PAID_ENGINE_ORDER
レスポンストークン数を減らすOUTPUT_STYLE=compact、MAX_FULL_RESULTS、SNIPPET_LENGTH、EVIDENCE_BUDGET_CHARS
ツールまたはエンジンを制限するENABLED_TOOLS、DISABLED_TOOLS、ALLOWED_ENGINES、DENIED_ENGINES
明示的にプロキシを使用するDUCKDUCKGO_PROXY_URL、SOGOU_PROXY_URL、MOJEEK_PROXY_URL、WIBY_PROXY_URL、または PROXY_URL とともに USE_PROXY=true
ユーザーが所有するプロキシプールを使用するDUCKDUCKGO_PROXY_URLS、SOGOU_PROXY_URLS、MOJEEK_PROXY_URLS、または WIBY_PROXY_URLS に、HTTP(S) プロキシ URL を 2~16 個含む JSON 配列を指定します
検索結果の完全一致キャッシュを永続化するSEARCH_CACHE_DIRECTORY、SEARCH_CACHE_TTL_MS、SEARCH_CACHE_MAX_ENTRIES
オプションのセマンティック処理を有効にするSEMANTIC_DEDUP、SEMANTIC_RERANK、DEDUP_THRESHOLD、RERANK_TOP_K

API キーを追加しても、有料トラフィックが許可されるわけではありません。プロバイダーの使用はルーティングポリシーで制御します。デフォルトの検索結果完全一致キャッシュはメモリ上に保持されます。ローカルへの永続化を有効にするには、SEARCH_CACHE_DIRECTORY を設定します。Python と Model2Vec を使用するオプション機能は、セマンティック処理のみです。

プロキシプールでは、論理クエリに基づいて決定的に最初の出口を選択し、複数ステップにわたるプロバイダーリクエストでは同じ出口を維持します。次に設定された出口へ移行できるのは、トランスポート障害が発生した場合のみです。トランスポート障害が発生した出口は 60 秒間クールダウンされます。403、429、チャレンジページなどの HTTP レスポンスによってプロキシが切り替わることはなく、プロバイダー既存のクールダウン規約に従います。エンジン固有の単一プロキシ変数は、対応するプールより優先されます。fasm doctor でプロキシ認証情報が出力されることはありません。

HTTP デプロイ

HTTP モードでは、HTTP_ALLOW_UNAUTHENTICATED=true を設定しない限り、HTTP_AUTH_TOKEN が必要です。Origin ヘッダーを含むブラウザーリクエストは、ALLOWED_ORIGINS と一致する必要があります。TLS 終端、トークンローテーション、リバースプロキシの例については、HTTP デプロイガイドを参照してください。


CLI

このパッケージには fasm CLI が含まれています。

fasm search "TypeScript MCP server"
fasm search "query" --count 5 --engines bing,baidu,youcom --json
fasm extract "https://example.com"
fasm extract "https://example.com" --json
fasm doctor
fasm doctor --json
HTTP_AUTH_TOKEN=change-me MODE=http npx agent-search-mcp

fasm doctor はネットワークプローブを行わずにローカル設定を読み込み、認証情報やプロキシの値を出力することはありません。


ドキュメントとエビデンス

ドキュメント内容
システムアーキテクチャルーティング、エビデンス、プロバイダーファミリー、設定
競合状況(2026-08-10)2026-08-10 までの競合他社の動向、ポジショニング、改善の優先事項
競合状況(2026-08-07)競合他社のベースライン、期待事項、製品ギャップのスナップショット
製品比較Agent 検索製品のソースレベルでのレビュー
ベンチマークトークンフィクスチャ、ライブ実行の範囲、品質評価方法
v3.2.0 リリースノートプロバイダーポリシー、予算、移行に関する注記
以前のリリース候補のエビデンス拡張前のパッケージインストールマトリックスと制限事項
MCP 2026 の準備状況分離されたプロトコル実験と残りのゲート

関連プロジェクト:Slim Guard

Agent Search は検索取得の処理を制御し、検索エビデンスを圧縮します。 mcp-slim-guard は、エージェントと MCP サーバーの間に位置し、ツールスキーマの圧縮とセキュリティポリシーを処理します。

npm install -g mcp-slim-guard

開発

git clone https://github.com/lennney/agent-search-mcp.git
cd agent-search-mcp
npm install
npm run build
npm test
npm run dev        # stdio mode
npm run dev:http   # HTTP mode (port 3000)

安定版パッケージは Node.js 18、20、22 をサポートしています。分離された MCP 2026 実験には、Node.js 20 以降が必要です。


ライセンス

Apache 2.0

Aas-ee による open-websearch をベースにしています。

Agent Search MCP がエージェントの役に立ったら、リポジトリにスターを付けて、 ほかの開発者にもこのプロジェクトを見つけてもらいましょう。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。