{
  "markdown": "# agentsnap-mcp\n\n[![npm](https://img.shields.io/npm/v/@mukundakatta/agentsnap-mcp.svg)](https://www.npmjs.com/package/@mukundakatta/agentsnap-mcp)\n[![tests](https://img.shields.io/badge/tests-9%20passing-brightgreen.svg)](#)\n[![mcp](https://img.shields.io/badge/protocol-MCP-blue.svg)](https://modelcontextprotocol.io)\n\nAn [MCP](https://modelcontextprotocol.io) server that gives AI assistants the\nability to inspect, normalize, diff, and validate agent tool-call traces.\n\nBuilt on top of [`@mukundakatta/agentsnap`](https://github.com/MukundaKatta/agentsnap).\nWorks with Claude Desktop, Cursor, Cline, Windsurf, Zed, and any other MCP client.\n\n## Tools exposed\n\n### `normalize_trace`\n\nCoerce a raw tool-call trace into the canonical agentsnap Trace shape and\ncompute a deterministic SHA-256 fingerprint hash. Use this to compare runs\ncheaply or feed downstream diff tools.\n\n```json\n{\n  \"trace\": [\n    { \"name\": \"search\", \"args\": { \"q\": \"cats\" } },\n    { \"name\": \"fetch\",  \"args\": \"https://example.com\" }\n  ],\n  \"input\": \"find cats\",\n  \"model\": \"claude-opus-4-7\"\n}\n```\n\n→\n\n```json\n{\n  \"normalized\": {\n    \"version\": 1,\n    \"model\": \"claude-opus-4-7\",\n    \"input\": \"find cats\",\n    \"output\": null,\n    \"tools\": [\n      { \"name\": \"search\", \"args\": { \"q\": \"cats\" } },\n      { \"name\": \"fetch\",  \"args\": \"https://example.com\" }\n    ],\n    \"error\": null,\n    \"fingerprint\": { \"node\": \"v22.0.0\", \"agentsnap\": \"0.1.0\" }\n  },\n  \"hash\": \"sha256:...\"\n}\n```\n\n### `diff_traces`\n\nDiff a baseline trace against a current run. Returns a uniform\nadditions / removals / changes vocabulary plus the agentsnap status code\n(`PASSED`, `OUTPUT_DRIFT`, `TOOLS_REORDERED`, `TOOLS_CHANGED`, `REGRESSION`).\nUse `ignore_paths` to silence noisy fields before classification.\n\n```json\n{\n  \"baseline\": { \"version\": 1, \"tools\": [{ \"name\": \"search\", \"args\": { \"q\": \"cats\" }, \"result_hash\": \"sha256:aaa\" }], \"error\": null, \"fingerprint\": {...} },\n  \"current\":  { \"version\": 1, \"tools\": [{ \"name\": \"search\", \"args\": { \"q\": \"cats\" }, \"result_hash\": \"sha256:bbb\" }], \"error\": null, \"fingerprint\": {...} },\n  \"ignore_paths\": [\"tools[].result_hash\"]\n}\n```\n\n→ `{ \"same\": true, \"status\": \"PASSED\", \"additions\": [], \"removals\": [], \"changes\": [] }`\n\n### `validate_snapshot`\n\nSanity-check a snapshot against the agentsnap Trace schema. Verifies required\nfields, tool-entry shape, and surfaces actionable issues. Returns\n`valid=true` on success or a list of human-readable problems.\n\n## Install\n\n### Claude Desktop\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"agentsnap\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mukundakatta/agentsnap-mcp\"]\n    }\n  }\n}\n```\n\n### Cursor / Cline / Windsurf / Zed\n\nSame shape, in the appropriate `mcp.json` for your client. Most clients\nauto-discover via `npx -y @mukundakatta/agentsnap-mcp`.\n\n### Local install\n\n```bash\nnpm install -g @mukundakatta/agentsnap-mcp\nmcp-agentsnap        # listens on stdio\n```\n\n## Why this matters\n\nAgents that call tools drift silently. A tool argument changes shape, a\nnondeterministic result flips a downstream branch, an extra tool sneaks in\nbetween releases — none of it shows up in unit tests. agentsnap captures the\ntrace; this MCP server lets your assistant inspect and reason about traces\ndirectly: normalize one, diff two, or validate a saved snapshot, all from\nthe model's tool-use surface.\n\n## License\n\nMIT.\n",
  "bytes": 3373,
  "sha": "3fe83b651c50ff33d3a97061b7071b657b759ba9082215d2fd55fcb27449e6e8",
  "repo_slug": "mukundakatta/agentsnap-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mukundakatta_agentsnap_a951ea2e/readme"
}