Kagi MCP server について
Kagi API を利用し、MCP 対応クライアントに Web 検索とページ抽出のツールを提供する MCP サーバーです。uvx でローカル実行するほか、ホスト型のリモートサーバーを利用することも、HTTP モードでセルフホストすることもできます。
主な機能
- 01Web、ニュース、動画、ポッドキャスト、画像の検索
- 02任意のページ抜粋と検索フィルター
- 03ページ全体の内容を Markdown で取得
- 04環境変数によるタイムアウトとリトライの設定
- 05検索パラメーターを隠してスキーマを簡素化
活用シーン
- 01AI アシスタントから最新ニュースや参考資料を検索する
- 02特定の Web ページの本文を取得して分析する
- 03複数ユーザー向けの HTTP サーバーをセルフホストする
MCP 対応
MCP サーバーとして、kagi_search_fetch と kagi_extract の 2 つのツールを、stdio または Streamable HTTP で MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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 の設定(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
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
stdio 経由でローカル実行します:
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 つの
インスタンスで複数のユーザーに対応できます。リポジトリには、固定バージョンのkagimcpを PyPI からインストールし、
HTTP モードで実行するDockerfileが含まれています。コンテナは$PORTを使用するため、
$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はインストールするバージョンに置き換えてください)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。