Mitmproxy Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mitmproxy Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that transforms mitmproxy into a powerful toolset for AI agents. This allows LLMs (like Claude, GPT-4, or local models) to inspect, modify, and replay HTTP/HTTPS traffic in real-time.
This project has grown beyond simple capture + replay. You can now:
Standard "web search" or "fetch" tools are stateless and easily detected. mitmproxy-mcp provides:
4xx/500 error.curl-cffi to mimic Chrome/Safari TLS fingerprints, bypassing basic anti-bot measures that standard Python libraries trigger.curl-cffi to impersonate modern browser TLS fingerprints (e.g., Chrome).curl-cffi automation code from observed traffic.uvx (Recommended)Add this to your MCP client configuration (e.g., Claude Desktop, Cursor, or AntiGravity):
{
"mcpServers": {
"mitmproxy-mcp": {
"command": "uvx",
"args": ["mitmproxy-mcp"]
}
}
}If you want to run from a local clone (useful for development or testing unreleased changes):
git clone https://github.com/snapspecter/mitmproxy-mcp.gitThen add this to your MCP client configuration, replacing the path with your clone location:
{
"mcpServers": {
"mitmproxy-mcp": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/mitmproxy-mcp", "mitmproxy-mcp"]
}
}
}uv)uv tool install mitmproxy-mcp
# Build and run
docker build -t mitmproxy-mcp .
docker run -p 8080:8080 mitmproxy-mcp
python -m venv venv
source venv/bin/activate
pip install mitmproxy-mcp
start_proxy(port=8080): Starts the mitmproxy server.stop_proxy(): Shuts down the proxy.set_scope(allowed_domains): Filters recorded traffic (e.g., ["api.github.com", "example.com"]).list_tools(): Returns all exposed MCP tools and input schemas.get_traffic_summary(limit=20): Returns a list of recent network flows.inspect_flow(flow_id): Provides full details and a curl equivalent for a specific flow.search_traffic(query, domain, method, limit=50): Filter captured traffic by keyword/domain/method.clear_traffic(): Clears persisted traffic history.add_interception_rule(rule_id, action_type, ...):action_type: inject_header, replace_body, or block.phase: request or response.set_global_header(key, value): Injects a header into every request.remove_global_header(key): Removes a previously injected global header.list_rules(): Shows currently active interception rules.clear_rules(): Flushes all active interception rules.replay_flow(flow_id, method, headers_json, body): Re-sends a request with modifications using browser-grade impersonation.extract_from_flow(flow_id, json_path=None, css_selector=None): Extract values from captured response bodies.set_session_variable(name, value): Manually set a session variable.extract_session_variable(name, flow_id, regex_pattern, group_index=1): Extract and save a variable from a response body.fuzz_endpoint(flow_id, target_param, param_type, payload_category, timeout=10.0): Replay with payload substitutions and report anomalies.get_api_patterns(domain=None, limit=50): Cluster captured traffic into endpoint patterns.export_openapi_spec(domain=None, limit=50): Produce an OpenAPI v3 JSON spec from captured traffic.detect_auth_pattern(flow_ids=None): Infer likely auth mechanisms from observed requests.generate_scraper_code(flow_ids, target_framework="curl_cffi"): Generate starter scraper/automation code from captured flows.Note: These are JSON-RPC calls sent by the MCP Host (Client). You do not need to type these manually in the terminal.
{"method": "tools/call", "params": {"name": "start_proxy", "arguments": {"port": 8080}}}
{"method": "tools/call", "params": {"name": "add_interception_rule", "arguments": {"rule_id": "block-ads", "action_type": "block", "url_pattern": ".*analytics.*"}}}
{"method": "tools/call", "params": {"name": "add_interception_rule", "arguments": {"rule_id": "mock-api", "action_type": "replace_body", "url_pattern": ".*user/profile.*", "action_value": "{\"name\": \"AI Agent\"}"}}}
set_scope immediately. LLMs perform poorly when flooded with background OS telemetry.localhost:8080) and has the mitmproxy CA certificates installed for HTTPS inspection.replay_flow tool uses curl-cffi specifically to avoid being flagged as a bot by services that check TLS fingerprints.git clone [https://github.com/snapspecter/mitmproxy-mcp.git](https://github.com/snapspecter/mitmproxy-mcp.git)
cd mitmproxy-mcp
uv sync
uv run pytest
License: MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.