# agentsnap

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/MukundaKatta/agentsnap-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/agentsnap

## Description
Snapshot tests for AI tool-call traces: diff, validate, and catch silent regressions.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "agentsnap": {
    "command": "npx",
    "args": ["-y","agentsnap"]
  }
}
```

## Documentation & README

# agentsnap-mcp

[![npm](https://img.shields.io/npm/v/@mukundakatta/agentsnap-mcp.svg)](https://www.npmjs.com/package/@mukundakatta/agentsnap-mcp)
[![tests](https://img.shields.io/badge/tests-9%20passing-brightgreen.svg)](#)
[![mcp](https://img.shields.io/badge/protocol-MCP-blue.svg)](https://modelcontextprotocol.io)

An [MCP](https://modelcontextprotocol.io) server that gives AI assistants the
ability to inspect, normalize, diff, and validate agent tool-call traces.

Built on top of [`@mukundakatta/agentsnap`](https://github.com/MukundaKatta/agentsnap).
Works with Claude Desktop, Cursor, Cline, Windsurf, Zed, and any other MCP client.

## Tools exposed

### `normalize_trace`

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

```json
{
  "trace": [
    { "name": "search", "args": { "q": "cats" } },
    { "name": "fetch",  "args": "https://example.com" }
  ],
  "input": "find cats",
  "model": "claude-opus-4-7"
}
```

→

```json
{
  "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_traces`

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

```json
{
  "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_snapshot`

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

## Install

### Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "agentsnap": {
      "command": "npx",
      "args": ["-y", "@mukundakatta/agentsnap-mcp"]
    }
  }
}
```

### Cursor / Cline / Windsurf / Zed

Same shape, in the appropriate `mcp.json` for your client. Most clients
auto-discover via `npx -y @mukundakatta/agentsnap-mcp`.

### Local install

```bash
npm install -g @mukundakatta/agentsnap-mcp
mcp-agentsnap        # listens on stdio
```

## Why this matters

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.

## License

MIT.

