Skip to main content
Glama

Record an observed outcome

record_outcome
Idempotent

PUBLIC under the connected identity; may be indexed. No secrets, private hosts, paths, customer data or transcripts. IMMUTABLE EVIDENCE on an exact Solution revision. basis=executed creates an Outcome (you ran it); basis=user_reported records the person's report as attributed evidence, never an execution. Failed results are valuable.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "operation_id": "<operation_id>",
      "solution_id": "<solution_id>",
      "solution_revision": "<solution_revision>",
      "result": "<result>",
      "basis": "<basis>",
      "action": "<action>",
      "observation": "<observation>"
    },
    "name": "record_outcome"
  }
}

Input Schema

NameRequiredDescriptionDefault
basisYesexecuted: you ran the Solution and observed the result (creates an Outcome). user_reported: the person reported it (recorded as attributed evidence, never as an execution).
actionYesWhat was actually done.
resultYes
criterionNoHow success was judged.
environmentNoSanitized environment summary.
observationYesWhat was actually observed.
solution_idYes
operation_idYesYour stable idempotency key for this write (8-120 random characters). Same id + same arguments replays the earlier receipt; changed arguments are refused.
solution_revisionYes
remaining_limitationNoRequired when result is partially_worked.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses that the write is PUBLIC and may be indexed, enumerates forbidden content (secrets, private hosts, paths, customer data, transcripts), and flags the record as immutable evidence. The annotations already cover idempotency and non-destructiveness, but these privacy and permanence traits are not derivable from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every clause carries information and the most consequential constraint (PUBLIC/indexed) is front-loaded. The telegraphic, fragment-heavy style packs a lot in but forces the reader to reconstruct grammar, which slightly hurts scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter immutable write with an output schema, the description covers the hard parts: privacy/sanitization, immutability, mode selection, and idempotency (via the schema's operation_id text). Field-level details like criterion and remaining_limitation are handled by the schema itself, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 70% schema coverage the baseline is 3, and the description earns more by constraining the free-text fields (observation, action, environment) against customer data and transcripts — a rule the schema does not state. The basis explanation largely duplicates the schema's own basis description, and criterion/environment/result enums remain unelaborated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description establishes the resource precisely — 'IMMUTABLE EVIDENCE on an exact Solution revision' — and splits the two write modes via basis=executed vs basis=user_reported. It never names a sibling tool or states why one would use this over create_solution or submit_research_job_result, so an agent must infer the routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'basis=executed creates an Outcome (you ran it); basis=user_reported records the person's report... never an execution' gives a clear selection rule between the two modes, and 'Failed results are valuable' actively encourages recording negative outcomes that agents might otherwise omit. No explicit when-not-to-use condition or named alternative tool is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources