operant-mcp

Read-only MCP server for the OPERANT AI operating-agent calibration benchmark.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
70%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~825Tokens (tool definitions)
~763 BTypical response size
Moderate attention impact (0.64% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "operant-mcp": {
      "command": "npx",
      "args": [
        "saagar-operant-mcp"
      ]
    }
  }
}

Runnable packages

npmsaagar-operant-mcp0.1.0stdio

Remote endpoints

https://operant-mcp.saagar210.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_results

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_models(model_a, model_b)

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

Input Schema

{
  "type": "object",
  "properties": {
    "model_a": {
      "type": "string",
      "minLength": 1,
      "description": "Display name (or substring) of the first model"
    },
    "model_b": {
      "type": "string",
      "minLength": 1,
      "description": "Display name (or substring) of the second model"
    }
  },
  "required": [
    "model_a",
    "model_b"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_methodology

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_cases(axis)

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

Input Schema

{
  "type": "object",
  "properties": {
    "axis": {
      "type": "string",
      "enum": [
        "refusal-calibration",
        "sanctioned-path",
        "orchestration",
        "escalation-reroute"
      ],
      "description": "Axis to filter by: refusal-calibration | sanctioned-path | orchestration | escalation-reroute"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_case(pair_id, axis)

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

Input Schema

{
  "type": "object",
  "properties": {
    "pair_id": {
      "type": "string",
      "minLength": 1,
      "description": "The pair_id (axes 1/2/4) or id (axis 3) to retrieve"
    },
    "axis": {
      "type": "string",
      "enum": [
        "refusal-calibration",
        "sanctioned-path",
        "orchestration",
        "escalation-reroute"
      ],
      "description": "The axis this case belongs to"
    }
  },
  "required": [
    "pair_id",
    "axis"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools