mcpField
W
Whistle MCP Server

Whistle MCP Server

ローカル
npmjs.com開発ツール4430 週間前に更新

Whistle MCP Server について

Whistle MCP Server は、AI アシスタントがローカルの Whistle プロキシを操作できるようにする MCP サーバーです。ネットワークデバッグ、API テスト、プロキシルールの設定を自然言語で行いたいユーザー向けです。

主な機能

  1. 01ルールの作成、更新、削除、有効・無効の切り替え
  2. 02グループとルールの関連付け管理
  3. 03バリューとバリューグループの管理
  4. 04プロキシ、HTTP/HTTPS インターセプト、HTTP/2 の切り替え
  5. 05URL フィルタリング付きのリクエスト傍受情報の表示
  6. 06カスタムパラメータによるリクエストの再送

活用シーン

  1. 01自然言語によるプロキシルールの作成と切り替え
  2. 02AI アシスタントによる傍受ネットワークリクエストの絞り込み
  3. 03API テストのための捕捉済みリクエストの再送

MCP 対応

本プロジェクトは MCP サーバーであり、Whistle のルール、グループ、バリュー、プロキシ制御、リクエスト管理の操作をツールとして MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"whistle": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

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

パッケージ
npm@smithery/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Whistle MCP サーバー

英語 | 中国語

プロジェクト紹介

Whistle MCP サーバーは、Model Context Protocol(MCP)に基づく Whistle プロキシ管理ツールです。AI アシスタントがローカルの Whistle プロキシサーバーを直接操作、制御できます。このツールを使うと、Whistle のインターフェースを手動で操作することなく、AI がルールやグループ、値の管理、ネットワークリクエストの監視、リクエストの再生や変更などを支援できます。ネットワークのデバッグ、API テスト、プロキシルール管理のプロセスを大幅に簡略化し、AI と自然言語でやり取りしながら、複雑なネットワークプロキシ設定タスクを完了できます。

機能

  • ルール管理:Whistle ルールの作成、更新、名前変更、削除、有効化/無効化
  • グループ管理:グループの作成、名前変更、削除、およびルールとグループ間の関連付け操作
  • 値の管理:値の作成、更新、名前変更、削除、および値のグループ管理に対応
  • プロキシ制御:プロキシ、HTTP/HTTPS インターセプト、HTTP/2 プロトコルなどの有効化/無効化
  • リクエストのインターセプト:インターセプトしたネットワークリクエスト情報の表示。URL によるフィルタリングにも対応
  • リクエストの再生:カスタムのリクエストパラメーターを指定して、キャプチャしたリクエストを再生できます
  • マルチルールモード:マルチルールモードの有効化/無効化に対応

インストール

要件

Node.js 18.20.0 以降が必要です(package.json の engines を参照)。それ以前のバージョンには対応していません。

Smithery 経由でインストール

Smithery 経由で Claude Desktop に Whistle MCP サーバーを自動インストールするには:

npx -y @smithery/cli install @7gugu/whistle-mcp --client claude
手動インストール

npm 経由で Whistle MCP サーバーをグローバルにインストールできます:

npm install -g whistle-mcp-tool
ソースからビルド

リポジトリのルートから実行します:

npm install
npm run build

ビルド出力のエントリーポイントは dist/index.js です(グローバルインストール後に whistle-mcp CLI が使用するファイルと同じです)。MCP 設定で node と dist/index.js へのパスを指定することもできます。

MCP の設定

トランスポート(stdio と 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 も利用できます)。

フラグ/環境変数意味
--transport / -t、FASTMCP_TRANSPORTstdio(デフォルト)または http-stream
--mcp-port、FASTMCP_PORTMCP の HTTP ポート(HTTP トランスポート使用時のデフォルトは 8085)
--mcp-host、FASTMCP_HOSTバインドアドレス(デフォルトは 0.0.0.0)
--mcp-endpoint、FASTMCP_ENDPOINTStreamable HTTP のパス(デフォルトは /mcp)
--stateless、FASTMCP_STATELESS=trueステートレス 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 を指定した場合の Basic 認証のユーザー名です。Whistle にログイン設定がない場合は省略してください
  • password(-w / --password):Whistle の起動時に -w を指定した場合の Basic 認証のパスワードです。username が設定されていて password が省略された場合は、空のパスワードが送信されます

AI クライアントでの MCP JSON の設定

MCP ツールの説明

Whistle MCP Server では、MCP プロトコル経由で呼び出せる以下のツールを提供しています。

ルール管理
ツール名説明機能
getRulesすべてのルールを取得作成済みのすべてのルールとその内容を一覧表示します
createRule新しいルールを作成指定した名前で新しいルールを作成します
updateRuleルールの内容を更新指定したルールの内容を変更します
renameRuleルール名を変更ルール名を新しい名前に変更します
deleteRuleルールを削除指定した名前のルールを削除します
enableRuleルールを有効化指定した名前のルールを有効にします
disableRuleルールを無効化指定した名前のルールを無効にします
setAllRulesStateすべてのルールの状態を設定すべてのルールを一括で有効または無効にします
グループ管理
ツール名説明機能
createGroupグループを作成指定した名前で新しいルールグループを作成します
renameGroupグループ名を変更ルールグループの名前を新しい名前に変更します
deleteGroupグループを削除指定した名前のルールグループを削除します
addRuleToGroupルールをグループに追加指定したルールを特定のグループに追加します
removeRuleFromGroupルールをグループから削除ルールを所属するグループからトップレベルに移動します
値の管理
ツール名説明機能
getAllValuesすべての値を取得作成済みのすべての値と値グループを一覧表示します(注:データ量が大きい場合があるため、まず getValueList の使用をご検討ください)
getValueList値の一覧を取得インデックスと名前のみを含む値の一覧を取得します(大きなペイロードを避けるため、data フィールドは含まれません)
getValue単一の値を取得名前を指定して、単一の値の完全な情報を取得します(data フィールドを含む)
createValue新しい値を作成指定した名前で新しい値を作成します
updateValue値の内容を更新指定した値の内容を変更します
renameValue値の名前を変更値の名前を新しい名前に変更します
deleteValue値を削除指定した名前の値を削除します
createValuesGroup値グループを作成指定した名前で新しい値グループを作成します
renameValueGroup値グループ名を変更値グループの名前を新しい名前に変更します
deleteValueGroup値グループを削除指定した名前の値グループを削除します
addValueToGroup値をグループに追加指定した値を特定のグループに追加します
removeValueFromGroup値をグループから削除値を所属するグループからトップレベルに移動します
プロキシ制御
ツール名説明機能
getWhistleStatusサーバーの状態を取得Whistle サーバーの現在の状態情報を取得します
toggleProxyプロキシを有効/無効にするWhistle プロキシの有効状態を切り替えます
toggleHttpInterceptionHTTP インターセプトを有効/無効にするHTTP リクエストのインターセプトの有効状態を切り替えます
toggleHttpsInterceptionHTTPS インターセプトを有効/無効にするHTTPS リクエストのインターセプトの有効状態を切り替えます
toggleHttp2HTTP2 を有効/無効にするHTTP/2 プロトコルサポートの有効状態を切り替えます
toggleMultiRuleMode複数ルールモードを有効/無効にする複数のルールを同時に有効にできるかどうかを切り替えます
リクエスト管理
ツール名説明機能
getInterceptInfoインターセプト情報を取得Whistle がインターセプトしたネットワークリクエスト情報を取得します。URL フィルタリングと正規表現に対応しています
replayRequestリクエストを再送カスタマイズ可能なパラメーターを指定して、特定のネットワークリクエストを再送信します
ユーティリティ
ツール名説明機能
getCurrentTimestamp現在のタイムスタンプを取得現地の現在のタイムスタンプを取得します

お問い合わせ先

コメント

MCP は初めてですか?

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

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