mcp-omnisearch について
mcp-omnisearch は Tavily、Brave、Kagi、Exa、GitHub、Linkup、Firecrawl へのアクセスを 4 つのツールに統合した MCP サーバーです。複数の検索・抽出サービスを単一のインターフェースから利用したいユーザーに向いており、MIT ライセンスで提供されています。
主な機能
- 01複数プロバイダーを扱う統一的な web_search ツール
- 02ai_search による出典付き AI 回答
- 03GitHub のコード、リポジトリ、ユーザー検索
- 04Web コンテンツの抽出、クロール、スクレイピング
- 05キーが未設定のプロバイダーは自動的にスキップ
活用シーン
- 01MCP クライアントから複数の検索エンジンへの問い合わせ
- 02出典付きの AI 回答の取得
- 03記事本文の抽出やサイトのクロール
MCP 対応
本プロジェクトは MCP サーバーであり、web_search、ai_search、github_search、web_extract の 4 つのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-omnisearch
Tavily、Brave、Kagi、Exa AI、GitHub、Linkup、Firecrawl に統合された 4 つのツールからアクセスできる Model Context Protocol(MCP)サーバーです。
クイックスタート
MCPick を使って公開済みのサーバーをインストールします。
npx mcpick add \
--name mcp-omnisearch \
--command npx \
--args=-y,mcp-omnisearch
MCPick はデフォルトで Claude Code を使用します。--client と --scope を使って、別のクライアントを指定するか、現在のリポジトリにサーバーを追加します。
npx mcpick add \
--name mcp-omnisearch \
--command npx \
--args=-y,mcp-omnisearch \
--client vscode \
--scope project
対応クライアントとプロバイダーの認証情報の保存方法については、デプロイを参照してください。
ソースから実行する場合:
pnpm install
pnpm run build
node ./dist/index.js
キーが設定されていないプロバイダーはスキップされ、ほかのプロバイダーはそのまま動作します。クライアントが環境変数の展開に対応している場合は、MCP 設定にキーの値を保存せず、キーを参照してください。
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": ["-y", "mcp-omnisearch"],
"env": {
"TAVILY_API_KEY": "${TAVILY_API_KEY}",
"EXA_API_KEY": "${EXA_API_KEY}"
}
}
}
}
使用するプロバイダーのキーだけを追加してください。展開構文とシークレットの保存方法はクライアントによって異なります。安全な方法と平文で保存する場合の注意点については、デプロイを参照してください。
ツール
web_search
Tavily、Brave、Kagi、Exa でウェブを検索します。
{
"query": "latest SvelteKit releases",
"provider": "tavily",
"limit": 10,
"search_depth": "advanced",
"topic": "news",
"time_range": "month",
"safe_search": true,
"include_raw_content": false,
"auto_parameters": false
}
検索オプションは、選択したプロバイダーが対応している場合に適用されます。
ai_search
Exa Answer、Linkup、Tavily Research を使って、出典付きの AI 回答を取得します。Tavily Research は最初にタスク ID を返します。レポートを取得するには、その ID を research_id として渡します。
{
"query": "Explain the differences between REST and GraphQL",
"provider": "exa_answer"
}
github_search
GitHub のコード、リポジトリ、ユーザーを検索します。
{
"query": "filename:remote.ts @sveltejs/kit",
"search_type": "code",
"limit": 5
}
web_extract
Tavily、Firecrawl、Exa を使って、コンテンツを抽出、クロール、スクレイピングしたり、類似コンテンツを検索したりします。
{
"url": "https://example.com/long-article",
"provider": "tavily",
"mode": "extract",
"extract_depth": "advanced",
"query": "installation requirements",
"chunks_per_source": 3,
"format": "markdown"
}
ドキュメント
- プロバイダーの選択 — タスク、キー、モード、機能に基づいてプロバイダーを選択します。
- 検索演算子 — 演算子の対応状況とテスト済みの例をまとめています。
- 大きな結果 — インラインとファイルのレスポンス動作、およびリモートデプロイに関する注意点を説明します。
- デプロイ — MCP クライアント、WSL、Firecrawl の設定について説明します。
- トラブルシューティング — キー、アクセス、検証、レート制限、よくあるエラーについて説明します。
環境変数
TAVILY_API_KEYKAGI_API_KEYBRAVE_API_KEYGITHUB_API_KEYEXA_API_KEYLINKUP_API_KEYFIRECRAWL_API_KEYFIRECRAWL_BASE_URL任意。セルフホスト可能な Firecrawl 用OMNISEARCH_LARGE_RESULT_MODE任意。デフォルトはfile、またはinline
開発
pnpm install
pnpm run build
pnpm test
PR を作成する前に、CONTRIBUTING.md をお読みください。
ライセンス
MIT License — 詳細は LICENSE を参照してください。
謝辞
Model Context Protocol、Tavily、Kagi、Brave Search、Exa AI、Linkup、Firecrawl を基盤として構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。