kagi-ken-mcp について
kagi-ken-mcp は、公式 API ではなく Kagi のセッショントークンを使って検索と要約機能にアクセスする軽量な Node 製 MCP サーバーです。Kagi のサブスクリプションはあるものの API アクセスがない利用者が、Claude などのクライアントから利用する場合に適しています。
主な機能
- 01Kagi セッショントークンによる認証
- 02複数の検索クエリの並行処理
- 03URL やテキストからの要約生成
- 04段落形式または箇条書き形式と出力言語の指定
- 05環境変数またはファイルからのトークン読み込み
活用シーン
- 01Claude Desktop や Claude Code からの Web 検索
- 02Web ページや動画リンクの要約
- 03API アクセスなしで LLM やエージェントを Kagi に接続
MCP 対応
本プロジェクトは MCP サーバーであり、kagi_search_fetch 検索ツールと kagi_summarizer 要約ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
kagi-ken-mcp
kagi-ken packageを利用した軽量な Node MCP サーバーです。Kagi セッショントークンを使用して、Kagi.com のサービスにアクセスできます。
- 検索:Kagi を検索します
- 要約:Kagi の Summarizer を使用して、URL またはテキストコンテンツから要約を作成します
API アクセスが必要な公式 Kagi API とは異なり、この MCP サーバーは既存の Kagi セッションを使用して、検索と要約の両方の機能にアクセスします。
「Kagi-ken」は、サービス名の「Kagi」と「token」を組み合わせた造語です。
理由
Kagi API には別途 API キーが必要ですが、現時点では招待制です。Kagi のサブスクリプションをすでに利用していて API アクセスはないものの、Claude などの LLM やエージェントから Kagi のサービスにプログラムでアクセスしたい場合、この MCP サーバーが代替手段になります。
機能
- 検索:Kagi Search を使用してウェブ検索結果を取得します。クエリを並行処理します
- 要約:カスタマイズ可能な出力形式と言語で、URL のコンテンツを要約します
サーバーは、以下の順序で Kagi セッショントークンを使用する 2 つの方法をサポートしています(インストールを参照)。
KAGI_SESSION_TOKEN環境変数- トークン文字列を含む
~/.kagi_session_tokenファイル
次のような包括的なエラー処理を備えています。
- 接続タイムアウト(検索ごとに 10 秒)
- 無効な入力の検証
- 環境変数の検証
- 適切なエラー形式への変換
インストール
Node.js 22 以降が必要です。
1. Kagi セッショントークンを取得する
- ブラウザーで Kagi Settings にアクセスします
- Session Link をコピーします
- リンクから
tokenの値を抽出します - その値をセッショントークンとして使用します。
~/.kagi_session_tokenに保存する方法(推奨)か、KAGI_SESSION_TOKEN環境変数として渡す方法があります
サーバーはまず環境変数を自動で試し、次にトークンファイルを使用します。
警告
セキュリティに関する注意:セッショントークンは秘密にしてください。Kagi アカウントへのアクセスに使用されます。
2.a. Claude Desktop に MCP サーバーを追加する
Claude Desktop アプリの「Settings → Developer → Local MCP Servers → Edit Config」から開ける claude_desktop_config.json に kagi-ken-mcp を追加します。
オプション 1:トークンファイルを使用する(推奨)
{
"mcpServers": {
"kagi-ken-mcp": {
"command": "npx",
"args": ["-y", "github:czottmann/kagi-ken-mcp"]
}
}
}
オプション 2:環境変数を使用する
{
"mcpServers": {
"kagi-ken-mcp": {
"command": "npx",
"args": ["-y", "github:czottmann/kagi-ken-mcp"],
"env": {
"KAGI_SESSION_TOKEN": "YOUR_SESSION_TOKEN_HERE"
}
}
}
}
インストール後
Claude Desktop に組み込まれているウェブ検索を無効にし、この MCP サーバーを使うようにしてください。また、Settings の「Personal preferences」(システムプロンプト)に次の内容を追加するとよいでしょう。
For web searches, use kagi-ken-mcp MCP server's `kagi_search_fetch` tool.
For summarizing a URL, use the kagi-ken-mcp MCP server's `kagi_summarizer` tool.
2.b. Claude Code に MCP サーバーを追加する
オプション 1:トークンファイルを使用する(推奨)
claude mcp add kagi-ken-mcp --scope user -- npx -y github:czottmann/kagi-ken-mcp
オプション 2:環境変数を使用する
claude mcp add kagi-ken-mcp \
--scope user \
--env KAGI_SESSION_TOKEN="YOUR_SESSION_TOKEN_HERE" -- \
npx -y github:czottmann/kagi-ken-mcp
インストール後
該当する .claude/settings*.json ファイルで権限を設定すると、Claude Code に組み込まれているウェブ検索を無効にできます(任意)。
{
"permissions": {
"deny": [
"WebSearch"
],
"allow": [
"mcp__kagi-ken-mcp__kagi_search_fetch",
"mcp__kagi-ken-mcp__kagi_summarizer"
]
}
}
使い方:ツールの使用が必要なクエリを入力する
例:検索には 「time's 2024 person of the year は誰ですか?」、要約には「この動画を要約してください:https://www.youtube.com/watch?v=sczwaYyaevY」と入力します。
ツール
kagi_search_fetch
1 つ以上のクエリに基づいて Kagi Search API でウェブ検索結果を取得します。結果には、参照しやすいよう連続した番号が付けられます。
パラメーター:
queries(文字列の配列):1 つ以上の検索クエリ
kagi_summarizer
Kagi Summarizer API を使用して URL のコンテンツを要約します。ウェブページ、動画、音声など、さまざまなドキュメント形式に対応しています。
パラメーター:
url(文字列):要約する URLsummary_type(列挙型):段落形式の文章を返す場合は"summary"、箇条書きを返す場合は"takeaway"(デフォルトは"summary")target_language(文字列、任意):言語コード(例:英語の場合は"EN"、デフォルトは"EN")
開発
プロジェクト構成
kagi-ken-mcp/
├── src/
│ ├── index.js # Main server entry point
│ ├── tools/
│ │ ├── search.js # Search tool implementation
│ │ └── summarizer.js # Summarizer tool implementation
│ └── utils/
│ └── formatting.js # Utility functions
├── package.json
└── README.md
インストール
-
リポジトリをクローンします:
git clone <repository-url> cd kagi-ken-mcp -
依存関係をインストールします:
npm install
開発モードでの実行
npm run dev
デバッグ
MCP Inspector を使用してデバッグします:
npx @modelcontextprotocol/inspector node ./src/index.js
その後、http://localhost:5173 でインスペクターにアクセスします。環境変数を使用する場合は、インスペクターの環境変数セクションに KAGI_SESSION_TOKEN を追加してください。
コントリビューション
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- MCP Inspector でテストします
- プルリクエストを送信します
作者
Carlo Zottmann, [email protected], https://c.zottmann.dev, https://github.com/czottmann.
このプロジェクトは Kagi とは提携しておらず、Kagi から推奨も受けていません。私はとても満足している顧客にすぎません。
ヒント
Actions For Obsidian、Browser Actions(複数の主要ブラウザーに Shortcuts のサポートを追加します)、BarCuts(予想以上に便利な、状況に応じて使える Shortcuts ランチャー)など、Shortcuts 関連の macOS および iOS 向け生産性アプリを開発しています。ぜひご覧ください!
関連プロジェクト
- czottmann/kagi-ken - セッショントークンベースの非公式 Kagi クライアント、Node
- czottmann/kagi-ken-cli - セッショントークンベースの非公式 Node CLI ツール、Node
- Official Kagi MCP Server - Python
- Model Context Protocol
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。