Skip to main content
Glama

verify

Read-onlyIdempotent

Check exact claims/calculations/proofs; unknown fields: recall. Six fields: conclusion (TRUE/FALSE/UNKNOWN), conflict, reason, path, decision, evidence_kind.

Input Schema

NameRequiredDescriptionDefault
questionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / questions / items / description
      Previous value: -"Use exactly one mode: source+relation (+optional target), claim, compute, or proof."New value: +"One mode: source+relation (+target), claim, compute or proof."
    • changedInput schema / properties / questions / items / properties / relation / description
      Previous value: -"Exact saved property; recall source first if unknown."New value: +"Exact property; unknown: recall source."
  2. Changed11 schema fields changed
    • changedInput schema / properties / questions / items / description
      Previous value: -"Use exactly one mode."New value: +"Use exactly one mode: source+relation (+optional target), claim, compute, or proof."
    • addedInput schema / properties / questions / items / properties / as_of / description
      Added value: +"ISO query time."
    • addedInput schema / properties / questions / items / properties / claim / description
      Added value: +"Expression: recall({\"schema\":\"verify\"})."
    • changedInput schema / properties / questions / items / properties / compute / description
      Previous value: -"check_connection({\"schema\":\"compute\"})"New value: +"recall({\"schema\":\"compute\"})"
    • addedInput schema / properties / questions / items / properties / context / properties / qualifiers / description
      Added value: +"Conditions: JSON scalars/lists."
    • addedInput schema / properties / questions / items / properties / context / properties / scope / description
      Added value: +"Project name/ID."
    • addedInput schema / properties / questions / items / properties / id / description
      Added value: +"Unique within questions."
    • changedInput schema / properties / questions / items / properties / proof / description
      Previous value: -"check_connection({\"schema\":\"proof\"})"New value: +"recall({\"schema\":\"proof\"})"
    • addedInput schema / properties / questions / items / properties / relation / description
      Added value: +"Exact saved property; recall source first if unknown."
    • addedInput schema / properties / questions / items / properties / source / description
      Added value: +"Subject, not evidence source."
    • addedInput schema / properties / questions / items / properties / target / description
      Added value: +"Value. Omit to find known values."
  3. Changed29 schema fields changed
    • changedInput schema / additionalProperties
      Previous value: -falseNew value: +true
    • removedInput schema / properties / include_source_context
      Removed value: -{
      -  "default": false,
      -  "type": "boolean"
      -}
    • changedInput schema / properties / questions / items / additionalProperties
      Previous value: -falseNew value: +true
    • changedInput schema / properties / questions / items / description
      Previous value: -"Use exactly one mode: source/relation[/target], claim, compute, or proof. Kinds disambiguate direct queries. Separate fact checks and calculations into separate questions."New value: +"Use exactly one mode."
    • removedInput schema / properties / questions / items / properties / as_of / maxLength
      Removed value: -100
    • removedInput schema / properties / questions / items / properties / as_of / minLength
      Removed value: -1
    • addedInput schema / properties / questions / items / properties / claim / additionalProperties
      Added value: +true
    • removedInput schema / properties / questions / items / properties / claim / description
      Removed value: -"Nodes use op: atom {source,relation,target}; and/or {claims:[...]}; not {claim}; implies {if,then}; scope {claim,context and/or as_of}."
    • changedInput schema / properties / questions / items / properties / compute / description
      Previous value: -"Parameter schema: check_connection({\"schema\":\"compute\"})."New value: +"check_connection({\"schema\":\"compute\"})"
    • changedInput schema / properties / questions / items / properties / context / additionalProperties
      Previous value: -falseNew value: +true
    • removedInput schema / properties / questions / items / properties / context / properties / domain_id
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / questions / items / properties / context / properties / qualifiers / description
      Removed value: -"Conditions: JSON scalars/lists, no nested objects."
    • removedInput schema / properties / questions / items / properties / context / properties / qualifiers / maxProperties
      Removed value: -64
    • removedInput schema / properties / questions / items / properties / context / properties / scope / maxLength
      Removed value: -200
    • removedInput schema / properties / questions / items / properties / context / properties / scope / minLength
      Removed value: -1
    • removedInput schema / properties / questions / items / properties / context / properties / subdomain_id
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / questions / items / properties / context / properties / subject_version
      Removed value: -{
      -  "maxLength": 200,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / questions / items / properties / id / maxLength
      Removed value: -2000
    • removedInput schema / properties / questions / items / properties / id / minLength
      Removed value: -1
    • changedInput schema / properties / questions / items / properties / proof / description
      Previous value: -"Parameter schema: check_connection({\"schema\":\"proof\"})."New value: +"check_connection({\"schema\":\"proof\"})"
    • removedInput schema / properties / questions / items / properties / relation / maxLength
      Removed value: -2000
    • removedInput schema / properties / questions / items / properties / relation / minLength
      Removed value: -1
    • removedInput schema / properties / questions / items / properties / source / maxLength
      Removed value: -2000
    • removedInput schema / properties / questions / items / properties / source / minLength
      Removed value: -1
    • removedInput schema / properties / questions / items / properties / source_kind
      Removed value: -{
      -  "description": "Direct-query subject type.",
      -  "maxLength": 80,
      -  "minLength": 2,
      -  "type": "string"
      -}
    • removedInput schema / properties / questions / items / properties / target / maxLength
      Removed value: -2000
    • removedInput schema / properties / questions / items / properties / target / minLength
      Removed value: -1
    • removedInput schema / properties / questions / items / properties / target_kind
      Removed value: -{
      -  "description": "Direct-query value type.",
      -  "maxLength": 80,
      -  "minLength": 2,
      -  "type": "string"
      -}
    • removedInput schema / properties / relations
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "confidence": {
      -        "maximum": 1,
      -        "minimum": 0.01,
      -        "type": "number"
      -      },
      -      "context": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "domain_id": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "qualifiers": {
      -            "description": "Conditions: JSON scalars/lists, no nested objects.",
      -            "maxProperties": 64,
      -            "type": "object"
      -          },
      -          "scope": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "subdomain_id": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "subject_version": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "type": "string"
      -          }
      -        },
      -        "required": [],
      -        "type": "object"
      -      },
      -      "entity_id": {
      -        "description": "Canonical subject ID across evidence sources.",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "evidence_source": {
      -        "description": "Evidence label, not subject identity.",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "polarity": {
      -        "enum": [
      -          1,
      -          -1
      -        ],
      -        "type": "integer"
      -      },
      -      "position": {
      -        "maximum": 1000000,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "property_type": {
      -        "enum": [
      -          "single",
      -          "set",
      -          "ordered",
      -          "rules"
      -        ],
      -        "type": "string"
      -      },
      -      "relation": {
      -        "description": "Property; custom properties default to single-valued.",
      -        "maxLength": 200,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "description": "Subject name/ID.",
      -        "maxLength": 10000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source_kind": {
      -        "description": "Subject type; disambiguates names.",
      -        "maxLength": 80,
      -        "minLength": 2,
      -        "type": "string"
      -      },
      -      "target": {
      -        "description": "Value/object, distinct from source.",
      -        "maxLength": 10000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "target_kind": {
      -        "description": "Value type; disambiguates names.",
      -        "maxLength": 80,
      -        "minLength": 2,
      -        "type": "string"
      -      },
      -      "unit": {
      -        "description": "Value unit, e.g. hour or bed/nurse.",
      -        "maxLength": 100,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "validity": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "kind": {
      -            "enum": [
      -              "persistent",
      -              "interval"
      -            ],
      -            "type": "string"
      -          },
      -          "observed_at": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "recorded_at": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "valid_from": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "valid_to": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "type": "string"
      -          }
      -        },
      -        "required": [],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "source",
      -      "relation",
      -      "target"
      -    ],
      -    "type": "object"
      -  },
      -  "maxItems": 200,
      -  "minItems": 0,
      -  "type": "array"
      -}
  4. Changed20 schema fields changed
    • addedInput schema / properties / include_source_context
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • changedInput schema / properties / questions / items / description
      Previous value: -"Each question must use exactly one mode: direct source/relation/optional target, claim, or compute. For a calculation that also needs a separate fact check, send two question objects."New value: +"Use exactly one mode: source/relation[/target], claim, compute, or proof. Kinds disambiguate direct queries. Separate fact checks and calculations into separate questions."
    • changedInput schema / properties / questions / items / properties / claim / description
      Previous value: -"Composite claim instead of source/relation/target: atom {source,relation,target}; and/or {claims:[...]}; not {claim}; implies {if,then}; scope {claim,context and/or as_of}. Each node has op. Omit target in a normal question to retrieve known candidate values."New value: +"Nodes use op: atom {source,relation,target}; and/or {claims:[...]}; not {claim}; implies {if,then}; scope {claim,context and/or as_of}."
    • changedInput schema / properties / questions / items / properties / compute / additionalProperties
      Previous value: -falseNew value: +true
    • changedInput schema / properties / questions / items / properties / compute / description
      Previous value: -"Use this mode instead of a direct source/relation/target or claim query. When compute is present, the question object may contain only id, compute, context and as_of. Put all saved premises inside compute.facts; do not add source, relation, target or claim at the question level."New value: +"Parameter schema: check_connection({\"schema\":\"compute\"})."
    • removedInput schema / properties / questions / items / properties / compute / properties
      Removed value: -{
      -  "draft": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "unit": {
      -        "description": "Optional result unit or directed ratio unit."
      -      },
      -      "value": {
      -        "description": "Optional proposed result to check against the CPU result."
      -      }
      -    },
      -    "required": [
      -      "value"
      -    ],
      -    "type": "object"
      -  },
      -  "facts": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "as_of": {
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "context": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "domain_id": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "qualifiers": {
      -              "description": "Conditions accepted by normalize_context: JSON scalars or lists, no nested objects.",
      -              "maxProperties": 64,
      -              "type": "object"
      -            },
      -            "scope": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "subdomain_id": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            },
      -            "subject_version": {
      -              "maxLength": 200,
      -              "minLength": 1,
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "id": {
      -          "description": "Short input name used by ref nodes in the plan.",
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "mode": {
      -          "enum": [
      -            "one",
      -            "all"
      -          ],
      -          "type": "string"
      -        },
      -        "relation": {
      -          "description": "Saved fact property.",
      -          "maxLength": 200,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "source": {
      -          "description": "Saved fact subject.",
      -          "maxLength": 2000,
      -          "minLength": 1,
      -          "type": "string"
      -        },
      -        "unit": {
      -          "description": "Optional unit assertion; must match the saved unit. Omit to use the saved unit.",
      -          "maxLength": 100,
      -          "minLength": 1,
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "id",
      -        "source",
      -        "relation"
      -      ],
      -      "type": "object"
      -    },
      -    "maxItems": 64,
      -    "minItems": 1,
      -    "type": "array"
      -  },
      -  "plan": {
      -    "description": "Evidence-bound operation tree. Supported ops: ref, add, subtract, multiply, divide, ceil, floor, round, sum, count, distinct, min, max, ratio, compare, and, or, not and date_diff. Use ref {op:'ref',id:'...'} for every input. Pass operation inputs with args:[...] (including binary ops); unary operations use arg. Subtract and divide take two ordered args. Never use left/right fields. Arbitrary code and literal evidence are rejected.",
      -    "type": "object"
      -  }
      -}
    • removedInput schema / properties / questions / items / properties / compute / required
      Removed value: -[
      -  "facts",
      -  "plan"
      -]
    • changedInput schema / properties / questions / items / properties / context / properties / qualifiers / description
      Previous value: -"Conditions accepted by normalize_context: JSON scalars or lists, no nested objects."New value: +"Conditions: JSON scalars/lists, no nested objects."
    • addedInput schema / properties / questions / items / properties / proof
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Parameter schema: check_connection({\"schema\":\"proof\"}).",
      +  "type": "object"
      +}
    • addedInput schema / properties / questions / items / properties / source_kind
      Added value: +{
      +  "description": "Direct-query subject type.",
      +  "maxLength": 80,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • addedInput schema / properties / questions / items / properties / target_kind
      Added value: +{
      +  "description": "Direct-query value type.",
      +  "maxLength": 80,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • changedInput schema / properties / relations / items / properties / context / properties / qualifiers / description
      Previous value: -"Conditions accepted by normalize_context: JSON scalars or lists, no nested objects."New value: +"Conditions: JSON scalars/lists, no nested objects."
    • changedInput schema / properties / relations / items / properties / entity_id / description
      Previous value: -"Explicit canonical subject ID, shared across its evidence sources."New value: +"Canonical subject ID across evidence sources."
    • changedInput schema / properties / relations / items / properties / evidence_source / description
      Previous value: -"Source document or record label; does not change the subject identity."New value: +"Evidence label, not subject identity."
    • changedInput schema / properties / relations / items / properties / relation / description
      Previous value: -"Property such as status; custom properties are single-valued by default."New value: +"Property; custom properties default to single-valued."
    • changedInput schema / properties / relations / items / properties / source / description
      Previous value: -"Stable subject name or ID. Prefer short names shared with queries."New value: +"Subject name/ID."
    • addedInput schema / properties / relations / items / properties / source_kind
      Added value: +{
      +  "description": "Subject type; disambiguates names.",
      +  "maxLength": 80,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • changedInput schema / properties / relations / items / properties / target / description
      Previous value: -"Value or object, different from source."New value: +"Value/object, distinct from source."
    • addedInput schema / properties / relations / items / properties / target_kind
      Added value: +{
      +  "description": "Value type; disambiguates names.",
      +  "maxLength": 80,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • changedInput schema / properties / relations / items / properties / unit / description
      Previous value: -"Unit of the saved value, such as hour, bed or bed/nurse."New value: +"Value unit, e.g. hour or bed/nurse."
  5. Changed3 schema fields changed
    • addedInput schema / properties / questions / items / description
      Added value: +"Each question must use exactly one mode: direct source/relation/optional target, claim, or compute. For a calculation that also needs a separate fact check, send two question objects."
    • addedInput schema / properties / questions / items / properties / compute / description
      Added value: +"Use this mode instead of a direct source/relation/target or claim query. When compute is present, the question object may contain only id, compute, context and as_of. Put all saved premises inside compute.facts; do not add source, relation, target or claim at the question level."
    • changedInput schema / properties / questions / items / properties / compute / properties / plan / description
      Previous value: -"Evidence-bound operation tree. Supported ops: ref, add, subtract, multiply, divide, ceil, floor, round, sum, count, distinct, min, max, ratio, compare, and, or, not and date_diff. Use ref {op:'ref',id:'...'} for every input; arbitrary code and literal evidence are rejected."New value: +"Evidence-bound operation tree. Supported ops: ref, add, subtract, multiply, divide, ceil, floor, round, sum, count, distinct, min, max, ratio, compare, and, or, not and date_diff. Use ref {op:'ref',id:'...'} for every input. Pass operation inputs with args:[...] (including binary ops); unary operations use arg. Subtract and divide take two ordered args. Never use left/right fields. Arbitrary code and literal evidence are rejected."
  6. Changed6 schema fields changed
    • addedInput schema / properties / questions / items / properties / compute
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "draft": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "unit": {
      +          "description": "Optional result unit or directed ratio unit."
      +        },
      +        "value": {
      +          "description": "Optional proposed result to check against the CPU result."
      +        }
      +      },
      +      "required": [
      +        "value"
      +      ],
      +      "type": "object"
      +    },
      +    "facts": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "as_of": {
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "context": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "domain_id": {
      +                "maxLength": 200,
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "qualifiers": {
      +                "description": "Conditions accepted by normalize_context: JSON scalars or lists, no nested objects.",
      +                "maxProperties": 64,
      +                "type": "object"
      +              },
      +              "scope": {
      +                "maxLength": 200,
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "subdomain_id": {
      +                "maxLength": 200,
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "subject_version": {
      +                "maxLength": 200,
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [],
      +            "type": "object"
      +          },
      +          "id": {
      +            "description": "Short input name used by ref nodes in the plan.",
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "mode": {
      +            "enum": [
      +              "one",
      +              "all"
      +            ],
      +            "type": "string"
      +          },
      +          "relation": {
      +            "description": "Saved fact property.",
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "source": {
      +            "description": "Saved fact subject.",
      +            "maxLength": 2000,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "unit": {
      +            "description": "Optional unit assertion; must match the saved unit. Omit to use the saved unit.",
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "source",
      +          "relation"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 64,
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "plan": {
      +      "description": "Evidence-bound operation tree. Supported ops: ref, add, subtract, multiply, divide, ceil, floor, round, sum, count, distinct, min, max, ratio, compare, and, or, not and date_diff. Use ref {op:'ref',id:'...'} for every input; arbitrary code and literal evidence are rejected.",
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "facts",
      +    "plan"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / relations / items / properties / entity_id
      Added value: +{
      +  "description": "Explicit canonical subject ID, shared across its evidence sources.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / relations / items / properties / evidence_source
      Added value: +{
      +  "description": "Source document or record label; does not change the subject identity.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / relations / items / properties / position
      Added value: +{
      +  "maximum": 1000000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / relations / items / properties / property_type
      Added value: +{
      +  "enum": [
      +    "single",
      +    "set",
      +    "ordered",
      +    "rules"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / relations / items / properties / unit
      Added value: +{
      +  "description": "Unit of the saved value, such as hour, bed or bed/nurse.",
      +  "maxLength": 100,
      +  "minLength": 1,
      +  "type": "string"
      +}
  7. First observed

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered structurally. The description adds output-shape information with no output schema backing it: six fields including conclusion values TRUE/FALSE/UNKNOWN, plus conflict, reason, path, decision and evidence_kind. That is useful disclosure, but the fields are named without explaining what any of them mean or how conflict/decision are populated.

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

Conciseness3/5

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

It is short and front-loads the purpose, which is good, but the compression goes too far: "unknown fields: recall" and the bare "Six fields:" list are telegraphic to the point of ambiguity. Brevity here costs comprehension rather than earning its place.

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

Completeness2/5

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

This is a complex tool: a nested array of question objects, mutually exclusive verification modes, a batch cap of 20, and no output schema. The description should explain the modes and the meaning of the six output fields, but instead it names them opaquely. An agent could form the call shape from the schema but would not understand what comes back or which mode to choose.

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

Parameters2/5

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

Schema description coverage is reported at 0%, so the description carries the burden, and it does not explain the questions array, the required id, as_of, source/target, context.scope/qualifiers, or relation semantics at all. The only nod toward parameters is "unknown fields: recall," which hints at a lookup path but leaves the structure and modes (source+relation, claim, compute, proof) undescribed in the description text.

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

Purpose3/5

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

"Check exact claims/calculations/proofs" gives a verb (check) and a class of resource (claims/calculations/proofs), so the agent knows this is a verification tool. But it never contrasts itself with correct_fact or recall, so the boundary with siblings stays fuzzy. Purpose is inferable but not crisp.

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?

"unknown fields: recall" is a real routing hint to a sibling for the case where the agent doesn't know a field, which is genuinely useful. However, there is no guidance on when to verify vs. correct_fact, no mention that this is read-only checking versus mutation, and no statement of prerequisites or the one-mode-per-question constraint that appears only in the schema.

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