Kagi Search MCP Server
公式Kagiの検索APIを使用してウェブを検索する
ドキュメント
Kagi MCP サーバー
Kagi API をバックエンドとする MCP サーバーです。MCP 対応クライアントに検索および抽出ツールを提供します。
ツール
kagi_search_fetch- オプションのページ抽出、フィルター、Kagi レンズを使用した、ウェブ、ニュース、動画、ポッドキャスト、画像検索。kagi_extract- ページの完全なコンテンツを Markdown として取得します。
注: 以前の
kagi_fastgptおよびkagi_summarizerツールは削除されました。いずれも将来のリリースで復活する予定です。
ホステッドサーバー
https://mcp.kagi.com/mcp でホステッド MCP サーバーを運用しています。インストールは不要です。HTTP 対応の MCP クライアントをそこに向け、Kagi API キーで認証してください。
OAuth2 はまだサポートされていません(ロードマップに含まれています)。そのため、現時点ではダッシュボードから API キーを取得し、Bearer HTTP 認証で渡してください。
Claude Code での例:
claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header "Authorization: Bearer $(read -sp 'API key: ' k; echo $k)" --scope user
自分で実行したい場合は、ローカル uvx インストールについてはクライアントセットアップを、独自のインフラストラクチャで HTTP サーバーをホストする場合はセルフホスティングを参照してください。
要件
KAGI_API_KEYに Kagi API キー。- 推奨される
uvxインストールパス用のuv。
uv のインストール:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
クライアントセットアップ
Codex CLI
codex mcp add kagi --env KAGI_API_KEY=<YOUR_API_KEY_HERE> -- uvx kagimcp
Codex は MCP 設定を ~/.codex/config.toml に書き込みます。
Claude Desktop
最初に uv をインストールしてください。
MacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
次に、Claude Desktop 設定(設定 -> 開発者 -> 設定を編集 からアクセス)で:
{
"mcpServers": {
"kagi": {
"command": "uvx",
"args": ["kagimcp"],
"env": {
"KAGI_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Claude Code
claude mcp add kagi -e KAGI_API_KEY="YOUR_API_KEY_HERE" -- uvx kagimcp
Smithery
npx -y @smithery/cli install kagimcp --client claude
Kiro
Claude Desktop と同じ mcpServers JSON を使用して、Kiro MCP 設定ファイル(グローバルの場合は ~/.kiro/settings/mcp.json、プロジェクトスコープの場合は .kiro/settings/mcp.json)に追加します。詳細については、Kiro MCP ドキュメントを参照してください。
OpenCode
~/.config/opencode/opencode.json にある OpenCode 設定ファイルを編集し、以下を追加します:
{
"mcp": {
"kagi": {
"type": "local",
"command": ["uvx", "kagimcp"],
"enabled": true,
"environment": {
"KAGI_API_KEY": "<YOUR_API_KEY_HERE>"
}
}
}
}
使用例
- 検索:
Who was Time's 2024 person of the year? - 抽出:
extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol
設定
| 環境変数 | 説明 |
|---|---|
KAGI_API_KEY | 必須の Kagi API キー。 |
FASTMCP_LOG_LEVEL | ログレベル。例: ERROR。 |
KAGI_SEARCH_TIMEOUT | 検索タイムアウト(秒)。デフォルトは 10。 |
KAGI_EXTRACT_TIMEOUT | 抽出タイムアウト(秒)。デフォルトは 30。 |
KAGI_MAX_RETRIES | 最初のリクエスト後の最大再試行回数。デフォルトは 2。再試行を無効にするには 0 を設定します。 |
KAGI_HIDDEN_PARAMS | LLM 向けスキーマから非表示にする検索パラメータ(カンマ区切り)。 |
非表示可能な検索パラメータ:
workflow, extract_count, limit, include_domains, exclude_domains, time_relative, after, before, file_type, lens_id
例:
KAGI_HIDDEN_PARAMS="extract_count,after,before,time_relative,include_domains,exclude_domains"
ローカル開発
git clone https://github.com/kagisearch/kagimcp.git
cd kagimcp
uv sync
標準入出力経由でローカル実行:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp
ストリーミング可能な HTTP トランスポートで実行:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
セルフホスティング
HTTP モードはマルチテナントです。各リクエストはサーバー全体の環境変数ではなく、Authorization: Bearer <key> ヘッダーを介して API キーを提供するため、1 つのインスタンスで複数のユーザーにサービスを提供できます。リポジトリには、PyPI から固定バージョンの kagimcp をインストールし、HTTP モードで実行する Dockerfile が同梱されています。コンテナは $PORT を尊重するため、それを注入する任意のプラットフォーム(Railway、Render、Cloud Run、Fly.io など)で動作します。
ローカルでのビルドと実行:
docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted
動作確認テスト:
curl -sL http://127.0.0.1:8000/mcp -X POST \
-H "authorization: Bearer $KAGI_API_KEY" \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
本番環境でバージョンを上げるには、Dockerfile のピン留めを編集して再デプロイします。
デバッグ
公開パッケージの検査:
npx @modelcontextprotocol/inspector uvx kagimcp
ローカルチェックアウトの検査:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
インスペクターは通常 http://localhost:5173 で利用できます。
プレリリース手順
プレリリースビルドを使用する場合、同じインストール手順が適用されますが、uvx kagimcp の代わりに uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp を使用します(1.0.0rc2 をインストールしたいバージョンに置き換えてください)。