English | 中文
Whistle MCP Server 是一个基于模型上下文协议 (MCP) 的 Whistle 代理管理工具,允许AI助手直接操作和控制本地的 Whistle 代理服务器。通过这个工具,AI可以帮助用户管理规则、组、值,监控网络请求,重放和修改请求等,无需手动操作 Whistle 接口。这大大简化了网络调试、API 测试和代理规则管理的过程,使用户能够通过与AI的自然语言交互完成复杂的网络代理配置任务。
要通过 Smithery 自动安装 Whistle MCP Server 到 Claude Desktop:
npx -y @smithery/cli install @7gugu/whistle-mcp --client claude
您可以通过 npm 全局安装 Whistle MCP Server:
npm install -g whistle-mcp-tool
安装后,您可以在 MCP JSON 配置文件中配置 Whistle MCP:
{
"mcpServers": {
"whistle-mcp": {
"command": "whistle-mcp",
"args": [
"--host=<whistle 服务器 IP 地址>",
"--port=<whistle 服务器端口号>"
]
}
}
}
Whistle MCP Server 提供以下工具,可通过 MCP 协议调用:
| 工具名称 | 描述 | 功能 |
|---|---|---|
| getRules | 获取所有规则 | 列出所有已创建的规则及其内容 |
| createRule | 创建新规则 | 创建具有指定名称的新规则 |
| updateRule | 更新规则内容 | 修改指定规则的内容 |
| renameRule | 重命名规则 | 将规则重命名为新名称 |
| deleteRule | 删除规则 | 删除具有指定名称的规则 |
| selectRule | 启用规则 | 启用具有指定名称的规则 |
| unselectRule | 禁用规则 | 禁用具有指定名称的规则 |
| disableAllRules | 禁用所有规则 | 一次性禁用所有已创建的规则 |
| 工具名称 | 描述 | 功能 |
|---|---|---|
| createGroup | 创建组 | 创建具有指定名称的新规则组 |
| renameGroup | 重命名组 | 将规则组重命名为新名称 |
| deleteGroup | 删除组 | 删除具有指定名称的规则组 |
| moveRuleToGroup | 移动规则到组 | 将指定规则移动到特定组 |
| moveRuleOutOfGroup | 移动规则出组 | 将规则从其组移动到顶层 |
| 工具名称 | 描述 | 功能 |
|---|---|---|
| getAllValues | 获取所有值 | 列出所有已创建的值和值组 |
| createValue | 创建新值 | 创建具有指定名称的新值 |
| updateValue | 更新值内容 | 修改指定值的内容 |
| renameValue | 重命名值 | 将值重命名为新名称 |
| deleteValue | 删除值 | 删除具有指定名称的值 |
| createValueGroup | 创建值组 | 创建具有指定名称的新值组 |
| renameValueGroup | 重命名值组 | 将值组重命名为新名称 |
| deleteValueGroup | 删除值组 | 删除具有指定名称的值组 |
| moveValueToGroup | 移动值到组 | 将指定值移动到特定组 |
| moveValueOutOfGroup | 移动值出组 | 将值从其组移动到顶层 |
| 工具名称 | 描述 | 功能 |
|---|---|---|
| getStatus | 获取服务器状态 | 获取 Whistle 服务器当前的状态信息 |
| toggleProxy | 启用/禁用代理 | 切换 Whistle 代理的启用状态 |
| toggleHttpsInterception | 启用/禁用 HTTPS 拦截 | 切换 HTTPS 请求拦截的启用状态 |
| toggleHttp2 | 启用/禁用 HTTP2 | 切换 HTTP/2 协议支持的启用状态 |
| toggleMultiRuleMode | 启用/禁用多规则模式 | 切换是否允许同时启用多个规则 |
| 工具名称 | 描述 | 功能 |
|---|---|---|
| getInterceptInfo | 获取拦截信息 | 获取被 Whistle 拦截的网络请求信息,支持过滤 |
| replayRequest | 重放请求 | 重新发送指定的网络请求,并可自定义参数 |