MCP

MCPSurfr:APIキー不要のローカルWeb検索MCPサーバー、選定と始め方ガイド

MCP 対応のローカル LLM クライアントに、APIキー不要のWeb検索とマルチエンジンのディープリサーチを追加するのに最適です。結果は MobileBERT が手元のマシンで再ランクします。前提は、クライアントが uvx 経由で GitHub からこのサーバーを起動できることです。

公式ソース · MCPSurfr

インストール

"command": "uvx",
        "args": ["--from", "git+https://github.com/nkapila6/mcpsurfr", "mcpsurfr"]

どんな人に向くか

MCPSurfr(旧 mcp-local-rag)は、LLM 向けのローカルWeb検索 MCP サーバーです。APIキーは不要で、検索結果は自分のマシン上で再ランクされます。ランキングは、小さな MobileBERT モデルが numpy 上で直接処理します。向いているのは2種類のユーザーです。1つは、MCP 対応クライアントにWeb検索能力を追加したいが、検索サービスへの登録や鍵の管理は避けたい人。もう1つは、1回きりの段落検索から、ページ全体のテキスト、さらにマルチエンジンのディープリサーチへと、段階的に深いワークフローが必要なエージェント運用です。

前提を明確にしておきます。カスタム MCP サーバーに対応したクライアントと、uvx コマンドを実行できるマシンが必要です。公式が提供する起動方法は、uvx 経由で GitHub からサーバーを取得して起動するこの1通りだけです。公式ページでは、ホスティングサービスやグラフィカルインターフェースの提供有無、OS 要件や対応クライアントの一覧には触れていません。環境によっては GitHub からコードを取得・実行できない場合、この主要経路は使えません。

3分で最初の一回を試す

推奨される主要経路は1つだけで、コマンドも設定も公式の説明どおりです。

前提:マシンで uvx が実行でき、クライアントが command/args による MCP サーバー設定に対応していること。ステップ1として、クライアントの MCP サーバー設定に公式のスニペットを書き込みます(貼り付ける場所はクライアントごとに異なります)。

"command": "uvx",
        "args": ["--from", "git+https://github.com/nkapila6/mcpsurfr", "mcpsurfr"]

ステップ2:設定を保存してセッションを再読み込みすると、クライアントがこのコマンドで mcpsurfr を起動します。初回起動時は GitHub からコードを取得するためネット接続が必要で、所要時間とキャッシュの挙動は公式には説明されていません。

ステップ3:search ツールを通常の検索語で呼び出します。これは公式定義による1回きりのクエリで、関連する段落を返します。クエリ型の操作にあたりますが、呼び出しは実際のWeb検索を発生させ、再ランク計算をローカルで実行します。「クエリ型」とは書き込み操作を行わないという意味で、ネットワーク通信やプライバシー上の境界がないという意味ではありません。

成功のサイン:ツールが検索語に関連する段落テキストを返し、クライアントのツール一覧に search 以外に rag_search_ddgs、rag_search_google、deep_research、deep_research_ddgs、deep_research_google が表示されることです。サーバーはスキルリソース skill://mcpsurfr-search/SKILL.md も提供しますが、その具体的な用途は公式ページでは説明されていません。

利用シーン

ケース1:会話への即答検索の追加。シーン:進展がありそうな話題をクライアント内で議論していて、まずモデルに search を呼ばせます。1回きりのクエリで関連段落を返し、モデルはそれを引用して回答できます。APIキーが不要なため、新しい環境に組み込む際も検索サービスへの登録は不要です。確認できるのは関連段落の返却までで、段落の分割やランク付けの詳細は公式に説明がありません。

ケース2:ページ全体の本文を取得して主題を整理。シーン:段落では足りず、より完全な文脈が必要なときは rag_search_ddgs を呼びます。公式によるとページ全体をテキストで返す、このプロジェクトのオリジナルモードです。1回の呼び出しで最大 40,000 文字まで返される点に注意し、環境変数 MCPSURFR_MAX_CHARS で調整できます。各ツールの詳細なパラメータは公式に項目別には示されておらず、クライアントが内省したツール説明を正とします。deep_research 系が多段階のリサーチをどう組み立てるかは公式ページに説明がなく、独自に想定しないでください。

利用の境界

読み書きの性質:6つのツールはいずれも検索・リサーチ型の能力で、ローカルファイルへの書き込みやリモートへの送信を行う操作は公式ページに記述がありません。これは境界の説明であって安全性の結論ではありません。呼び出しは実際のWeb検索を発生させ、MobileBERT(numpy)でローカル再ランクを行います。

認証情報とローカル依存:公式の売りは APIキー不要であること。アカウント、トークン、ローカルのデータファイルが必要かは公式ページに言及がなく、未確認として扱います。

副作用と確認ポイント:インストールは uvx 経由で GitHub からコードを取得して実行することを伴います。これは公式設定に固有の挙動で、受け入れられる場合のみ設定に書き込んでください。それ以外に副作用や確認が必要な操作は公式には記述されていません。

公式の制限と未確認事項:ページ全体を返すツールは1回あたり最大 40,000 文字で、環境変数 MCPSURFR_MAX_CHARS で調整できます。未確認の重要情報は他にも、対応クライアントの一覧、各検索バックエンドの可用性と割り当て、性能オーバーヘッド、リモート配備の可否です。これらに依存して選定する前に、自分の環境で検証してください。