A Windows desktop app that acts as a local HTTP/HTTPS man-in-the-middle proxy, giving you a Fiddler/Charles-style traffic inspector with modern WPF Fluent UI — plus an MCP server so AI assistants (Claude, etc.) can drive it directly.
HttpTrafficMonitor sits between your machine and the internet as a local proxy (via Titanium.Web.Proxy), decrypts HTTPS on the fly with a locally-generated root CA, and shows every request/response as it happens — searchable, filterable, and exportable.
- Start/Stop system-wide HTTP/HTTPS capture with one click (installs a root CA for TLS interception, restored automatically on Stop)
- Live request grid: method, URL, status, size, duration, colored badges, and a red highlight for slow requests
- Quick search plus dedicated Process / Domain / Method / Status filters
- Per-request detail tabs: Request, Response, Timing (DNS/TCP/TLS/TTFB/download breakdown), Certificate (chain, issuer, validity, thumbprint), Decoded (gzip/brotli/base64 aware), and Exclusions
Build multi-condition filters (field / operator / value, AND-ed or OR-ed) and save them as named presets for reuse.
Edit and resend any captured request, or compose a brand-new one from scratch, with side-by-side original vs. new response.
Pick two requests and get a line-by-line diff (via DiffPlex) across headers and bodies.
Rule-based alerting on status codes, response time thresholds, or custom patterns, with a live event feed.
Intercept matching requests (by URL/regex + method) and return a canned status code, headers, and body — or serve a file — with an optional artificial delay. Great for mocking flaky or unavailable backends during development.
Live requests-per-second and bandwidth charts, plus top-domains and top-processes breakdowns (via LiveCharts2).
Save/load full capture sessions, bookmark interesting requests, and export selections as CSV, HAR, JSON, cURL, or Postman collection.
Full Fluent Design theming via WPF-UI.
HttpTrafficMonitor.McpServer exposes the running app to AI assistants over the Model Context Protocol (stdio transport). The main app hosts a small local REST API (http://localhost:18081/api/...) via IpcApiService; the MCP server is a thin process that talks to that API and surfaces it as MCP tools — so an assistant can start/stop capture, inspect and filter requests, manage alerts and auto-responder rules, replay/compose requests, and export data, all without touching the UI.
Tool groups (see HttpTrafficMonitor.McpServer/Tools/):
| File | Covers |
|---|---|
ProxyTools |
Start/stop capture, proxy status, pause/resume |
TrafficTools |
List/get requests, domains, traffic stats |
FilterTools |
Filter requests, save/load/delete filter presets |
AlertTools |
Manage alert rules, read alert events, toggle sound |
AutoResponderTools |
Manage mock/auto-responder rules and status |
ReplayTools |
Replay a captured request |
SessionTools |
Save/load capture sessions |
ExportTools |
Export as CSV / HAR / JSON / cURL / Postman |
BookmarkTools |
Toggle/list bookmarks |
ContentTools |
Encode/decode request or response bodies |
StatsTools |
Traffic statistics, TLS info |
Add it to an MCP-capable client (e.g. Claude Code / Claude Desktop) pointing at the built HttpTrafficMonitor.McpServer.exe; the main HttpTrafficMonitor.exe must already be running and capturing for most tools to return data.
Build it first:
dotnet build HttpTrafficMonitor.McpServer/HttpTrafficMonitor.McpServer.csproj -c Debug
This produces HttpTrafficMonitor.McpServer/bin/Debug/net8.0/HttpTrafficMonitor.McpServer.exe. Adjust paths below if you build in Release or from a different clone location.
Claude Code — project-scoped .mcp.json in the repo root, or via CLI:
claude mcp add httptrafficmonitor -- "C:\Projects\httptrafficmonitr\HttpTrafficMonitor.McpServer\bin\Debug\net8.0\HttpTrafficMonitor.McpServer.exe"
which writes (or edit .mcp.json directly):
{
"mcpServers": {
"httptrafficmonitor": {
"command": "C:\\Projects\\httptrafficmonitr\\HttpTrafficMonitor.McpServer\\bin\\Debug\\net8.0\\HttpTrafficMonitor.McpServer.exe",
"args": []
}
}
}Claude Desktop — add the same block to claude_desktop_config.json (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"httptrafficmonitor": {
"command": "C:\\Projects\\httptrafficmonitr\\HttpTrafficMonitor.McpServer\\bin\\Debug\\net8.0\\HttpTrafficMonitor.McpServer.exe",
"args": []
}
}
}Running via dotnet instead of the exe (e.g. cross-platform host, or you'd rather not hardcode a self-contained exe path) — point command at dotnet and pass the DLL as the first arg:
{
"mcpServers": {
"httptrafficmonitor": {
"command": "dotnet",
"args": [
"C:\\Projects\\httptrafficmonitr\\HttpTrafficMonitor.McpServer\\bin\\Debug\\net8.0\\HttpTrafficMonitor.McpServer.dll"
]
}
}
}Optional environment variable (only needed if the main app's IPC API isn't on its default port):
{
"mcpServers": {
"httptrafficmonitor": {
"command": "C:\\Projects\\httptrafficmonitr\\HttpTrafficMonitor.McpServer\\bin\\Debug\\net8.0\\HttpTrafficMonitor.McpServer.exe",
"args": [],
"env": {
"HTM_API_URL": "http://localhost:18081"
}
}
}
}After editing the config, restart Claude Code / Claude Desktop, launch HttpTrafficMonitor.exe (as Administrator) and click Start, then the httptrafficmonitor tools become available to the assistant.
- Windows 10/11
- .NET 8 SDK (
net8.0-windows, WPF) - Administrator privileges — the app requests elevation via its manifest (
app.manifest,requireAdministrator), needed to register itself as the system proxy and install the local root CA
⚠️ HTTPS interception installs a root CA into your system trust store and lets the app read HTTPS traffic in plaintext. Use it only for development/debugging on machines you control — the app shows a warning dialog on first launch and restores your original proxy settings when you stop monitoring or close it.
dotnet build HttpTrafficMonitor.csproj -c Debug
Run bin/Debug/net8.0-windows/HttpTrafficMonitor.exe (elevation prompt expected), or open HttpTrafficMonitor.sln in Visual Studio and hit F5.
To build the MCP server:
dotnet build HttpTrafficMonitor.McpServer/HttpTrafficMonitor.McpServer.csproj
- WPF on .NET 8, WPF-UI for Fluent Design
- Titanium.Web.Proxy for MITM proxying
- LiveChartsCore (SkiaSharp) for charts
- DiffPlex for the Compare view
ModelContextProtocol.NET SDK for the MCP server
Models/ Request/session/alert/auto-responder/TLS data models
Services/ Proxy, alerts, export, replay, session, content decoding, IPC API, theming
ViewModels/ MVVM view models per view/panel
Views/ MainWindow + dialogs (Advanced Filter, Replay/Compose, Comparison)
HttpTrafficMonitor.McpServer/ Standalone MCP server (stdio) bridging to the running app's IPC API
Interactive controls across the main window and dialogs carry AutomationProperties.AutomationId (e.g. Toolbar.StartButton, FilterBar.SearchTextBox, MainWindow.RequestsGrid, AdvancedFilter.ApplyFilterButton, AutoResponder.AddRuleButton) so the app can be driven and tested via UI Automation / test tooling without relying on fragile name- or coordinate-based lookups.









