← Back to search

io.github.cyanheads/evals-mcp-server

cyanheads Scanned 20d ago

Author verifiable eval records through a draft→review→revise→submit loop with enforced graders.

C
74.7 / 100

Versions

0.1.2latest
first seen Jun 30, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 9

evals_describe_schema
annotations: verified low

Return the required and optional fields plus the grader options for a given task_type. Call this before drafting to learn what a record of that type needs. Static — derived from the schemas, with no disk or runtime state.

input object output object summary string gold_shape string optional_fields array required_fields array
readOnlyHint true openWorldHint false idempotentHint true
evals_get_record
annotations: verified low

Read a draft or submitted eval record by id. The id is stable across submit, so it resolves a record whether it is still a draft or already submitted.

id string input object output object
readOnlyHint true openWorldHint false idempotentHint true
evals_submit_draft
annotations: verified low

Finalize a draft through the committability gate. The server runs deterministic graders against the gold (must PASS), rejects ≥1 declared negative case, requires a recorded, decorrelated independent verification that agrees with the gold, embeds any resolved captures, and checks for duplicates; on pass it flips the record to submitted, stamps submitted_at and a checksum, and freezes it. It refuses with a typed error otherwise and the record stays a draft. For free_response, llm_rubric is not executable by this server; the record is admitted on recorded independent verification and flagged server_verified=false.

id string path string input object frozen literal output object status literal checksum string draft_id string negatives string positives string evidence_count number
readOnlyHint false openWorldHint false idempotentHint true destructiveHint false
evals_run_check
annotations: verified low

Run a deterministic grader spec against one or more candidate answers and get a PASS/REJECT verdict per candidate, plus the resolved comparison value (e.g. the math.js-evaluated numeric target). Use it mid-loop to re-derive or spot-check a gold independently of any saved record. For grader kinds that grade against a reference rather than embedding one (exact_match), supply gold; it is ignored for target-embedding kinds like numeric and mcq. llm_rubric cannot run on this server and requires recorded independent verification before submit.

input object detail string output object candidate unknown pass_count number
readOnlyHint true openWorldHint false idempotentHint true
evals_discard_draft
annotations: verified low

Delete a draft record by id to clean up an abandoned draft. Draft-only — submitted records are frozen and cannot be discarded. Treat a not_found result on discard as effectively idempotent: a draft that is already gone reports not_found rather than a distinct already-discarded error.

id string input object output object draft_id string discarded literal
readOnlyHint false openWorldHint false idempotentHint true destructiveHint true
evals_list_records
annotations: verified low

Browse and filter eval records by status, domain, task_type, or tag. Returns a compact summary per record (id, status, task_type, domain, tags, timestamps), not the full records — call evals_get_record for a single record in full. Results are newest-first and the response discloses when the limit truncated the set.

cap number tag string input object shown number notice string output object records array truncated boolean
readOnlyHint true openWorldHint false idempotentHint true
evals_revise_draft
annotations: verified low

Apply a surgical, field-level patch to a draft using explicit set / append / unset operations by dotted path (e.g. set "grader.rel_tol", append "verification.evidence"), not a full rewrite, so the change stays legible. Returns the updated record, an itemized list of what changed, and a re-run of the self-consistency check since the grader may have moved. Draft-only — submitted records are frozen.

op enum path string input object output object draft_id string
readOnlyHint false openWorldHint false idempotentHint false
evals_create_draft
annotations: verified low

Create a draft eval record carrying its own executable grader. Persists it as a draft, then returns the parsed record parroted back behind a divider, a per-field review protocol, a ready-to-paste verification subagent prompt, and the self-consistency result. It stays draft — self-consistency passing proves the grader discriminates, not that the gold is right; record an independent verification (a subagent report or your own decorrelated check) before evals_submit_draft.

input object output object prompt string context string draft_id string
readOnlyHint false openWorldHint false idempotentHint false
evals_export_records
annotations: verified low

Compile submitted records to a downstream eval format and write the artifact under exports/. Choose jsonl (lossless, the lingua franca), csv (a flattened, lossy spreadsheet summary), inspect (UK AISI Inspect AI), or lm-eval (EleutherAI lm-evaluation-harness). Optionally filter by domain, task_type, or tag. Only submitted records are exported — drafts are skipped. Returns the file path, record count, byte size, and a short preview rather than dumping the full artifact inline.

tag string path string bytes number input object output object preview string record_count number
readOnlyHint false openWorldHint false

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 31

info
Tool 'evals_describe_schema' annotations are consistent annotation_checker · 80%
info
Tool 'evals_get_record' annotations are consistent annotation_checker · 80%
info
Tool 'evals_submit_draft' annotations are consistent annotation_checker · 80%
info
Tool 'evals_run_check' annotations are consistent annotation_checker · 80%
info
Tool 'evals_discard_draft' annotations are consistent annotation_checker · 80%
info
Tool 'evals_list_records' annotations are consistent annotation_checker · 80%
info
Tool 'evals_revise_draft' annotations are consistent annotation_checker · 80%
info
Tool 'evals_create_draft' annotations are consistent annotation_checker · 80%
info
Tool 'evals_export_records' annotations are consistent annotation_checker · 80%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: evals_describe_schema manifest_parser · 75%
info
Tool: evals_get_record manifest_parser · 75%
info
Tool: evals_submit_draft manifest_parser · 75%
info
Tool: evals_run_check manifest_parser · 75%
info
Tool: evals_discard_draft manifest_parser · 75%
info
Tool: evals_list_records manifest_parser · 75%
info
Tool: evals_revise_draft manifest_parser · 75%
info
Tool: evals_create_draft manifest_parser · 75%
info
Tool: evals_export_records manifest_parser · 75%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (8) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'evals_describe_schema': Cross-tool sequencing directive poisoning · 85%
info
SBOM generated: 14 components sbom_generator · 100%
high
Hardcoded Password found in cyanheads-evals-mcp-server-f548aa5/framework-skills/api-utils/references/security.md secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%