mcpField
M
Martin Kaiser

Martin Kaiser

ローカル
kaiser-data.github.io開発ツール2今日更新

Martin Kaiser について

Kitsune MCPは、MCPサーバー開発者や動的なツールセットを必要とするエージェント向けのハブです。セッション中にサーバーの接続、マウント、呼び出し、再読み込みができ、Docker利用時はコミュニティパッケージを隔離して実行します。

主な機能

  1. 01ローカルMCPサーバーのホットリロード
  2. 027つのサーバーレジストリを検索
  3. 03全ツールまたは選択ツールをマウント
  4. 04複数のトランスポートで接続
  5. 05Dockerによるコミュニティパッケージの隔離

活用シーン

  1. 01クライアントを再起動せずに変更をテストする
  2. 02恒久的な設定なしでサーバーを使う
  3. 03コンテナ内でコミュニティパッケージを評価する
  4. 04セッション中に認証情報を追加する

MCP 対応

Kitsune自体がMCPサーバーであり、他のMCPサーバーへの接続、検索、マウント、呼び出し、再読み込みのツールを公開します。マウントしたツールは元のスキーマで登録され、クライアントセッションを終了せずに解除できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"kitsune": {
"command": "npx",
"args": [
"-y",
"kitsune-mcp"
],
"env": {
"SMITHERY_API_KEY": "<SMITHERY_API_KEY>"
}
}
}
}
起動コマンドnpx -y kitsune-mcp
設定が必要な環境変数
SMITHERY_API_KEYシークレットSmithery API key for accessing 3,000+ verified MCP servers. Get yours at smithery.ai/account/api-keys

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

パッケージ
npmkitsune-mcp0.22.4
pypikitsune-mcp0.22.4

ツール

9

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
limitintegerいいえ
querystringはいキーワード、機能の説明、または自然言語のフレーズ
comparebooleanいいえトークンコストの比較表を並べて返します
registrystringいいえ

詳細

Kitsune MCP

🦊 Kitsune MCP

エージェントに、構築中の MCP サーバーをテストさせましょう。
ツールを編集し、reload("dev")を実行して、もう一度呼び出します。クライアントの再起動は不要です。

⭐ 再起動せずに済みましたか? GitHub でスターを付けて、ほかの人にも見つけてもらいましょう。

📖 ドキュメント · ホットリロードのチュートリアル · ツールのリファレンス

GitHub stars PyPI npm MCP Registry Python CI Coverage License: MIT Glama

Claude Code が Kitsune 経由で天気 MCP サーバーに接続し、ベルリンの気温として 59°C を取得します。華氏から摂氏への変換を修正し、reload("dev")を呼び出すと、同じセッション内で 15°C を取得します
1 つのプロンプトで、Claude がバグを見つけて修正し、リロードして再確認します。実際の録画、31 秒。


その理由

エージェントが MCP ツールを編集しても、クライアントでは古いプロセスが動いたままです。エージェントが修正をテストするには、誰かが再起動する必要があります。

Kitsune では、connect、call、reloadがツールです。エージェント自身が一連の流れを実行します。

connect("uvx --from . my-mcp-server", name="dev")  # start your server
shapeshift("dev")  # its tools appear in the client
call("summarize", arguments={"url": "https://example.com"})

# … the agent (or you) edits the tool …

reload("dev")  # restart on fresh code, remount
call("summarize", arguments={"url": "https://example.com"})  # new code, same session

また、Docker で隔離した状態で、7 つのレジストリにある 130,000 個以上のサーバーのうち、任意のものをセッション中にマウントできます。

お試しください:ホットリロードのチュートリアル · examples/demo-hot-reload/

インストール

Claude Code

claude mcp add -s user kitsune -- uvx kitsune-mcp

その他のクライアント(Claude Desktop、Cursor、Windsurf、Cline、Zed など):

{
  "mcpServers": {
    "kitsune": { "command": "uvx", "args": ["kitsune-mcp"] }
  }
}

PyPI からも利用できます(pip install kitsune-mcpを実行し、続けて"command": "kitsune-mcp"を指定)。npm からも利用できます(npx kitsune-mcpを実行すると、uvxに処理を委譲します)。

必要条件: Python 3.12 以降 · uv · npm ベースのサーバーにはnode/npx · Docker は任意で、コミュニティサーバーを隔離するために使用します。

できることは 3 つ

流れ得られること
MCP REPLconnect → shapeshift → 編集 → reload → callクライアントを再起動せずに、自分のサーバーで反復作業できます
幅広いサーバーへのアクセスsearch → shapeshift → call → shapeshift()サーバーを設定に追加し続けることなく、一度だけ利用できます
信頼する前に試すconfirm=True + Docker による隔離 + バージョン固定コミュニティの npm/PyPI コードを、自分のユーザーとしてではなく隔離した状態で実行できます
設定したことのないサーバーを借りる
search("web scraping")
shapeshift("firecrawl", tools=["scrape_url"])  # mount one tool, not the whole server
call("scrape_url", arguments={"url": "https://example.com"})
shapeshift()  # drop it, session stays up
コミュニティのパッケージを隔離して試す
search("pdf", registry="glama")
shapeshift("mcp-pdf-tools", confirm=True)  # npm/PyPI run in hardened Docker when available
call("extract_text", arguments={"path": "report.pdf"})
shapeshift()
セッション中に認証情報を追加する
auth("BRAVE_API_KEY", "sk-...")  # saved to ~/.kitsune/.env, no restart
shapeshift("brave", tools=["brave_web_search"])

ライブデモ全編:docs/demo-realtime.md。

使用する場合、使用しない場合

Kitsune を使用する場合…使用を避ける場合…
MCP サーバーを開発しており、編集と再読み込みを繰り返すループが必要な場合信頼できるサーバーを1~3個しか使わない場合(ネイティブに設定してください)
タスクに、設定に含まれていないサーバーが必要な場合毎回同じサーバーを使う場合(常時起動にしてください)
コミュニティの MCP コードを、恒久的にインストールせずに評価したい場合トークン使用量を減らしたい場合:基本コストは1ターンあたり約1,774トークンで、最新のクライアントはすでにツールのスキーマを必要に応じて読み込みます
MCP の設定が煩雑な場合(GATEWAY)サブ秒での初回呼び出しが必要な場合(コールドマウントには約1~15秒かかります)

仕組み

shapeshift(server_id) はトランスポート(stdio、HTTP+SSE、WebSocket、Docker)を選択して接続し、tools/list を読み込み、各ツールをサーバー本来のスキーマを持つネイティブツールとして登録します。クライアントは notifications/tools/list_changed を受信し、間にラッパーを挟まず、ファーストクラスのツールとして認識します。引数なしで shapeshift() を呼び出すと、ツールが削除され、接続が閉じられます。

Kitsune MCP アーキテクチャ

search() は、公式サーバーリポジトリ、MCP Registry、Glama、npm、PyPI、GitHub(github:owner/repo)、Smithery(ホスト型サーバー、無料の API キーが必要)を検索します。

ツール

デフォルトのプロファイル:9個のツール、1ターンあたり約1,774トークン(python examples/benchmark.py で測定)。

ツール役割
connect(command, name)永続的なローカルサーバーを起動します。たとえば、開発中のサーバーなどです
reload(name)1回の呼び出しで解放し、新しいコードで再起動して再マウントします
release(name)永続的なサーバーを停止します
search(query, registry?)7つのレジストリを検索します
shapeshift(server_id?, tools=[…])サーバーのツールを(すべて、または一部)マウントします。引数なしの場合は削除します
call(tool_name, arguments)ツールを呼び出します。マウント済みであればサーバーは自動的に判別されます
auth(var_or_server, value?)環境変数のキーを設定するか、OAuth 2.1 のブラウザーフローを実行します
auto(task, server_hint=)検索、マウント、呼び出しを1ステップで行います
status()現在の状態、接続プール、セッション統計を表示します

KITSUNE_TOOLS=all(または kitsune-forge コマンド)を指定すると、開発者向けツールが追加されます。inspect(スキーマ、認証情報の確認、トークンコスト)、test(品質スコア0~100)、bench(p50/p95 レイテンシ)、compare、prewarm、craft、setup などが含まれます。詳しくは docs/tools.md をご覧ください。Claude Code 向けの関連スキル:kitsune-dev、kitsune-improve。

安全性の概要

  • コミュニティソースには同意が必要です。 npm、PyPI、GitHub のサーバーでは confirm=True が必要です。モデルはこのフラグを自分で設定できるため、実際の承認はクライアントのツール承認 UI で行ってください。
  • connect() は、与えられたコマンドを、同意を求める仕組みも制限環境もない状態で、ユーザー権限で実行します。 ご自身のコード向けです。エージェントが実行する前に、クライアントで connect の呼び出しを承認してください。
  • コミュニティパッケージは、Docker がインストールされている場合、デフォルトで Docker の隔離環境で実行されます。 ホストのファイルシステムにはアクセスできず、--cap-drop ALL、ルートファイルシステムの読み取り専用化、メモリと PID の制限が適用されます。認証情報は名前で渡され、argv には渡されません。
  • バージョン固定(TOFU)。 後から悪意のあるパッケージが公開されても、すでに実行したバージョンがひそかに置き換えられることはありません。
  • オプトインのアクションガード。 ~/.kitsune/policy.json によって、すべての下流の呼び出しが許可/確認/拒否ルール、パスのルート、ホストの許可リストに照らしてチェックされます。ask の場合は、MCP エリシテーションを通じて確認を求められます。
  • インストールコマンドは検証されたうえでシェルを介さずに起動されます。fetch() はプライベートホストへのアクセスをブロックし、リダイレクトのたびに再チェックします。

本番環境の管理者、課金、セキュリティ関連の認証情報を使って、無人で実行しないでください。保護対象と保護対象外を含む完全なモデルについては、docs/safety.md をご覧ください。

詳細

「Kitsune」の由来

日本の民間伝承に登場するキツネ(狐)は、別のものに変化できる存在として知られています。姿を借りてその力を使い、それを手放して本来の姿に戻ります。これがこのプロダクトのサイクルです。

私は日本人ではありません。この名前は、その由来である神話と文化に最大限の敬意を払って使用しています。この類似性はあまりにも的確で、無視できませんでした。

貢献

make dev     # install with dev dependencies
make test    # pytest
make lint    # ruff

Issue や PR を歓迎します:github.com/kaiser-data/kitsune-mcp · CHANGELOG.md


MIT License · Python 3.12+ · FastMCP を基盤として構築

コメント

MCP は初めてですか?

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

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