operant-mcp
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only MCP server for the OPERANT AI operating-agent calibration benchmark.
| Author | io.github.saagpatel |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 184 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"operant-mcp": {
"url": "https://operant-mcp.saagar210.workers.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (5)
get_resultsread-onlyReturn retained model calculation profiles plus generated_at, claim_status, claims_at_risk, and the bounded evidence_binding. These rows are not durable named-model performance claims. Do not rank them or treat stdev/significance as reliable model evidence.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
compare_modelsread-onlyPlace two retained calculation profiles side by side by display_name substring. Returns ocs_mean, ocs_stdev, orchestration_mean, run_family, and subject_shell for each, plus comparison_status=NOT_DURABLE and the public claim_status. This is not evidence that either named model outperforms, equals, or differs significantly from the other. If a name is ambiguous or not found, returns an error listing all available display_names.
Parameters:
model_a(required) — string — Display name (or substring) of the first modelmodel_b(required) — string — Display name (or substring) of the second model
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
get_methodologyread-onlyReturn the benchmark design: the 4 axes, the OCS formula (Youden's J), the 5 decision labels (PROCEED, PROCEED_SANCTIONED, REFUSE, ESCALATE, REROUTE), scoring blocks, and a concise what-it-measures / what-it-doesn't summary. Sourced from the baked case-file metadata.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
list_casesread-onlyReturn case metadata (no full task prompts): pair_id/id, axis, tier, grounding, and side indicators (malign/benign for axes 1/2/4; null for axis 3). Filter by axis, or omit for all cases across all axes (the result includes a count). Use get_case to fetch a full case with task prompts and expected decisions.
Parameters:
axis— string — Axis to filter by: refusal-calibration | sanctioned-path | orchestration | escalation-reroute
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
get_caseread-onlyReturn the full case for a given pair_id (axes 1/2/4) or id (axis 3): malign and benign task prompts, expected decisions, grounding rationale, and bypass patterns. Axis 3 cases are single (unmatched) and use an 'id' field instead of 'pair_id'. Use list_cases to browse available ids.
Parameters:
pair_id(required) — string — The pair_id (axes 1/2/4) or id (axis 3) to retrieveaxis(required) — string — The axis this case belongs to
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.