
Evalsnap
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026
Snapshot diff for agent and tool outputs: changed cases, score regressions, pass/fail verdict.
Overview
Evalsnap's local MCP server; no sign-in required; STDIO.
No AI overview yet: these facts come from the registry entry and the server itself.
Installation
In SourceWeft
- Open Evalsnap in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
evalsnap
You re-ran your agent and the answers look slightly different —
but did anything actually get worse? evalsnap takes two
snapshots of case outputs, a baseline run and a current run,
matches them by case_id, and tells you exactly what moved:
- Matched, added, removed — cases present on both sides, cases that only exist in the current run, and cases that disappeared from the baseline, each list sorted by id
- Per-case results — for every matched case: whether the
output is unchanged or changed under exact string equality,
the score delta and the duration delta (each
nullwhen either side did not record that measurement), and a regression flag that is set only when the score went down - Regressions and improvements — the sorted list of regressed case ids and the count of cases whose score rose
- Average scores — each side averaged over the matched
cases that carry a score on both sides, so the comparison
covers the same set on both sides; both averages are
nullwhen no matched case qualifies - Verdict —
failwhen at least one regression exists, otherwisepass; added and removed cases are reported but never fail the verdict on their own
Deltas and averages are rounded to four decimal places. The computation is pure and local: no network, no configuration, nothing read beyond the snapshots you pass in. Invalid input — an empty snapshot, a case without an id or output, a duplicate id inside one side, a non-numeric score, a negative duration — is rejected with an error naming the offending path and side, and no partial diff is produced.
CLI
args.json contains the full arguments object:
score and duration_ms are optional per entry. The diff
is printed as JSON.
Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid input file, or invalid input), 2
on a usage error.
MCP server
MCP client config:
Tools
-
diff_snapshots— Diff two eval snapshots matched by case_id.baseline(array, required, at least one) — entries as{case_id, output, score?, duration_ms?}objectscurrent(array, required, at least one) — same entry shape
Returns
{total_baseline, total_current, matched, unchanged, changed, added, removed, case_results, regressions, improved_count, baseline_avg_score, current_avg_score, verdict}.
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit 10be255
Tools
0Version history
1- v0.1.0LatestNov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts