Labsco
MCP SERVER

Whistle MCP Server

by 7gugu

Drive a running whistle proxy from the conversation: write and toggle rules, keep reusable values out of the rule text, flip HTTPS interception, and pull the captured request and response for a URL.

API Specifications & HTTP ToolingVerified
Summary
Rule edits and traffic inspection happen in the same conversation as the bug they are chasing.

The split worth learning is rules against values: rules say what whistle rewrites, values hold reusable payloads a rule can point at, and both have their own create, rename, group and delete tools. Replay is asynchronous by design — replayRequest returns before the response exists, so the outcome comes from a follow-up getInterceptInfo call on the same URL, and bodies arrive base64-encoded either way. getAllValues can return a large payload, which is why the index-and-name listing exists next to it.

What it is

A server over a whistle proxy's admin interface — rules and rule groups, named values, the proxy's own switches, captured traffic for a URL, and request replay.

What you get
  • Rules created, renamed, updated, enabled, disabled and deleted one at a time, or switched together with setAllRulesState
  • Rule groups as real objects: create a group, then move rules into and out of it
  • Named values with a size-aware read path — getValueList returns index and name only, getValue returns one value with its data, and getAllValues returns the lot
  • Five switches under tool control: the proxy itself, HTTP interception, HTTPS interception, HTTP/2 and multi-rule mode
  • Captured traffic for a URL through getInterceptInfo, filtered by start time and count, with request and response returned base64-encoded
  • replayRequest to re-send a captured request with your own method, headers, body and optional HTTP/2
Requirements

A whistle proxy already running for the server to talk to. No account and no key. MIT.

Setup effort

One command — npx -y whistle-mcp-tool