SkillAgentSearch skills...

whistle-mcp

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.

Install / Use

claude mcp add 7gugu -- npx -y github:7gugu/whistle-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

86/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of whistle-mcp

whistle-mcp scores 86/100 on our quality scale, 2291st of 4,619 Development & Engineering skills we index (top 50%).

Its MCP Server is 8.8 KB long, well organised into 20 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.

It has 44 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
20/20
Description
15/15
Adoption
7/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 2 days ago, so whistle-mcp is actively maintained.
  • Our last check on 2026-10-21 found the source still online.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

whistle-mcp compared with similar skills

All 4 of these similar skills score higher than whistle-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
whistle-mcp (this skill)by 7gugu86442d agoMCP Server
taste-skillby Leonxlnx100111.2k1d agoCLAUDE.md
Agent-Reachby Panniantong100109.6ktodayCLAUDE.md
headroomby headroomlabs-ai10079.0ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10070.1k1d agoCLAUDE.md

Frequently asked questions

How do I install whistle-mcp?
Run claude mcp add 7gugu -- npx -y github:7gugu/whistle-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does whistle-mcp work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is whistle-mcp safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is whistle-mcp still maintained?
The repository was last updated 2 days ago, so whistle-mcp is actively maintained.

Whistle MCP Server

English | 中文

Project Introduction

Whistle MCP Server is a Whistle proxy management tool based on the Model Context Protocol (MCP), allowing AI assistants to directly operate and control local Whistle proxy servers. Through this tool, AI can help users manage rules, groups, values, monitor network requests, replay and modify requests, etc., without requiring manual operation of the Whistle interface. It greatly simplifies the process of network debugging, API testing, and proxy rule management, enabling users to complete complex network proxy configuration tasks through natural language interaction with AI.

Features

  • Rule Management: Create, update, rename, delete, and enable/disable Whistle rules
  • Group Management: Create, rename, delete groups, and associate operations between rules and groups
  • Value Management: Create, update, rename, and delete values, with support for value group management
  • Proxy Control: Enable/disable proxy, HTTP/HTTPS interception, HTTP/2 protocol, etc.
  • Request Interception: View intercepted network request information, with URL filtering support
  • Request Replay: Support for replaying captured requests with custom request parameters
  • Multi-Rule Mode: Support for enabling/disabling multi-rule mode

Installation

Requirements

Node.js 18.20.0 or newer is required (see engines in package.json). Older versions are not supported.

Installing via Smithery

To install Whistle MCP Server for Claude Desktop automatically via Smithery:

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

Manual Installation

You can install Whistle MCP Server globally via npm:

npm install -g whistle-mcp-tool

Build from source

From the repository root:

npm install
npm run build

The build output entry is dist/index.js (the same file used by the whistle-mcp CLI after a global install). You can also point MCP config at it with node and the path to dist/index.js.

MCP Configuration

Transport (stdio vs HTTP)

By default the server uses stdio (suitable for local MCP clients such as Cursor).

To expose Streamable HTTP and SSE on the same process (for remote or HTTP-capable clients), use --transport http-stream. FastMCP then listens on --mcp-host / --mcp-port and serves:

  • Streamable HTTP: http://<mcp-host>:<mcp-port><mcp-endpoint> (default path /mcp)
  • SSE: http://<mcp-host>:<mcp-port>/sse

Aliases for http-stream: sse, streamable-http (same mode; both URLs are available).

| Flag / env | Meaning | |------------|---------| | --transport / -t, FASTMCP_TRANSPORT | stdio (default) or http-stream | | --mcp-port, FASTMCP_PORT | MCP HTTP port (default 8085 when using HTTP transport) | | --mcp-host, FASTMCP_HOST | Bind address (default 0.0.0.0) | | --mcp-endpoint, FASTMCP_ENDPOINT | Streamable HTTP path (default /mcp) | | --stateless, FASTMCP_STATELESS=true | Stateless HTTP mode (optional) |

Whistle connection options are unchanged: --host, --port, --username / --password (or -n / -w).

Example (HTTP transport + local Whistle on 8899; MCP listens on 8085 by default):

whistle-mcp --transport http-stream --host 127.0.0.1 --port 8899

Use --mcp-port <port> to override the default 8085.

After installation, you can configure Whistle MCP in your MCP JSON configuration file:

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

If you start Whistle with basic auth (same flags as the Whistle CLI: w2 start -n <username> -w <password>), pass the same credentials to this MCP server so HTTP requests to Whistle’s API succeed:

{
  "mcpServers": {
    "whistle-mcp": {
      "command": "whistle-mcp",
      "args": [
        "--host=localhost",
        "--port=8899",
        "--username=<username>",
        "--password=<password>"
      ]
    }
  }
}

Short options (aligned with w2): -n / -w are equivalent to --username / --password.

whistle-mcp --host localhost --port 8899 -n myuser -w mypass

Configuration Details

  • host: Whistle server IP address; defaults to localhost if omitted
  • port: Whistle server port; defaults to 8899 if omitted
  • username (-n / --username): Basic auth username when Whistle was started with -n; omit if Whistle has no login
  • password (-w / --password): Basic auth password when Whistle was started with -w; if username is set but password is omitted, an empty password is sent

Configuring MCP JSON in AI Clients

MCP Tools Description

Whistle MCP Server provides the following tools, which can be called via the MCP protocol:

Rule Management

| Tool Name | Description | Function | | ------- | --- | ---- | | getRules | Get all rules | List all created rules and their content | | createRule | Create new rule | Create a new rule with the specified name | | updateRule | Update rule content | Modify the content of a specified rule | | renameRule | Rename rule | Rename a rule to a new name | | deleteRule | Delete rule | Delete a rule with the specified name | | enableRule | Enable rule | Enable a rule with the specified name | | disableRule | Disable rule | Disable a rule with the specified name | | setAllRulesState | Set all rules state | Enable or disable all rules at once |

Group Management

| Tool Name | Description | Function | | ------- | --- | ---- | | createGroup | Create group | Create a new rule group with the specified name | | renameGroup | Rename group | Rename a rule group to a new name | | deleteGroup | Delete group | Delete a rule group with the specified name | | addRuleToGroup | Add rule to group | Add a specified rule to a specific group | | removeRuleFromGroup | Remove rule from group | Remove a rule from its group to the top level |

Value Management

| Tool Name | Description | Function | | ------- | --- | ---- | | getAllValues | Get all values | List all created values and value groups (note: data may be large, consider using getValueList first) | | getValueList | Get value list | Get value list with index and name only (without data field, to avoid large payloads) | | getValue | Get single value | Get full information of a single value by name (including data field) | | createValue | Create new value | Create a new value with the specified name | | updateValue | Update value content | Modify the content of a specified value | | renameValue | Rename value | Rename a value to a new name | | deleteValue | Delete value | Delete a value with the specified name | | createValuesGroup | Create value group | Create a new value group with the specified name | | renameValueGroup | Rename value group | Rename a value group to a new name | | deleteValueGroup | Delete value group | Delete a value group with the specified name | | addValueToGroup | Add value to group | Add a specified value to a specific group | | removeValueFromGroup | Remove value from group | Remove a value from its group to the top level |

Proxy Control

| Tool Name | Description | Function | | ------- | --- | ---- | | getWhistleStatus | Get server status | Get the current status information of the Whistle server | | toggleProxy | Enable/disable proxy | Toggle the enabled state of the Whistle proxy | | toggleHttpInterception | Enable/disable HTTP interception | Toggle the enabled state of HTTP request interception | | toggleHttpsInterception | Enable/disable HTTPS interception | Toggle the enabled state of HTTPS request interception | | toggleHttp2 | Enable/disable HTTP2 | Toggle the enabled state of HTTP/2 protocol support | | toggleMultiRuleMode | Enable/disable multi-rule mode | Toggle whether to allow multiple rules to be enabled simultaneously |

Request Management

| Tool Name | Description | Function | | ------- | --- | ---- | | getInterceptInfo | Get interception information | Get network request information intercepted by Whistle, with URL filtering and regex support | | replayRequest | Replay request | Resend a specified network request with customizable parameters |

Utility

| Tool Name | Description | Function | | ------- | --- | ---- | | getCurrentTimestamp | Get current timestamp | Get the current local timestamp |

Contact Information

Related Skills

View on GitHub
GitHub Stars44
CategoryDevelopment
Updated2d ago
Forks10

Languages

TypeScript

Trust signals

97/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info
whistle-mcp — MCP Server: Install & Safety Check | SkillAgent