MCP Server Search について
MCP Server Search は AI モデルに Google 検索を提供し、キャッシュとリクエスト制御に対応します。単純検索と詳細検索が可能で、タイトル、URL、任意の説明を含む形式で結果を返します。
主な機能
- 01単純検索と詳細な Google 検索
- 02検索結果のキャッシュ
- 03リクエスト間隔と再試行回数の設定
- 04リクエスト抑制とユーザーエージェントのローテーション
- 05説明付きの整形済み検索結果
活用シーン
- 01ウェブ上の最新情報の検索
- 02キャッシュ結果を使った検索
- 03検索の反復時におけるレート制限の軽減
MCP 対応
Google 検索用の `google_search` ツールとプロンプトを公開します。MCP クライアントは SSE またはサーバーで設定されたトランスポートで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー検索
AI モデル向けに Google 検索機能を提供する MCP(Model Context Protocol)サーバーです。このサーバーを使用すると、モデルはウェブから最新情報を検索できます。
機能
- キャッシュ機能を備えた Google 検索連携
- レート制限を回避するためのリクエスト間隔と再試行回数の設定
- シンプルな検索と高度な検索(説明付き)の両方に対応
- ウェブに負荷をかけないためのリクエスト調整とランダム化
インストール
Docker を使用する(推奨)
-
Docker イメージをビルドします。
docker build -t mcp-server-search . -
永続化用のディレクトリを作成します。
mkdir -p ./logs ./cache -
コンテナを実行します(SSE を有効にします)。
docker run --rm -p 8000:8000 \ -v "$(pwd)/logs:/app/logs" \ -v "$(pwd)/cache:/app/cache" \ mcp-server-search
これにより、SSE を有効にしたサーバーが起動し、http://localhost:8000/sse からアクセスできるようになります。
ボリュームによって、以下が保証されます。
- ログが
./logsディレクトリに永続化されます - 検索キャッシュが
./cacheディレクトリに永続化されます - どちらのディレクトリも、存在しない場合は Docker によって自動的に作成されます
注:MCP プロトコルでの通信には -i フラグが必要です。また、--rm を指定すると、コンテナの終了時に自動的に削除されます。
Cline との連携
この MCP サーバーを Cline で使用するには、Cline の MCP 設定ファイル(VS Code の場合は ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json)に、以下の設定を追加します。
{
"mcpServers": {
"google_search": {
"url": "http://localhost:8000/sse"
}
}
}
この設定では、以下のようになります。
/sseエンドポイントを使用し、ポート 8000 の HTTP SSE 経由で検索 MCP サーバーに接続します- Docker の stdio トランスポートは使用せず、Cline は HTTP エンドポイントに直接接続します
設定
サーバーでは、以下のコマンドライン引数を使用できます。
--log-level:ログレベルを設定します(DEBUG、INFO、WARNING、ERROR、CRITICAL)。デフォルト:INFO--log-file:ログファイルのパス(デフォルト:stdout)--cache-path:検索キャッシュファイルのパス(デフォルト:cache/google_cache.db)--request-delay:検索リクエスト間の待機時間(秒)(デフォルト:5)--max-retries:検索に失敗した場合の最大再試行回数(デフォルト:3)
使用方法
サーバーでは、以下の MCP エンドポイントを公開しています。
ツール
-
google_search:Google を検索し、結果を返します。結果は、タイトル、URL、説明(有効な場合)を含む整形された Markdown 形式で表示されます。パラメーター:
query(string、必須):実行する検索クエリnum_results(integer、任意):返す結果の件数(最小:1、最大:20、デフォルト:5)use_cache(boolean、任意):利用可能な場合にキャッシュされた結果を使用するかどうか(デフォルト:true)include_descriptions(boolean、任意):結果に説明を含めるかどうか(デフォルト:true)
機能:
- リクエストの自動調整と再試行メカニズム
- リクエストを分散させるためのユーザーエージェントのランダムなローテーション
- スレッドセーフなアクセスに対応したファイルベースのキャッシュ
- レート制限(HTTP 429)時の指数バックオフ
プロンプト
-
google_search:指定されたクエリで Google を検索します。会話形式で結果を返します。パラメーター:
query(string、必須):実行する検索クエリnum_results(integer、任意):返す結果の件数(1~20、デフォルト:5)
MCP について
Model Context Protocol(MCP)は、大規模言語モデル(LLM)をツールやデータソースに接続するためのプロトコルです。詳しくは、github.com/modelcontextprotocol をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。