Skip to main content
Full parameter and return value documentation for each MCP tool. See MCP server for setup instructions.

Read tools

list_requests

Paginated listing of captured flows. Parameters:
ParamTypeDefaultDescription
filterstringFilter expression (same syntax as quick filter)
offsetint0Skip first N results
limitint50Max results (0–200)
Returns: { items: FlowSummary[], total: int }

search_requests

Substring search on host and path. Parameters:
ParamTypeDefaultDescription
querystringrequiredSearch term
offsetint0Skip first N results
limitint50Max results (0–200)
Returns: { items: FlowSummary[], total: int }

get_request

Full details for a single flow including headers and bodies. Parameters:
ParamTypeDefaultDescription
idstringrequiredFlow ID
max_body_sizeint0Truncate body to N bytes (0 = no limit)
dumpboolfalseWrite bodies to temp files instead of inline
Returns: { meta: FlowMeta, request: { headers, body }, response: { headers, body } } When dump is true, body fields contain file paths instead of content.

get_request_count

Count flows matching a filter. Parameters:
ParamTypeDefaultDescription
filterstringFilter expression
Returns: { total: int }

export_har

Export flows to HAR 1.2 format. Parameters:
ParamTypeDefaultDescription
filterstringFilter expression
request_idsstring[]Export specific flow IDs
Returns: HAR document as JSON string.

Simulation tools

replay_request

Resend a captured request or compose a new one. The request routes through the proxy and appears in the flow list. Parameters (replay existing):
ParamTypeDescription
request_idstringFlow ID to replay
Parameters (compose new):
ParamTypeDescription
methodstringHTTP method
urlstringFull URL
headersobjectHeader key-value pairs
bodystringRequest body
Returns: { status_code: int }

mock_response

Intercept matching URLs and return a synthetic response. Creates an internal script that calls ctx.respondWith(). Parameters:
ParamTypeDefaultDescription
match_patternstringrequiredURL glob pattern
statusint200Response status code
headersobjectResponse headers
bodystringResponse body
Returns: { script_id: string }

set_throttle

Apply bandwidth throttling. Parameters:
ParamTypeDefaultDescription
presetstringPreset name: 3g, 4g, wifi
bpsintCustom bytes per second
latency_msintAdded latency in milliseconds
Use preset for standard profiles or bps + latency_ms for custom values. Returns: { bps: int, latency_ms: int, active: bool }

get_throttle

Query current throttle state. Parameters: none Returns: { bps: int, latency_ms: int, active: bool }

Script tools

Scripts are identified by opaque IDs (16-character hex strings), not file paths.

list_scripts

List all scripts with metadata. Parameters: none Returns: { scripts: [{ name, script_id, match_patterns, enabled, category }] }

create_script

Write a new JavaScript hook. Parameters:
ParamTypeDefaultDescription
namestringrequiredScript display name
match_patternsstring[]requiredURL glob patterns
codestringrequiredJavaScript source
enabledbooltrueEnable on creation
Returns: { script_id: string }

get_script

Fetch a script’s source and metadata. Parameters:
ParamTypeDescription
script_idstringScript ID
Returns: { name, match_patterns, enabled, categories, source }

toggle_script

Enable or disable a script without deleting it. Parameters:
ParamTypeDescription
script_idstringScript ID
Returns: { enabled: bool }

delete_script

Remove a script file. Parameters:
ParamTypeDescription
script_idstringScript ID
Returns: { deleted: bool }

Data types

FlowSummary

Returned by list_requests and search_requests.
FieldTypeDescription
idstringFlow ID
methodstringHTTP method
hoststringRequest host
pathstringRequest path
statusintResponse status code (0 if pending)
content_typestringResponse content type
sizeintResponse body size in bytes
duration_msintRound-trip time in milliseconds
processstringProcess name (if resolved)
process_pidintProcess ID (if resolved)