Skip to main content
Glama

Get evaluation result

get_evaluation_result
Read-onlyIdempotent

Use this to collect the result of an evaluation that was started with evaluate_text, using its job_id. Returns status "running" (not finished yet), "done" (with the verdict or, without sign-in, the reduced report; shown as a card) or an error status. Works with or without sign-in; only the caller's own evaluations can be collected.

Input Schema

NameRequiredDescriptionDefault
job_idYesThe job_id returned by evaluate_text.

Output Schema

NameRequiredDescriptionDefault
jobIdNo
labelsNo
statusYes
infoUrlNo
messageYes
previewNo
verdictNo
infoLabelNo
retryAfterSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "running",
      -  "done",
      -  "not_in_plan",
      -  "not_a_submission",
      -  "no_verdict",
      -  "invalid_input",
      -  "limit",
      -  "busy",
      -  "unavailable",
      -  "not_found",
      -  "sign_in_required"
      -]New value: +[
      +  "running",
      +  "done",
      +  "not_in_plan",
      +  "not_a_submission",
      +  "no_verdict",
      +  "invalid_input",
      +  "limit",
      +  "busy",
      +  "unavailable",
      +  "not_found",
      +  "sign_in_required",
      +  "account_needed"
      +]
  2. Changed18 schema fields changed
    • removedOutput schema / properties / preview / properties / biggestRisk / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / preview / properties / biggestRisk / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / criteria / items / properties / mark / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / criteria / items / properties / mark / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / criteria / items / properties / reason / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / criteria / items / properties / reason / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / headline / properties / cefrEstimate / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / headline / properties / cefrEstimate / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / headline / properties / levelLabel / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / headline / properties / levelLabel / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / headline / properties / scoreLabel / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / headline / properties / scoreLabel / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / headline / properties / verdictText / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / headline / properties / verdictText / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / improvements / items / properties / why / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / improvements / items / properties / why / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / verdict / properties / passRule / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / verdict / properties / passRule / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real behavioral information on top: the three possible status outcomes, what 'done' yields with versus without sign-in (verdict vs reduced report), the card rendering, and the ownership restriction. That is exactly the kind of context annotations cannot convey.

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?

Three sentences, front-loaded with the triggering action and followed by outcome and access notes. Slightly dense phrasing in 'with the verdict or, without sign-in, the reduced report; shown as a card' but nothing is wasted.

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

Completeness4/5

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

With an output schema present, return-shape detail is technically redundant, yet the description usefully frames the status semantics for a polling tool. It omits guidance on whether to re-poll, expected delays, or job_id expiry, which are the remaining gaps for a job-result endpoint.

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

Parameters3/5

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

Schema coverage is 100% and the single job_id parameter is fully documented in the schema, including its origin. The description only restates that job_id comes from evaluate_text, adding no format or constraint detail beyond the schema's length bounds. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('collect the result of an evaluation') and ties it to the exact sibling that produces the input ('started with evaluate_text, using its job_id'). An agent can distinguish this retrieval tool from evaluate_text without opening either schema.

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?

The trigger condition is explicit: use this after an evaluation was started with evaluate_text. It also clarifies sign-in is not required and that only the caller's own evaluations are collectible. There is no explicit 'when not to use' statement, but the polling-after-start framing leaves little ambiguity.

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