Author verifiable eval records through a draft→review→revise→submit loop with enforced graders.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Author verifiable eval records through a draft → review → revise → submit loop with server-enforced graders; compile to JSONL/CSV/Inspect/lm-eval via MCP. STDIO or Streamable HTTP.
Nine tools for authoring eval records — the draft loop (create, revise, discard, submit), the standalone deterministic checker, and read/list/export:
| Tool | Description |
|---|---|
evals_describe_schema | Return the required and optional fields plus grader options for a task type. Call before drafting. |
evals_create_draft | Create a draft eval record carrying its own grader; returns the parsed record, a review protocol, and a verification subagent prompt. |
evals_get_record | Read a draft or submitted record by id; the id is stable across submit. |
evals_revise_draft | Apply a surgical set / append / unset patch to a draft by dotted path; re-runs the self-consistency check. |
evals_discard_draft | Delete a draft record by id. Draft-only. |
evals_run_check | Run a grader spec against candidate answers and get PASS/REJECT per candidate, decoupled from any saved record. |
evals_submit_draft | Finalize a draft through the committability gate, then freeze it. |
evals_list_records | Browse and filter records by status, domain, task type, or tag. Returns a compact summary per record. |
evals_export_records | Compile submitted records to JSONL, CSV, Inspect AI, or lm-evaluation-harness and write the artifact under exports/. |
evals_describe_schemaReturn what a record of a given task_type needs before you draft it.
task_type is one of numeric, exact_answer, set_answer, mcq, regex_answer, json_answer, free_responseevals_create_draftCreate and persist a draft eval record, then reflect it back as a review forcing function.
task_type discriminated union (per-type rules: mcq requires choices; free_response requires an llm_rubric grader)verification block and captures (EvalsIDs) when you already hold provenancedraft — passing self-consistency proves the grader discriminates, not that the gold is rightevals_revise_draftSurgically patch a draft so each change stays legible.
set (dotted-path → value), append (dotted-path → array items), and unset (dotted paths) operations — not full-record rewritestask_type cannot be patched (start a new draft to change the discriminant)evals_run_checkRun a grader against one or more candidates without touching a saved record.
candidates accepts strings, numbers, objects, or arrays — whatever the grader kind expectsgold for gold-relative kinds (exact_match); it is a no-op for target-embedding kinds like numeric and mcqllm_rubric cannot run on this server — submission relies on recorded independent verificationevals_submit_draftFinalize a draft through the committability gate, then freeze it.
captures from EVALS_CAPTURE_DIR, cross-checking the gold against the authoritative captured valuecontent_hash already submitted)submitted, stamps submitted_at and a checksum, and freezes it; otherwise refuses with a typed error and the record stays a draftfree_response llm_rubric is admitted on recorded independent verification and flagged server_verified: falseevals_export_recordsCompile submitted records to a downstream eval format.
jsonl (lossless, the lingua franca), csv (a flattened, lossy spreadsheet summary), inspect (UK AISI Inspect AI), lm-eval (EleutherAI lm-evaluation-harness)domain / task_type / tag filterexports/ and returns the file path, record count, byte size, and a short preview instead of dumping inline| Type | Name | Description |
|---|---|---|
| Resource | eval://record/{id} | A single draft or submitted record by id — the same payload evals_get_record returns, for resource-capable clients. |
All record data is also reachable through the tool surface — evals_get_record for a single record, evals_list_records to browse. The resource is a convenience mirror for clients that support resources, not the access path.
Built on @cyanheads/mcp-ts-core:
reason + recovery), surfaced to the agentnone, jwt, oauthEval authoring:
draft → review → surgical-revise → submit loop, with the server acting as both scribe (normalize, persist, compile) and adversarial checker (run the record's own grader, reject what doesn't hold up)discriminatedUnion keyed on task_type — numeric, exact_answer, set_answer, mcq, regex_answer, json_answer, free_responsenumeric via math.js, exact_match, set_match, regex, mcq, json_match) run server-side; llm_rubric relies on recorded independent verificationcaptures EvalsID field — link framework-written tool-call dumps, resolved from EVALS_CAPTURE_DIR and cross-checked against the gold (no server-to-server calls)EVALS_DATA_DIR — inspectable, diffable, version-controllable recordsAgent-friendly output:
evals_create_draft, evals_revise_draft) carry the loop's review mechanism in their responses — the parsed record parroted back, a per-field review protocol, and a ready subagent promptevals_list_records discloses truncation when the limit is hit, so a partial set is never mistaken for the whole corpusreason + recovery hint, so a rejected record tells the agent exactly what to fixNo reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/evals-mcp-server)<a href="https://allmcps.com/mcp/evals-mcp-server"><img src="https://allmcps.com/api/badge/evals-mcp-server?style=directory" alt="Evals MCP Server on AllMCPs" /></a>