whistle-mcp
Whistle MCP Server
English | 中文
プロジェクト紹介
Whistle MCP Serverは、Model Context Protocol (MCP) に基づいたWhistleプロキシ管理ツールであり、AIアシスタントがローカルのWhistleプロキシサーバーを直接操作・制御できるようにします。このツールを通じて、AIはユーザーがルール、グループ、値の管理、ネットワークリクエストの監視、リクエストのリプレイや変更などを行うのを支援でき、Whistleのインターフェースを手動で操作する必要がなくなります。これにより、ネットワークデバッグ、APIテスト、プロキシルール管理のプロセスが大幅に簡素化され、ユーザーはAIとの自然言語対話を通じて複雑なネットワークプロキシ設定タスクを完了できるようになります。
Related MCP server: MCP Server
機能
ルール管理: Whistleルールの作成、更新、名前変更、削除、有効化/無効化
グループ管理: グループの作成、名前変更、削除、およびルールとグループ間の関連付け操作
値管理: 値の作成、更新、名前変更、削除、および値グループ管理のサポート
プロキシ制御: プロキシの有効化/無効化、HTTP/HTTPSインターセプト、HTTP/2プロトコルなどの制御
リクエストインターセプト: インターセプトされたネットワークリクエスト情報の表示(URLフィルタリング対応)
リクエストリプレイ: カスタムリクエストパラメータを使用したキャプチャ済みリクエストのリプレイサポート
マルチルールモード: マルチルールモードの有効化/無効化サポート
インストール
要件
Node.js 18.20.0以降が必要です (package.jsonのenginesを参照)。古いバージョンはサポートされていません。
Smithery経由でのインストール
Smithery を介してClaude Desktop用のWhistle MCP Serverを自動的にインストールするには:
npx -y @smithery/cli install @7gugu/whistle-mcp --client claude手動インストール
npmを使用してWhistle MCP Serverをグローバルにインストールできます:
npm install -g whistle-mcp-toolソースからのビルド
リポジトリのルートから:
npm install
npm run buildビルド出力のエントリは dist/index.js です(グローバルインストール後の whistle-mcp CLIで使用されるファイルと同じです)。node と dist/index.js へのパスを使用してMCP設定で指定することもできます。
MCP設定
トランスポート (stdio vs HTTP)
デフォルトでは、サーバーは stdio を使用します(CursorなどのローカルMCPクライアントに適しています)。
同じプロセスで Streamable HTTP と SSE を公開する場合(リモートまたはHTTP対応クライアント用)、--transport http-stream を使用します。FastMCPは --mcp-host / --mcp-port でリッスンし、以下を提供します:
Streamable HTTP:
http://<mcp-host>:<mcp-port><mcp-endpoint>(デフォルトパス/mcp)SSE:
http://<mcp-host>:<mcp-port>/sse
http-stream のエイリアス: sse, streamable-http (同じモード。両方のURLが利用可能です)。
フラグ / 環境変数 | 意味 |
|
|
| MCP HTTPポート (HTTPトランスポート使用時はデフォルト 8085) |
| バインドアドレス (デフォルト 0.0.0.0) |
| Streamable HTTPパス (デフォルト |
| ステートレスHTTPモード (オプション) |
Whistle 接続オプションは変更されません: --host, --port, --username / --password (または -n / -w)。
例 (HTTPトランスポート + 8899でローカルWhistleを実行; MCPはデフォルトで 8085 をリッスン):
whistle-mcp --transport http-stream --host 127.0.0.1 --port 8899デフォルトの 8085 を上書きするには --mcp-port <port> を使用してください。
インストール後、MCP JSON設定ファイルでWhistle MCPを設定できます:
{
"mcpServers": {
"whistle-mcp": {
"command": "whistle-mcp",
"args": [
"--host=<whistle server IP address>",
"--port=<whistle server port number>"
]
}
}
}Whistleを基本認証で開始した場合(Whistle CLIと同じフラグ: w2 start -n <username> -w <password>)、WhistleのAPIへのHTTPリクエストが成功するように、このMCPサーバーにも 同じ 資格情報を渡してください:
{
"mcpServers": {
"whistle-mcp": {
"command": "whistle-mcp",
"args": [
"--host=localhost",
"--port=8899",
"--username=<username>",
"--password=<password>"
]
}
}
}短いオプション (w2 に準拠): -n / -w は --username / --password と同等です。
whistle-mcp --host localhost --port 8899 -n myuser -w mypass設定の詳細
host: WhistleサーバーのIPアドレス。省略した場合は
localhostがデフォルトになりますport: Whistleサーバーのポート。省略した場合は
8899がデフォルトになりますusername (
-n/--username): Whistleが-nで開始された場合の基本認証ユーザー名。Whistleにログインがない場合は省略してくださいpassword (
-w/--password): Whistleが-wで開始された場合の基本認証パスワード。ユーザー名が設定されていてパスワードが省略された場合、空のパスワードが送信されます
AIクライアントでのMCP JSONの設定
Claude Client: https://modelcontextprotocol.io/quickstart/user
Raycast: MCPプラグインのインストールが必要
Cursor: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
MCPツール説明
Whistle MCP Serverは、MCPプロトコルを介して呼び出せる以下のツールを提供します:
ルール管理
ツール名 | 説明 | 機能 |
getRules | 全ルール取得 | 作成されたすべてのルールとその内容を一覧表示 |
createRule | ルール作成 | 指定した名前で新しいルールを作成 |
updateRule | ルール更新 | 指定したルールの内容を変更 |
renameRule | ルール名変更 | ルールを新しい名前に変更 |
deleteRule | ルール削除 | 指定した名前のルールを削除 |
enableRule | ルール有効化 | 指定した名前のルールを有効化 |
disableRule | ルール無効化 | 指定した名前のルールを無効化 |
setAllRulesState | 全ルール状態設定 | すべてのルールを一括で有効化または無効化 |
グループ管理
ツール名 | 説明 | 機能 |
createGroup | グループ作成 | 指定した名前で新しいルールグループを作成 |
renameGroup | グループ名変更 | ルールグループを新しい名前に変更 |
deleteGroup | グループ削除 | 指定した名前のルールグループを削除 |
addRuleToGroup | グループにルール追加 | 指定したルールを特定のグループに追加 |
removeRuleFromGroup | グループからルール削除 | ルールをグループから削除してトップレベルに戻す |
値管理
ツール名 | 説明 | 機能 |
getAllValues | 全値取得 | 作成されたすべての値と値グループを一覧表示 (注: データが大きくなる可能性があるため、先にgetValueListの使用を検討してください) |
getValueList | 値リスト取得 | インデックスと名前のみの値リストを取得 (大きなペイロードを避けるため、データフィールドは含みません) |
getValue | 単一値取得 | 名前で単一の値の完全な情報を取得 (データフィールドを含む) |
createValue | 値作成 | 指定した名前で新しい値を作成 |
updateValue | 値更新 | 指定した値の内容を変更 |
renameValue | 値名変更 | 値を新しい名前に変更 |
deleteValue | 値削除 | 指定した名前の値を削除 |
createValuesGroup | 値グループ作成 | 指定した名前で新しい値グループを作成 |
renameValueGroup | 値グループ名変更 | 値グループを新しい名前に変更 |
deleteValueGroup | 値グループ削除 | 指定した名前の値グループを削除 |
addValueToGroup | グループに値追加 | 指定した値を特定のグループに追加 |
removeValueFromGroup | グループから値削除 | 値をグループから削除してトップレベルに戻す |
プロキシ制御
ツール名 | 説明 | 機能 |
getWhistleStatus | サーバー状態取得 | Whistleサーバーの現在の状態情報を取得 |
toggleProxy | プロキシ有効/無効 | Whistleプロキシの有効状態を切り替え |
toggleHttpInterception | HTTPインターセプト有効/無効 | HTTPリクエストインターセプトの有効状態を切り替え |
toggleHttpsInterception | HTTPSインターセプト有効/無効 | HTTPSリクエストインターセプトの有効状態を切り替え |
toggleHttp2 | HTTP2有効/無効 | HTTP/2プロトコルサポートの有効状態を切り替え |
toggleMultiRuleMode | マルチルールモード有効/無効 | 複数のルールを同時に有効にできるかどうかを切り替え |
リクエスト管理
ツール名 | 説明 | 機能 |
getInterceptInfo | インターセプト情報取得 | Whistleによってインターセプトされたネットワークリクエスト情報を取得 (URLフィルタリングと正規表現をサポート) |
replayRequest | リクエストリプレイ | カスタマイズ可能なパラメータを使用して指定したネットワークリクエストを再送信 |
ユーティリティ
ツール名 | 説明 | 機能 |
getCurrentTimestamp | 現在のタイムスタンプ取得 | 現在のローカルタイムスタンプを取得 |
連絡先情報
Email: gz7gugu@qq.com
Blog: https://7gugu.com
Maintenance
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/7gugu/whistle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server