WithSeismic development tools
npx claudepluginhub dougwithseismic/node-mitm-proxyInteractive MITM proxy with rule engine, traffic inspection, and request/response transforms
So, you want to see exactly what your app is sending over the wire. Every request, every response, every header — laid bare. Maybe you want to intercept a request mid-flight and swap out the auth token. Maybe you want to mock an entire API that doesn't exist yet. Maybe you just want to block that one analytics call that's slowing everything down.
That's what this is. A local man-in-the-middle proxy that sits between your app and the internet, letting you capture, inspect, and rewrite HTTP/HTTPS traffic in real-time. It's got a terminal UI for when you want to poke around manually, a REST API for when you want to automate things, and a rule engine that hot-reloads TypeScript transforms so you can build exactly the interception logic you need without restarting anything.
It also ships as a Claude Code plugin — install it and your AI agent can inspect your traffic, create rules, and debug network issues alongside you.
npx @withseismic/mitm
That's it. On first run it handles certificate generation and trust store setup, prints the env vars you need, and drops you into the interactive UI. Every request your app makes through the proxy shows up in real-time.
# Run directly (no install needed)
npx @withseismic/mitm
# Install globally
npm i -g @withseismic/mitm
mitm
# As a project dependency
pnpm i @withseismic/mitm
This package ships as a Claude Code plugin. Install it and your agent gets skills for traffic inspection, rule management, and network debugging — no MCP server needed, just curl against the local API.
# 1. Add the marketplace (one-time)
/plugin marketplace add dougwithseismic/node-mitm-proxy
# 2. Install the plugin
/plugin install mitm@withseismic-tools
Or from the CLI:
claude plugin marketplace add dougwithseismic/node-mitm-proxy
claude plugin install mitm@withseismic-tools
To scope the plugin to just the current project (shared with your team via .claude/settings.json):
claude plugin install mitm@withseismic-tools --scope project
If you've cloned the repo locally:
claude --plugin-dir ./path/to/node-mitm-proxy
Once installed, these slash commands are available:
| Command | Description |
|---|---|
/mitm-help | Overview of the plugin, API reference, and getting started guide |
/mitm-start | Start the proxy and configure HTTP_PROXY/HTTPS_PROXY env vars |
/mitm-inspect [filter] | List, filter, and inspect captured HTTP traffic |
/mitm-rules [description] | Create and manage interception rules and transforms |
/mitm-status | Quick proxy status and statistics |
/mitm-inspect, /mitm-rules, and /mitm-status are auto-invocable — Claude uses them contextually when you ask about traffic or rules. /mitm-start is user-invocable only because starting a proxy is a deliberate action.
Each skill includes helper scripts that Claude can run autonomously:
| Script | What it does |
|---|---|
traffic-summary.sh | Break down traffic by domain, status code, and timing |
export-har.sh | Export captured requests as HAR-like JSON for external tools |
quick-rule.sh | Create rules with a one-liner (block, redirect, header, mock, delay, log) |
rule-templates.sh | Print ready-to-use curl commands for common rule patterns |
proxy-up.sh | Start the proxy, wait for it, and export env vars in one step |
health-check.sh | Health check with retry logic and formatted output |
The mitm-debugger agent can be invoked as a subagent for autonomous traffic analysis — it inspects recent requests, spots patterns (errors, slow calls, unexpected domains), and suggests rules to fix them.
# Check the plugin is loaded
/plugin
# Try a skill
/mitm-help
Set these environment variables to route traffic through the proxy:
PowerShell:
$env:HTTP_PROXY = "http://localhost:8888"
$env:HTTPS_PROXY = "http://localhost:8888"
$env:NODE_TLS_REJECT_UNAUTHORIZED = "0"
node yourapp.js
Bash / Git Bash: