Proxyman MCP
官方Proxyman MCP 允许 AI 检查 HTTP 流量、创建调试规则并控制 Proxyman——全部通过自然语言对话完成。
你可以用 Proxyman MCP 做什么?
- 检查捕获的流量 — 让 AI 使用
get_flows列出最近的 HTTP 流,并通过get_flow_detail深入查看完整的请求/响应详情。 - 通过对话创建调试规则 — 使用
create_breakpoint、create_map_local、create_map_remote和create_blacklist设置断点、映射本地、映射远程或黑名单规则。 - 控制代理会话 — 使用
toggle_recording开始或停止录制,并通过clear_session清除所有捕获的流。 - 将请求导出为代码 — 使用
export_flow_curl将捕获的流导出为 cURL 命令,或使用generate_code生成 18 种以上语言的客户端代码。 - 管理 SSL 解密 — 使用
enable_ssl_proxying为某个域名启用 HTTPS 解密,并通过get_certificate_status检查证书安装状态。 - 配置高级代理设置 — 使用
set_external_proxy设置上游外部代理,使用create_reverse_proxy创建反向代理条目,或切换无缓存行为。
文档
完整的文档索引请参见 llms.txt。文档页面的 Markdown 版本可通过在页面 URL 后附加
.md获取;本页面的 Markdown 版本也可用。
MCP
1. 什么是 Proxyman MCP?
Proxyman MCP(模型上下文协议)是一项功能,使 AI 助手(Claude、Cursor 及其他兼容 MCP 的工具)能够直接与 Proxyman macOS 应用交互。它允许 AI 通过自然语言对话来检查 HTTP 流量、创建调试规则并控制 Proxyman。
该架构包含两个组件:
- MCP HTTP 服务器 - 在 Proxyman 应用内运行于 localhost,采用基于令牌的身份验证
- MCP CLI 服务器 - 一个基于 stdio 的 MCP 服务器,AI 工具连接至此后,会将命令转发给 Proxyman
{% hint style="info" %} 请查看 Proxyman SKILL.md 以用于您的 AI 代理 {% endhint %}
✅ 示例提示
- 显示 api.example.com 最近 10 个 API 请求
- 为所有发往 /api/users 的 POST 请求创建断点
- 将失败的请求导出为 cURL 命令
- 为 *.stripe.com 启用 SSL 代理
- 创建一个新脚本来更改状态码、标头和正文。
- 使用给定的 URL 创建 Map Local、断点工具
2. 优势
| 优势 | 描述 |
|---|---|
| AI 驱动的调试 | 让 AI 分析捕获的流量、查找特定请求或解释 API 响应 |
| 免手动创建规则 | 通过对话创建断点、map local/remote 规则 |
| 更高效的工作流 | 无需切换上下文即可导出 cURL 命令、过滤流量和管理会话 |
| 设计安全 | 仅限本地主机的服务器,采用每次会话令牌身份验证 |
| IDE 集成 | 与 Cursor 及其他兼容 MCP 的工具无缝协作 |
3. 如何添加 Proxyman MCP
- 在 Proxyman 中启用 MCP
- 打开 Proxyman → 设置 → MCP 标签页
- 切换 启用 MCP 服务器以启动 MCP 服务器
- 配置您的 MCP 客户端(例如 Cursor、Claude Desktop)
- 将 Proxyman MCP 添加到您的代理:
Codex
- 生产版本:
codex mcp add proxyman -- "/Applications/Proxyman.app/Contents/MacOS/mcp-server"
- Setapp 版本:
codex mcp add proxyman -- "/Applications/Setapp/Proxyman.app/Contents/MacOS/mcp-server"
Claude Code
- 生产版本:
{% code overflow="wrap" %}
claude mcp add proxyman --transport stdio -- "/Applications/Proxyman.app/Contents/MacOS/mcp-server"
{% endcode %}
- Setapp 版本:
{% code overflow="wrap" %}
claude mcp add proxyman --transport stdio -- "/Applications/Setapp/Proxyman.app/Contents/MacOS/mcp-server"
{% endcode %}
手动配置
根据您使用的 AI 代理,您需要编辑代理设置以使用 Proxyman MCP。以下是示例 setting.json:
- 生产版本:
{
"mcpServers": {
"proxyman": {
"command": "/Applications/Proxyman.app/Contents/MacOS/mcp-server"
}
}
}
- Setapp 版本
{
"mcpServers": {
"proxyman": {
"command": "/Applications/Setapp/Proxyman.app/Contents/MacOS/mcp-server"
}
}
}
- 开始使用 Proxyman MCP
- 确保 Proxyman 正在运行
- 让您的 AI 助手与 Proxyman 交互。
4. 可用工具
只读工具
| 工具 | 描述 |
|---|---|
get_version | 返回 Proxyman 版本和构建号 |
get_proxy_status | 返回录制状态、代理端口和 SSL 代理状态 |
get_flows | 列出捕获的 HTTP/HTTPS 流量,支持可选过滤器(limit、host_filter、method_filter、status_filter) |
get_flow_detail | 返回特定流量的完整详细信息,包括标头、正文预览、查询参数和 Cookie |
list_rules | 列出所有调试规则(断点、map local、map remote、黑名单) |
get_ssl_proxying_list | 返回 SSL 代理的包含/排除域名列表 |
get_certificate_status | 返回根证书安装状态 |
写入工具
| 工具 | 描述 | 必需参数 |
|---|---|---|
create_breakpoint | 创建断点以暂停/检查匹配的请求 | url(模式) |
create_map_local | 为匹配的 URL 返回自定义响应 | url(模式) |
create_map_remote | 将请求从一个 URL 重定向到另一个 | from_url、to_url |
create_blacklist | 阻止匹配 URL 模式的请求 | url(模式) |
| enable_scripting_tool | 创建脚本 | |
enable_ssl_proxying | 为域名启用 HTTPS 解密 | domain |
会话控制
| 工具 | 描述 |
|---|---|
clear_session | 清除当前会话中所有捕获的流量 |
toggle_recording | 开始或停止流量录制 |
流量操作
| 工具 | 描述 |
|---|---|
export_flow_curl | 将捕获的请求导出为可运行的 cURL 命令 |
filter_flows | 使用多个条件(url、host、method、status、headers、body)进行高级过滤,支持 AND/OR 组合 |
应用控制
| 工具 | 描述 |
|---|---|
open_proxyman | 如果未运行,则启动 Proxyman |
quit_proxyman | 退出 Proxyman 应用 |
更新日志
MCP v3(Proxyman macOS ≥ 6.8.0)
| 名称 | 描述 |
|---|---|
| get_version | 获取当前 Proxyman macOS 应用的版本号和构建号 |
| get_proxy_status | 获取当前代理状态,包括录制状态、端口号和 SSL 代理状态 |
| get_flows | 从 Proxyman 的活动会话数据源获取最近的 HTTP/HTTPS 流量 |
| get_flow_detail | 获取特定流量的详细信息,包括请求头、请求体、查询参数和 Cookie |
| list_rules | 列出所有活动的调试规则(断点、本地映射、远程映射、黑名单、脚本、DNS 欺骗、网络条件、白名单) |
| get_ssl_proxying_list | 获取当前的 SSL 代理配置,包括启用状态和域名列表 |
| create_breakpoint | 创建新的断点规则,用于暂停并检查/修改匹配 URL 模式的请求或响应 |
| create_map_local | 创建本地映射规则,为匹配的请求返回自定义响应 |
| create_map_remote | 创建远程映射规则,将请求从一个 URL 重定向到另一个 URL |
| create_blacklist | 创建黑名单规则,阻止匹配 URL 模式的请求 |
| create_scripting_rule | 创建脚本规则,使用自定义 JavaScript 修改请求/响应 |
| enable_ssl_proxying | 为特定域名启用 SSL 代理,以解密 HTTPS 流量 |
| clear_session | 清除当前会话中所有捕获的流量 |
| toggle_recording | 开始或停止录制 HTTP 流量 |
| export_flow_curl | 将捕获的 HTTP 请求导出为 cURL 命令 |
| filter_flows | 使用高级过滤条件筛选捕获的 HTTP/HTTPS 流量 |
| get_certificate_status | 获取 Proxyman 根证书的当前状态 |
| install_certificate | 安装并信任 Proxyman 根 CA 证书 |
| uninstall_certificate | 从钥匙串中移除 Proxyman 根 CA 证书 |
| inject_terminal | 启动终端应用,并注入 Proxyman 代理环境变量 |
| get_terminal_manual_command | 获取用于手动设置代理环境变量的 bash source 命令 |
| answer_setup_question | 回答关于从 iOS、Android、浏览器等设备捕获 HTTPS 的设置问题 |
| search_docs | 搜索内置的 Proxyman 设置和故障排除文档索引 |
| list_setup_workflows | 列出 Proxyman MCP 可以引导用户完成的受支持设置工作流 |
| list_popular_workflows | 使用 Proxyman 精选的默认排序,列出热门设置工作流 |
| open_proxyman_screen | 在 macOS 应用中打开特定的 Proxyman 指南或设置界面 |
| run_guided_setup | 在 Proxyman 中为浏览器或 Android 模拟器运行一键自动化设置 |
| list_reverse_proxies | 列出已配置的反向代理条目 |
| create_reverse_proxy | 为本地主机或自定义本地端口路由创建反向代理条目 |
| generate_code | 从捕获的 HTTP 流量生成 18 种以上语言/框架的代码 |
| create_dns_spoofing | 创建 DNS 欺骗规则,将主机名重定向到不同的 IP 地址 |
| list_dns_spoofing | 列出所有 DNS 欺骗规则及其启用状态 |
| update_dns_spoofing | 更新现有的 DNS 欺骗规则 |
| get_external_proxy | 获取当前的外部代理(上游代理)配置 |
| set_external_proxy | 为特定协议类型配置外部代理设置 |
| toggle_no_caching | 切换“无缓存”功能(剥离缓存相关的请求头) |
| inject_electron | 启动 Electron 应用,并注入 Proxyman 代理配置 |
| open_proxyman | 启动 Proxyman macOS 应用 |
| quit_proxyman | 退出 Proxyman macOS 应用 |
MCP v2 (Proxyman ≥ v6.7.0)
- 内置知识库,涵盖 iOS、Android、浏览器、终端、VPN、本地主机和第三方库
- 新增命令:answer_setup_question、search_docs、list_setup_workflows、open_proxyman_screen、run_guided_setup、create_reverse_proxy
- 为聊天客户端提供 MCP 资源和提示模板
- 支持反向代理的创建/列表
安全性
- 服务器仅绑定到
127.0.0.1(无网络暴露) - 每个会话的加密令牌存储在
~/Library/Application Support/com.proxyman.NSProxy/mcp-handshake.json中 - 握手文件具有
0600权限(仅所有者可访问) - 敏感数据(认证令牌、密码、API 密钥)在响应中会自动脱敏