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_PARAMSLLM 向けスキーマから非表示にする検索パラメーターをカンマ区切りで指定します。
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 をインストールするバージョンに置き換えます)。