home / mcp / whistle mcp server

Whistle MCP Server

A Whistle proxy management tool based on Model Context Protocol that allows AI assistants to directly control local Whistle proxy servers, simplifying network debugging, API testing, and proxy rule configuration through natural language interaction.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "7gugu-whistle-mcp": {
      "command": "whistle-mcp",
      "args": [
        "--host=<whistle server IP address>",
        "--port=<whistle server port number>"
      ]
    }
  }
}

Whistle MCP Server lets you manage a local Whistle proxy via the Model Context Protocol (MCP). You can control rules, groups, values, monitor and replay requests, and toggle proxy behavior through an AI-enabled interface, making network debugging and API testing faster and more precise.

How to use

You connect an MCP client to the Whistle MCP Server to perform operations like creating rules, organizing them into groups, managing values, and controlling the proxy. Use the client’s MCP features to list, create, update, rename, enable/disable, and replay rules and requests. You can filter intercepted requests, replay them with altered parameters, and switch between single-rule and multi-rule modes as needed.

How to install

Prerequisites: ensure you have Node.js and npm installed on your system.

Option 1 Install via Smithery for Claude Desktop automatic setup.

npx -y @smithery/cli install @7gugu/whistle-mcp --client claude

Option 2 Manual installation: install the MCP tool globally with npm.

npm install -g whistle-mcp-tool

Configuration and usage notes

After you have installed Whistle MCP Server, configure it in your MCP setup. The following JSON snippet defines how to start the Whistle MCP server locally. Replace host and port with your actual Whistle server address and port.

{
  "mcpServers": {
    "whistle-mcp": {
      "command": "whistle-mcp",
      "args": [
        "--host=<whistle server IP address>",
        "--port=<whistle server port number>"
      ]
    }
  }
}

Additional configuration details

Host defaults to localhost if not specified. Port defaults to 8899 if not specified.

Troubleshooting and notes

If you encounter connectivity issues, verify that the Whistle MCP Server process is running, and that the host/port you configured match the Whistle server’s listening address. Check for firewall blocks and verify that MCP client settings point to the correct host and port.

Available tools

getRules

List all created rules and their content.

createRule

Create a new rule with the specified name.

updateRule

Modify the content of a specified rule.

renameRule

Rename a rule to a new name.

deleteRule

Delete a rule by name.

selectRule

Enable a rule by name.

unselectRule

Disable a rule by name.

disableAllRules

Disable all created rules at once.

createGroup

Create a new rule group with the specified name.

renameGroup

Rename a rule group.

deleteGroup

Delete a rule group by name.

moveRuleToGroup

Move a specified rule to a specific group.

moveRuleOutOfGroup

Move a rule out of its group to the top level.

getAllValues

List all created values and value groups.

createValue

Create a new value with the specified name.

updateValue

Modify the content of a specified value.

renameValue

Rename a value.

deleteValue

Delete a value by name.

createValueGroup

Create a new value group.

renameValueGroup

Rename a value group.

deleteValueGroup

Delete a value group by name.

moveValueToGroup

Move a value to a specific group.

moveValueOutOfGroup

Move a value out of its group to the top level.

getStatus

Get the current status information of the Whistle server.

toggleProxy

Enable/disable the Whistle proxy.

toggleHttpsInterception

Enable/disable HTTPS interception.

toggleHttp2

Enable/disable HTTP/2 protocol support.

toggleMultiRuleMode

Enable/disable multi-rule mode.

getInterceptInfo

Get intercepted network request information with filtering support.

replayRequest

Replay a specified network request with customizable parameters.