hyper-mcp について
hyper-mcp(READMEではjailbreak-mcpと記載)は、選択可能なモードを介して設定済みMCPサーバーを仲介するMCPサーバー兼クライアントです。公開するツールを絞り、設定済みのプロンプトやリソースをツールとして扱う構想ですが、READMEでは古くなっており、現状この機能はツールのみとされています。
主な機能
- 01設定済みMCPサーバーの読み込み
- 02ツール呼び出しの接続先への転送
- 03モードごとのサーバーとツールの許可リスト
- 04ツールの除外や優先指定
- 05プロンプトとリソースの読み込み
活用シーン
- 01モードでタスクに必要なツールだけ公開
- 02MCPクライアントに表示するツールの削減
- 03選択したツール呼び出しの設定済みサーバーへの転送
MCP 対応
クライアントとして設定済みMCPサーバーに接続し、ラッパーMCPサーバーを通じてツールを公開・転送します。READMEではプロンプトとリソースの読み込みが記載されていますが、ツールとしての公開は未完了です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
jailbreak-mcp
重要
このツールは、Cursor や Claude Desktop などの既存の MCP クライアントにおけるいくつかの機能上の不足を補うために作られましたが、現在はこれらのツール自体が機能を実装しているため、時代遅れになっています。
このアイデアは、コンテキストウィンドウを節約するために不要なツールを許可リストまたは禁止リストに登録し、リソースとプロンプトをツールとして公開できるミドルウェア MCP サーバーとクライアントを作ることでした。
ツールの制限や概念の不足、コンテキストの過負荷を気にせず、Model Context Protocol 全体を利用するための MCP サーバーラッパーです。
なぜこれが存在するのですか?
MCP サーバーは✨素晴らしいもの✨になり得ますが、利用にはいくつかの注意点があります。
お使いのクライアントでは、プロトコルの機能の大半が使えない可能性があります。 MCP には、次のような多くの機能が定義されています。
- 関数のようなツール。
- 値のようなリソース。
- プロンプト。
執筆時点では、ほとんどの MCP クライアント(Cursor、Claude Desktop、Cherry Studio)がすべての機能を実装していません。 Cursor をお使いの場合、利用できるのはツールだけです。
Model Context Protocol のドキュメントで、お使いの MCP クライアントに不足している機能をご確認ください。
確かに、これは最大の問題ではありません。ほとんどのサーバーは、いずれにせよツールだけを使っているからです。 今後、プロトコルの機能をより多く実装するサーバーが増えれば、これはより大きな問題になる可能性があります。
警告
この機能はまだ完成していません!現在はツールのみ対応しています。
Jailbreak-MCP は、設定されたリソースとプロンプトをツールとして公開することでこの問題を解決し、最も制限の厳しい実装でもすべての機能を利用できるようにします。
MCP サーバーがコンテキストウィンドウを埋め尽くします
設定するツールが増えるほど、MCP サーバーがエージェントにとって非常に重要なコンテキストウィンドウを占有します。
複数の MCP サーバーのツールや情報を同時に使おうとすると、コンテキストウィンドウはすぐに非常に小さくなります。
この問題に対処するため、一部のクライアントでは、一度に設定するツールが多すぎる場合に警告を表示する機能が実装されています。Cursor ではツール数が 40 個にハード制限されていますが、その時点でどのツールが無効になっているかは表示されません。
一部のサーバーは、同時に非常に多くのツールを公開します。GitHub MCP サーバーだけで Cursor のツール数上限いっぱいになります。
現状では、使いたい MCP サーバーをその都度手動で有効化・無効化するのが最善の方法です。
JailbreakMCP は、特定のタスクに必要なツールとリソースだけを公開する設定可能な「モード」と、その場でモードを切り替えるツールを提供することで、この問題を解決します。
インストール
ここでは、Cursor を使用していることを前提にインストール例を説明します。
- まず、現在の
mcp.jsonファイルをバックアップします。
ヒント
デフォルトの場所は
~/.cursor/jailbreak.mcp.jsonです。 既存の Cursor 設定ファイルの名前を変更するには、次のコマンドを実行します。mv ~/.cursor/mcp.json ~/.cursor/jailbreak.mcp.json
- 元の場所に新しい
mcp.jsonファイルを作成し、次の内容を記述します。
{
"mcpServers": {
"jailbreak": {
"command": "npx",
"args": [
"jailbreak-mcp@latest",
"/optional/path/to/jailbreak.mcp.json",
],
"env": {
"CONFIG_PATH": "/optional/path/to/jailbreak.mcp.json"
}
}
}
}
サーバーは、引数、環境変数、~/.cursor/jailbreak.mcp.json の順に優先して使用します。
- ここから、
defaultモードを設定します。
{
"mcpServers": {
...
},
"modes": {
"default": {
"everything": {
"tools": [
"echo",
"add",
"longRunningOperation"
],
"prompts": [
"simple_prompt",
"complex_prompt",
"resource_prompt"
],
"resources": [
"test://static/resource/1",
"test://static/resource/2"
]
},
"time": true
}
}
}
設定
モード
各モードは、利用可能なサーバーと、許可する特定のツール/プロンプト/機能の許可リストです。
モードは、設定内の modes キーの下にキーと値のペアとして記述します。
{
"mcpServers": {
...
},
"modes": {
"default": {
...
},
"anotherModeName": {
...
}
}
}
各モードでは、許可するサーバーの名前をキーとして指定します(mcpServers で定義した名前と同じです)。
特定のサーバーで全項目を許可するには、その値を true に設定します。
{
"modes": {
"admin": {
"email": true,
"slack": true,
"time": true,
}
}
}
より細かく指定するには、利用したいツール、プロンプト、リソースを名前またはリソース URI のリストで指定します。
{
"modes": {
"admin": {
"time": true,
"email": {
"tools": [
"read_email",
"send_email",
"list_inbox"
]
},
"slack": {
"tools": [
"slack_list_channels",
"slack_get_channel_history",
"slack_get_thread_replies",
"slack_get_users",
"slack_get_user_profile"
]
},
"everything": {
"tools": [
"echo",
"add",
"longRunningOperation"
],
"prompts": [
"simple_prompt",
"complex_prompt",
"resource_prompt"
],
"resources": [
"test://static/resource/1",
"test://static/resource/2"
]
},
}
}
}
TODO
対応が必要な項目:
- 設定ファイル(mcp.json)を読み込む。引数または環境変数を指定可能
- 正しい形式であることを検証する(zod スキーマ)
起動
- MCP エントリごとに新しいクライアントを読み込む
- すべてのツールを一覧表示する
- すべてのツールをレジスターに追加する
-
npm init jailbreakのセットアップ用のcreate-jailbreakパッケージ
ランタイム
- ツールエンドポイント経由でリストを公開する
- コマンドを受け取る
- 各 MCP サーバーにコマンドを転送する
- 結果を返す
サポート
- Nix、fnm などをサポートするよう、トランスポートコマンドを更新する
- MCP ホスト環境を引き継ぐよう、接続を更新する(これは必要ですか?)
- 動的なツール(変更可能なツールなど)をサポートするよう、ツールを更新する
追加機能
- CI とリリース
- SSE サーバーをサポートする
- すべてのプロンプトとリソースも読み込む
- ツールを任意で除外または優先する
- その他すべての機能も公開する
- 指示、動的?
- テンプレート化可能なヘルプメッセージ?
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。