Skip to main content
Glama

Check an AI answer against its prompt

check_answer
Read-onlyIdempotent

Did the AI do what the prompt asked? Give the prompt and the answer it got. Finds every rule in the prompt that can be checked by reading (length in words, characters, sentences or lines, how many items, a list, a table and its columns, JSON and its keys, sections, plain text, what to include, start or end with, sign off as, what to leave out, no introduction, the language and spelling, first person, plain words, asking first, marking what is missing) and says for each whether the answer kept or broke it, with where. Also lists numbers, names, links and quotes in the answer that the prompt never gave it, which is where made-up facts hide, and for each broken rule the line that makes it hold. Use it before an AI answer is used or sent, and to make a prompt more reliable.

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": {
      "prompt": "<prompt>",
      "answer": "<answer>"
    },
    "name": "check_answer"
  }
}

Input Schema

NameRequiredDescriptionDefault
answerYesThe answer the AI gave, exactly as it came.
promptYesThe prompt that was sent, with any material pasted into it.
systemNoOptional system prompt or custom instructions it had.
targetNoThe model the fixed prompt should be laid out for.any

Output Schema

NameRequiredDescriptionDefault
factsYesWhat the answer added: numbers, names, links, quotes, sources it claims and blanks it left, each with where.
rulesYesEvery rule found in the prompt, with what the answer did.
testsYesThe rules as Prompt Tester checks.
answerYesCounts for the answer: words, sentences, paragraphs, list items, language, reading grade.
summaryYes
has_materialYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / summary / properties / verdict / enum
      Previous value: -[
      -  "followed",
      -  "mostly",
      -  "missed",
      -  "none"
      -]New value: +[
      +  "followed",
      +  "mostly",
      +  "missed",
      +  "unclear",
      +  "none"
      +]
  2. Added

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds substantive behavior: it reports a verdict plus location per rule, surfaces ungrounded numbers/names/links/quotes as a hallucination signal, and supplies the corrective line for each broken rule. That is more than the annotations convey. It does not discuss cost, determinism, or how many rules it can handle.

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

Conciseness2/5

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

The opening question is well front-loaded, but the core of the description is one enormous run-on sentence with a sprawling parenthetical enumerating two dozen rule types, followed by another tangled clause about unsourced facts. The raw information is relevant, yet it is delivered as a wall of text that is hard to scan, so the structure undercuts the value.

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, full annotation coverage and fully described parameters, the description only needed to explain what the check examines and when to reach for it, and it does both at length. The main remaining gap is again sibling positioning against fix_bad_answer and grade_prompt, which matters given ten sibling tools.

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%, so the schema already documents all four parameters, which sets the baseline at 3. The description tells the agent what the prompt and answer should contain conceptually but adds nothing about the `target` enum, whose purpose ('the model the fixed prompt should be laid out for') is especially unintuitive for a checking tool and is left entirely to the schema.

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 gives a concrete verb and resource: it finds checkable rules in the prompt and reports, per rule, whether the answer kept or broke it, plus flags unsourced numbers, names, links and quotes. That is specific enough to distinguish it from grade_prompt or lint_prompts. It stops short of naming a sibling explicitly, so it does not fully route the agent among the many look-alike tools in this family.

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

Usage Guidelines3/5

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

It gives a use moment ('before an AI answer is used or sent') and a secondary use ('to make a prompt more reliable'), which is real guidance. But there is no when-not guidance and no reference to the obvious alternative, fix_bad_answer, which an agent would need to know whether to check first and fix second, or the reverse.

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