Kagi Search
公式Kagiの検索APIを使用してウェブを検索する
Kagi Search MCPで何ができますか?
- ウェブ検索 —
kagi_search_fetchを使って、ウェブ、ニュース、動画、ポッドキャスト、画像を検索するようアシスタントに依頼します。 - 絞り込み検索 —
kagi_search_fetchを使って、ドメインの包含・除外、日付範囲、ファイル形式、Kagi レンズで検索結果を絞り込みます。 - ページの抜粋 —
kagi_search_fetchを使って、検索結果とあわせて任意のページ抜粋を取得するよう依頼します。 - ページ全体の抽出 —
kagi_extractを使って、ページの全コンテンツを Markdown 形式で取得するようアシスタントに依頼します。 - ホスト型エンドポイント — HTTP 対応の MCP クライアントを
https://mcp.kagi.com/mcpに接続し、Bearer認証で Kagi API キーを使って認証します。
ドキュメント
Kagi MCP Server
Kagi API を利用する MCP サーバーです。MCP 互換クライアントに検索ツールと抽出ツールを提供します。
ツール
kagi_search_fetch- ウェブ、ニュース、動画、ポッドキャスト、画像を検索します。ページの抽出、フィルター、Kagi レンズを任意で指定できます。kagi_extract- ページの全コンテンツを Markdown として取得します。
注: 以前の
kagi_fastgptとkagi_summarizerツールは削除されました。どちらも今後のリリースで再提供する予定です。
ホステッドサーバー
ホステッド MCP サーバー https://mcp.kagi.com/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 の設定(Settings -> Developer -> Edit Config から開きます)に以下を追加します:
{
"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
Kiro の MCP 設定ファイル(グローバル設定の場合は ~/.kiro/settings/mcp.json、プロジェクト単位の場合は .kiro/settings/mcp.json)に、Claude Desktop と同じ mcpServers 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 向けスキーマから非表示にする検索パラメーターをカンマ区切りで指定します。 |
KAGI_SEARCH_FORMAT | 検索結果の形式: json(デフォルト)または markdown(Search API 独自の Markdown をそのまま渡します)。 |
非表示にできる検索パラメーター:
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
stdio 経由でローカル実行します:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp
streamable 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 をインストールするバージョンに置き換えます)。