Plugs agentsnap's snapshot testing directly into MCP clients so your assistant can normalize tool-call traces into canonical JSON with SHA-256 hashes, diff a baseline against a current run to classify drift (PASSED, OUTPUT_DRIFT, TOOLS_REORDERED, REGRESSION), and validate snapshots against the Trace schema. The three tools (normalize_trace, diff_traces, validate_snapshot) let you catch silent regressions when agents reorder calls, change arguments, or inject extra steps between releases. Works over stdio with Claude Desktop, Cursor, Cline, Windsurf, and Zed. Install via npx or point your client config at @mukundakatta/agentsnap-mcp. Useful when you're versioning agent behavior and need programmatic trace comparison inside the model loop.
An MCP server that gives AI assistants the ability to inspect, normalize, diff, and validate agent tool-call traces.
Built on top of @mukundakatta/agentsnap.
Works with Claude Desktop, Cursor, Cline, Windsurf, Zed, and any other MCP client.
normalize_traceCoerce a raw tool-call trace into the canonical agentsnap Trace shape and compute a deterministic SHA-256 fingerprint hash. Use this to compare runs cheaply or feed downstream diff tools.
{
"trace": [
{ "name": "search", "args": { "q": "cats" } },
{ "name": "fetch", "args": "https://example.com" }
],
"input": "find cats",
"model": "claude-opus-4-7"
}
→
{
"normalized": {
"version": 1,
"model": "claude-opus-4-7",
"input": "find cats",
"output": null,
"tools": [
{ "name": "search", "args": { "q": "cats" } },
{ "name": "fetch", "args": "https://example.com" }
],
"error": null,
"fingerprint": { "node": "v22.0.0", "agentsnap": "0.1.0" }
},
"hash": "sha256:..."
}
diff_tracesDiff a baseline trace against a current run. Returns a uniform
additions / removals / changes vocabulary plus the agentsnap status code
(PASSED, OUTPUT_DRIFT, TOOLS_REORDERED, TOOLS_CHANGED, REGRESSION).
Use ignore_paths to silence noisy fields before classification.
{
"baseline": { "version": 1, "tools": [{ "name": "search", "args": { "q": "cats" }, "result_hash": "sha256:aaa" }], "error": null, "fingerprint": {...} },
"current": { "version": 1, "tools": [{ "name": "search", "args": { "q": "cats" }, "result_hash": "sha256:bbb" }], "error": null, "fingerprint": {...} },
"ignore_paths": ["tools[].result_hash"]
}
→ { "same": true, "status": "PASSED", "additions": [], "removals": [], "changes": [] }
validate_snapshotSanity-check a snapshot against the agentsnap Trace schema. Verifies required
fields, tool-entry shape, and surfaces actionable issues. Returns
valid=true on success or a list of human-readable problems.
Add to claude_desktop_config.json:
{
"mcpServers": {
"agentsnap": {
"command": "npx",
"args": ["-y", "@mukundakatta/agentsnap-mcp"]
}
}
}
Same shape, in the appropriate mcp.json for your client. Most clients
auto-discover via npx -y @mukundakatta/agentsnap-mcp.
npm install -g @mukundakatta/agentsnap-mcp
mcp-agentsnap # listens on stdio
Agents that call tools drift silently. A tool argument changes shape, a nondeterministic result flips a downstream branch, an extra tool sneaks in between releases — none of it shows up in unit tests. agentsnap captures the trace; this MCP server lets your assistant inspect and reason about traces directly: normalize one, diff two, or validate a saved snapshot, all from the model's tool-use surface.
MIT.