Skip to main content
Glama

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.jsonenginesを参照)。古いバージョンはサポートされていません。

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で使用されるファイルと同じです)。nodedist/index.js へのパスを使用してMCP設定で指定することもできます。

MCP設定

トランスポート (stdio vs HTTP)

デフォルトでは、サーバーは stdio を使用します(CursorなどのローカルMCPクライアントに適しています)。

同じプロセスで Streamable HTTPSSE を公開する場合(リモートまたは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_TRANSPORT

stdio (デフォルト) または http-stream

--mcp-port, FASTMCP_PORT

MCP HTTPポート (HTTPトランスポート使用時はデフォルト 8085)

--mcp-host, FASTMCP_HOST

バインドアドレス (デフォルト 0.0.0.0)

--mcp-endpoint, FASTMCP_ENDPOINT

Streamable 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 で開始された場合の基本認証ユーザー名。Whistleにログインがない場合は省略してください

  • password (-w / --password): Whistleが -w で開始された場合の基本認証パスワード。ユーザー名が設定されていてパスワードが省略された場合、空のパスワードが送信されます

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

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

現在のタイムスタンプ取得

現在のローカルタイムスタンプを取得

連絡先情報

Install Server
A
license - permissive license
C
quality
B
maintenance

Maintenance

Maintainers
2dResponse time
Release cycle
Releases (12mo)
Issues opened vs closed

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