Skip to content

Repository files navigation

HTTP Traffic Monitor

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.

Idle state

What it does

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.

Live capture with charts

Features

Capture & inspect

  • 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

Filtered request with Request tab Timing breakdown Response tab with pretty-printed JSON

Filtering

Build multi-condition filters (field / operator / value, AND-ed or OR-ed) and save them as named presets for reuse.

Advanced Filter dialog

Replay & compose

Edit and resend any captured request, or compose a brand-new one from scratch, with side-by-side original vs. new response.

Replay / Compose window

Compare

Pick two requests and get a line-by-line diff (via DiffPlex) across headers and bodies.

Alerts

Rule-based alerting on status codes, response time thresholds, or custom patterns, with a live event feed.

Alerts tab

Auto-Responder (mocking)

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.

Auto-Responder tab

Graphs

Live requests-per-second and bandwidth charts, plus top-domains and top-processes breakdowns (via LiveCharts2).

Sessions & export

Save/load full capture sessions, bookmark interesting requests, and export selections as CSV, HAR, JSON, cURL, or Postman collection.

Light & dark themes

Full Fluent Design theming via WPF-UI.

Light theme

MCP Server

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.

Configuring the MCP server

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.

Requirements

  • 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.

Build & run

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

Tech stack

Project structure

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

UI automation

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.

About

Windows desktop HTTP/HTTPS traffic monitor (MITM proxy, WPF) with an MCP server so AI assistants can inspect, filter, replay, and mock traffic

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages