mcpField
K
kagi-ken-mcp

kagi-ken-mcp

ローカル
github.com/czottmann検索4236 週間前に更新

kagi-ken-mcp について

kagi-ken-mcp は、公式 API ではなく Kagi のセッショントークンを使って検索と要約機能にアクセスする軽量な Node 製 MCP サーバーです。Kagi のサブスクリプションはあるものの API アクセスがない利用者が、Claude などのクライアントから利用する場合に適しています。

主な機能

  1. 01Kagi セッショントークンによる認証
  2. 02複数の検索クエリの並行処理
  3. 03URL やテキストからの要約生成
  4. 04段落形式または箇条書き形式と出力言語の指定
  5. 05環境変数またはファイルからのトークン読み込み

活用シーン

  1. 01Claude Desktop や Claude Code からの Web 検索
  2. 02Web ページや動画リンクの要約
  3. 03API アクセスなしで LLM やエージェントを Kagi に接続

MCP 対応

本プロジェクトは MCP サーバーであり、kagi_search_fetch 検索ツールと kagi_summarizer 要約ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"kagi-ken": {
"command": "npx",
"args": [
"-y",
"github:czottmann/kagi-ken-mcp"
],
"env": {
"KAGI_SESSION_TOKEN": "<KAGI_SESSION_TOKEN>"
}
}
}
}
起動コマンドnpx -y github:czottmann/kagi-ken-mcp
設定が必要な環境変数
KAGI_SESSION_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgithub:czottmann/kagi-ken-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 つの方法をサポートしています(インストールを参照)。

  1. KAGI_SESSION_TOKEN 環境変数
  2. トークン文字列を含む ~/.kagi_session_token ファイル

次のような包括的なエラー処理を備えています。

  • 接続タイムアウト(検索ごとに 10 秒)
  • 無効な入力の検証
  • 環境変数の検証
  • 適切なエラー形式への変換
kagi-kan-mcp MCP サーバー

インストール

Node.js 22 以降が必要です。

1. Kagi セッショントークンを取得する
  1. ブラウザーで Kagi Settings にアクセスします
  2. Session Link をコピーします
  3. リンクから token の値を抽出します
  4. その値をセッショントークンとして使用します。~/.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(文字列):要約する URL
  • summary_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
インストール
  1. リポジトリをクローンします:

    git clone <repository-url>
    cd kagi-ken-mcp
    
  2. 依存関係をインストールします:

    npm install
    
開発モードでの実行
npm run dev
デバッグ

MCP Inspector を使用してデバッグします:

npx @modelcontextprotocol/inspector node ./src/index.js

その後、http://localhost:5173 でインスペクターにアクセスします。環境変数を使用する場合は、インスペクターの環境変数セクションに KAGI_SESSION_TOKEN を追加してください。

コントリビューション
  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. MCP Inspector でテストします
  5. プルリクエストを送信します

作者

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 向け生産性アプリを開発しています。ぜひご覧ください!

関連プロジェクト

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。