ContextFetch について
ContextFetch は、ウェブ検索とクエリに関連する Markdown 形式のページ本文を提供する、エージェント向け MCP サーバーです。調査、抽出、クロール、サイトマップにも対応し、キー不要の無料枠があります。
主な機能
- 01クエリに関連する検索結果
- 02公開ページの Markdown 化
- 03順位付き調査エビデンスパック
- 04サイトのクロールと URL 一覧
- 05出典マーカー付き抽出的回答
- 06類似ページの検索
活用シーン
- 01技術的な質問に関する文書の箇所探し
- 02複数の検索観点からのエビデンス収集
- 03公開記事や GitHub ファイルの Markdown 閲覧
- 04サイトのクロールや URL の整理
MCP 対応
検索、抽出、調査、クロール、マッピング、アカウント操作の 11 ツールを MCP クライアントに公開します。stdio で動作し、Claude Code、Cursor、Windsurf などに設定できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.contextfetch.dev/mcpclaude mcp add --transport http dev-contextfetch https://api.contextfetch.dev/mcp{"mcpServers":{"dev-contextfetch":{"type":"http","url":"https://api.contextfetch.dev/mcp"}}}Cursor で開く{"servers":{"dev-contextfetch":{"type":"http","url":"https://api.contextfetch.dev/mcp"}}}VS Code で開く{"mcpServers":{"dev-contextfetch":{"type":"http","url":"https://api.contextfetch.dev/mcp"}}}{"mcpServers":{"dev-contextfetch":{"serverUrl":"https://api.contextfetch.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://api.contextfetch.dev/mcp認証が必要ツール
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
@contextfetch/mcp
ContextFetch 用の MCP サーバーです。AI エージェント向けのニューラルウェブ検索と、LLM ですぐに使えるクリーンな Markdown を、検索 1,000 回あたり $0.75 から利用できます。登録不要で利用でき、無料プランではキーも必要ありません。
インストール
Claude Code(キー不要、1 行):
claude mcp add contextfetch -- npx -y @contextfetch/mcp
有料キーを使用する場合:
claude mcp add contextfetch -e CONTEXTFETCH_API_KEY=your_key -- npx -y @contextfetch/mcp
Cursor:~/.cursor/mcp.json(グローバル)または .cursor/mcp.json(プロジェクト)に追加します:
{
"mcpServers": {
"contextfetch": {
"command": "npx",
"args": ["-y", "@contextfetch/mcp"],
"env": { "CONTEXTFETCH_API_KEY": "your_key" }
}
}
}
Windsurf:~/.codeium/windsurf/mcp_config.json に追加します:
{
"mcpServers": {
"contextfetch": {
"command": "npx",
"args": ["-y", "@contextfetch/mcp"],
"env": { "CONTEXTFETCH_API_KEY": "your_key" }
}
}
}
無料プランを利用するには、env ブロックを削除するか、CONTEXTFETCH_API_KEY を空のままにしてください。同じ JSON は、Claude Desktop の claude_desktop_config.json や、stdio サーバーを起動するその他の MCP クライアントでも使用できます。
Node.js 18 以降が必要です。
ツール
| ツール | 引数 | 機能 | コスト |
|---|---|---|---|
contextfetch_search | query、num_results(1~25、デフォルトは5)、include_domains?、exclude_domains? | ウェブ検索です。各結果は、タイトル、URL、クエリに関連する箇所のみ(クロスエンコーダーで絞り込まれたMarkdown)で返されます。 | 1クレジット |
contextfetch_extract_url | url、query? | 任意の公開ページ(ドキュメント、記事、GitHub ファイル、arXiv)を、表を保持したクリーンなMarkdownとして取得します。query を指定すると、関連する箇所のみを返します。 | 1クレジット |
contextfetch_find_similar | url、num_results(1~25、デフォルトは5) | URLのページと類似したページを、そのページと同じドメインを除外して検索します。 | 1クレジット |
contextfetch_research | query、sub_queries?(最大5)、num_results_per_query(1~10、デフォルトは5) | サーバー側でリサーチを行います。サブクエリを並行して実行し、URLでページの重複を除去した後、クロスエンコーダーでqueryとの関連度に基づいて順位付けし、Markdownのエビデンスパックを1つ返します。エビデンスパックには、サブクエリ、ソース数、トークン数、使用クレジット数が見出しとして示され、クエリに基づいて絞り込まれた箇所が、番号付きの[n]ソースとして原文のまま引用されます(生成された内容は含まれません)。 | サブクエリごとに1クレジット(最大5) |
contextfetch_deep_research | query、sub_queries?(最大3)、num_results_per_query(1~25、デフォルトは5。使用数は最大10) | contextfetch_researchの以前の名称です。既存のセットアップとの互換性のために維持されており、最大3つのサブクエリで同じサーバー側エビデンスパックを返します。 | サブクエリごとに1クレジット(最大3) |
contextfetch_answer | query、num_results(1~10、デフォルトは5) | 抽出型の回答です。上位ページからスコアの高い箇所を選び、[n]マーカーと番号付きのソース一覧を添えて、原文のまま引用します。テキストは生成されないため、自由回答形式の質問よりも事実の確認に適しています。 | 1クレジット |
contextfetch_crawl | url、max_depth(0~3、デフォルトは1)、limit(1~50、デフォルトは10)、query?、include_paths?、exclude_paths?(URLパスに対する正規表現) | urlから1つのサイトをクロールし(同一サイト内のリンクをたどり、robots.txtに従います)、各ページを深度とともにMarkdownで返します。queryを指定すると、関連度に基づいてページを順位付けし、関連する箇所に絞り込みます。 | 返されるページごとに1クレジット |
contextfetch_map | url、limit(1~5,000、デフォルトは100)、include_paths?、exclude_paths? | ページを取得せずに、サイトマップと開始ページのリンクからサイトのURL一覧を返します。 | 1クレジット |
contextfetch_balance | なし | 残りのクレジット、消費ペース(直近7日間の1日あたりのクレジット数)、自動チャージの設定を返します。支払いに失敗した場合は、最後の自動チャージエラーも表示します。CONTEXTFETCH_API_KEYが必要です。 | 無料 |
contextfetch_get_free_key | なし | ネットワークの無料APIキー(2,500回分の検索、ネットワークごとに1つ)を取得し、残りのセッションで使用します。ユーザーに渡して、CONTEXTFETCH_API_KEYに保存してもらいます。 | 無料 |
contextfetch_auto_reload | enabled、threshold?(100~100,000)、pack?(instant、builder、scale)、monthly_max_usd?(最大500) | 自動チャージのオン/オフを切り替えるか、設定を変更します。クレジットがthresholdを下回ると、チェックアウト時に保存したカードで、月間上限に達するまで再度packを購入します。CONTEXTFETCH_API_KEYと保存済みのカードが必要です。ここで設定できる上限は500ドルまでです。 | 無料 |
すべてのツールはMarkdownテキストを返します。キーがない場合、contextfetch_balanceとcontextfetch_auto_reloadは、キーが必要であることを示す短いメッセージと購入リンクを返します。無料枠では、結果の先頭に、その日に残っている無料検索回数を示す1行の通知が表示されます。APIから情報が返される場合、末尾にはレイテンシ(合計および各段階の内訳:検索、取得、再順位付け)、回答がキャッシュから取得されたかどうか、トークンの節約量(絞り込み後のトークン数と元ページのトークン数)が表示されます。
contextfetch_research のサブクエリ
独自の sub_queries(質問に対するさまざまな切り口)を渡してください。ツールの説明では、呼び出し元のモデルにそうするよう指示しています。省略した場合、API は固定ルールに基づいて query からサブクエリを作成します。
- クエリそのもの。
- クエリ +
documentation。 - 速度、パフォーマンス、レイテンシ、メモリ、または比較(
vs、compare)に言及している場合は、クエリ +benchmark。それ以外の場合は、クエリ +example。
クエリにすでに含まれているサフィックスは省略されます(そのため、react useActionState example では 3 回ではなく 2 回検索します)。調査全体は 1 回の /v1/research 呼び出しでサーバー側で実行され、サブクエリごとに 1 クレジットかかります。失敗したサブクエリの料金は返金され、ヘッダーにその名前が表示されます。すべて失敗した場合、ツールはエラーを返します。
環境変数
| 変数 | デフォルト値 | 説明 |
|---|---|---|
CONTEXTFETCH_API_KEY | 未設定 | API キーです。未設定または空の場合、無料のキー不要プランが使用されます。 |
CONTEXTFETCH_API_BASE | https://api.contextfetch.dev | API のベース URL です。セルフホストする場合は、独自のエンジンを指定してください。 |
無料プランと料金
| パック | 価格 | クレジット | 1,000 クレジットあたり |
|---|---|---|---|
| キー不要トライアル | $0 | IP あたり 1 日 25 | 無料、登録不要 |
| インスタント | $15 | 15,000 | $1.00 |
| ビルダー(最も人気) | $50 | 60,000 | $0.83 |
| スケール | $150 | 200,000 | $0.75 |
支払いは一度限りで、クレジットに有効期限はありません。オプションの自動チャージでは、残高が設定したしきい値を下回ると、月間上限に達するまでパックを再購入します。
クレジットまたは無料プランの上限に達すると(HTTP 402)、ツールは価格とワンクリック購入リンクを含むパック一覧(おすすめのパックが先頭)と、ユーザーに伝えるための文を返します。購入リンクは Stripe Checkout(カード、Apple Pay、Google Pay)に直接移動します:https://api.contextfetch.dev/buy/instant、/buy/builder、/buy/scale。その後、上記のとおり CONTEXTFETCH_API_KEY を設定してください。
再試行と接続
リクエストの送信前に発生した接続失敗(接続拒否、DNS、接続タイムアウト)、HTTP 429、HTTP 5xx は、指数バックオフとジッター(約 0.25~0.5 秒、その後 0.5~1 秒)を使って再試行されます。API 呼び出しごとに最大 3 回、再試行を含め合計 30 秒までです。429 または 5xx に Retry-After ヘッダーがある場合、30 秒の上限を超えない限り、その時間だけ正確に待機します。400、401、402、422 およびその他の 4xx 応答は再試行されません。リクエストの送信後に接続が切断された場合も、検索料金がすでに発生している可能性があるため、再試行されません。接続は Node に組み込まれた fetch(undici)によってプールされ、キープアライブされるため、追加の HTTP 依存関係はありません。
エラー
エラーによってサーバーがクラッシュすることはありません。isError: true と平易な説明を含むツールの結果として返されます。対象となるのは、無効なキー(401)、クレジット切れまたは無料プランの上限到達(購入リンク付きのパック一覧)、自動チャージ用の保存済みカードがない(409、購入リンク付き)、許可されていない URL(400、公開されている http(s) URL のみ)、contextfetch_extract_url が取得できなかったページ(HTTP 404 などの理由付き)、レート制限(429)、サーバーエラー(5xx)、ネットワーク障害、および呼び出しごとの 30 秒の上限(再試行を含む)です。
開発
npm install
npm run build # compiles src/ to dist/ and marks dist/index.js executable
npm test # builds, then drives dist/index.js over stdio against a local mock API (no network)
CONTEXTFETCH_API_BASE=http://localhost:8000 node dist/index.js
公開
@contextfetch/mcp を公開するには、npm 組織 contextfetch が必要です(npmjs.com で作成し、公開アカウントをメンバーとして追加してください)。その後、このフォルダーから npm publish を実行します。publishConfig.access はすでに public に設定されており、prepublishOnly によって最初にビルドされます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。