MCP
Give AI agents access to Proxygen.
The Proxygen MCP server exposes Proxygen’s tools to AI agents through the Model Context Protocol. Once connected, an agent like Claude Code, Gemini CLI or Codex can inspect traffic, modify requests, manage rewrites and scripts, run tests, and configure the proxy — all against your live Proxygen document.
Overview
Proxygen’s MCP server runs on localhost and is reached through a small bridge binary bundled with the app. It requires a per-session authentication token so only agents launched from your machine can use it.
The MCP is designed to prepare a workspace for you to inspect and continue from, not to replace the UI. When an agent creates an editor tab, a rewrite rule, a test, or a transform recipe, the result is visible in the corresponding Proxygen tool so you can review, adjust, and keep working with it.
Typical uses:
- Ask an agent to explore traffic, summarize an API, or pick out interesting requests
- Have an agent draft rewrite rules or scripts based on a natural-language description
- Generate test configurations and payloads from example requests in history
- Extract values from responses across many messages
- Reproduce or modify requests in an editor tab
- Configure TLS interception, history filters, and recording settings
Enable the server from Preferences → MCP by turning on Enable MCP server.
Setting up agents
Open Preferences → MCP. The Agent Setup popup and the settings.json button generate the configuration needed to register Proxygen with common agents.
Registration command
The popup offers one-line registration commands for three agents. Selecting an entry copies the command to your clipboard; paste it into a terminal to register Proxygen with that agent.
-
Claude Code
claude mcp add proxygen --transport stdio -- <path-to-proxygen-mcp> -
Gemini CLI
gemini mcp add proxygen <path-to-proxygen-mcp> -
Codex
codex mcp add proxygen -- <path-to-proxygen-mcp>
The command shown in Proxygen contains the absolute path to the bundled proxygen-mcp bridge binary.
JSON configuration
For agents that are configured through a JSON settings file rather than a CLI command, use the settings.json button. It copies a ready-to-paste snippet to your clipboard:
{
"mcpServers": {
"proxygen": {
"command": "/path/to/Proxygen.app/Contents/MacOS/proxygen-mcp"
}
}
}Merge this into your agent’s MCP settings file.
Tools
The MCP server exposes the following tools, grouped by area.
Proxy
| Tool name | Description |
|---|---|
proxyStatus |
Current proxy state, configured listeners, and active connection count. |
proxyStart |
Start the proxy listeners. |
proxyStop |
Stop all proxy listeners. |
proxyConfigureTls |
Configure which hosts have TLS intercepted (MitM). Supports wildcards. |
proxyConfigureWrite |
Configure what traffic is written to history, including content type filtering. |
Certificate
| Tool name | Description |
|---|---|
certificateStatus |
Check whether the Proxygen CA is installed and trusted for TLS interception. |
certificateInstall |
Install the Proxygen CA into the login keychain and set trust settings. |
Document
| Tool name | Description |
|---|---|
documentList |
List all open Proxygen documents with their IDs and names. |
History
| Tool name | Description |
|---|---|
historySummary |
Quick overview of the document’s HTTP history: counts, hosts, status codes, content types, time range. |
historyList |
List history entries with filtering, sorting, and pagination. |
historyGet |
Full details of a single history entry, including request and response headers and bodies. |
historySearch |
Advanced rule-based search across history entries. |
historyExtract |
Extract values from matching entries using JSONPath, XPath, or regex capture groups. |
historyUpdate |
Set flag and/or notes on history entries, either by UUIDs or by filter. |
historyFilterSet |
Add filter rules to the history view so findings are surfaced in the UI. |
historyDelete |
Delete specific history entries by UUID. |
historyClear |
Clear all history entries from the document. |
historySitemap |
Hierarchical URL tree grouped by host and path, useful for discovering endpoints. |
historyExportCurl |
Export a history entry as a curl command. |
Sockets
| Tool name | Description |
|---|---|
socketsSummary |
Overview of WebSocket and SSE channels and messages. |
socketsList |
List socket message entries with filtering and sorting. |
socketsGet |
Full details of a single socket message entry. |
socketsSearch |
Advanced rule-based search across socket messages. |
socketsUpdate |
Set flag and/or notes on socket message entries. |
socketsFilterSet |
Add filter rules to the Sockets view. |
socketsDelete |
Delete specific socket message entries by UUID. |
socketsClear |
Clear all socket channels and messages. |
Editor
| Tool name | Description |
|---|---|
editorCreate |
Create a new editor with a prepared HTTP request. |
editorCreateFromHistory |
Create an editor from a history entry. |
editorGet |
Full details of an editor, including request and last response. |
editorUpdate |
Modify an existing editor’s request. |
editorSend |
Send the request in an editor and return the response. |
editorList |
List all open editors in the document. |
editorDelete |
Delete one or more editors. |
Connection
| Tool name | Description |
|---|---|
connectionSend |
Send an HTTP request directly without creating an artifact in the document. |
connectionSendBatch |
Send multiple HTTP requests concurrently. |
Rewrite
| Tool name | Description |
|---|---|
rewriteCreate |
Create a rewrite rule that modifies requests, modifies responses, mocks, or drops traffic. |
rewriteList |
List all rewrite rules in the document. |
rewriteGet |
Full details of a rewrite rule, including match conditions and actions. |
rewriteUpdate |
Modify an existing rewrite rule. |
rewriteDelete |
Delete rewrite rules by index. |
Script
| Tool name | Description |
|---|---|
scriptCreate |
Create a JavaScript script that runs on matching proxy traffic (onRequest, onResponse). |
scriptList |
List all scripts with match conditions and enabled state. |
scriptGet |
Full details of a script, including source code. |
scriptUpdate |
Modify an existing script. |
scriptDelete |
Delete scripts by index. |
Test
| Tool name | Description |
|---|---|
testCreate |
Create a test configuration (not run). Uses §placeholder§ markers for payload substitution. |
testGet |
Details of a test group, its tests, requests, and configuration. |
testRun |
Run a test by group ID. |
testStatus |
Poll status of the current test run: progress, pass/fail counts, elapsed time. |
testResults |
Detailed paginated results from the current or last test run. |
testStop |
Stop the currently running test. |
testDelete |
Delete test groups by UUID. |
Transform
| Tool name | Description |
|---|---|
transformApply |
Apply chained data transformations: encoding, hashing, compression, text ops, string manipulation. |
transformListOperations |
List all available transform operations with descriptions and parameters. |
transformListRecipes |
List all saved transform recipes. |
transformCreateRecipe |
Create a persistent Transform recipe. |
transformDeleteRecipe |
Delete transform recipes by UUID. |
Variable
| Tool name | Description |
|---|---|
variableEnvironmentSet |
Set the active variable environment. |
variableList |
List all variables in the current and default environment. |
variableGet |
Get a variable’s resolved value by name. |
variableSet |
Set a variable value in the current or a specific environment. |
variableDelete |
Delete one or more variables by name. |