v0.2.0
First tagged release of the modular procmon_mcp package.
Added
- Parsed-capture cache — reloading an unchanged file is near-instant (29×–146× faster on real captures). New
clear_cachetool,no_cacheoption (+from_cachein the response), and--no-cache/--clear-cacheCLI flags. list_network_connections— capture-wide network triage across all processes.get_network_top_talkers— ranks remote endpoints across the whole capture by event count.- Enriched network records — host/ip/hostname/port, operations, inferred directions, results, count, and first/last-seen timestamps.
- Packaging —
pyproject.tomlwith aprocmon-mcpconsole script andlxml/psutil/all/devextras; MITLICENSE. - CI — GitHub Actions across Python 3.10–3.13 with and without lxml, plus an
sdk-smokejob that imports the server against the real MCP SDK. Tests grew 78 → 123.
Changed
- BREAKING:
find_network_connectionsnow returns enriched structured records ranked by count, not barehost:portstrings. - Endpoint parsing accepts resolved service-name ports (
domain,https, …) and DNS hostnames. requirements.txtlists onlymcp[cli]as required;lxml/psutilare optional.
Fixed
- Critical: event fields were read on the iterparse
startevent, silently dropping/nulling events on large captures; now read onend. - Exact-match filters returned all events instead of zero for an absent value.
- Server failed to import on current MCP SDKs (
description=→instructions=). - Minor error-handling and load-ordering cleanups.
Security
- Cache files are serialized with Python's
picklemodule and read back only from the user-owned~/.procmonmcp/cachedirectory.
Full details in CHANGELOG.md.