Skip to main content
Glama

Check an action against a mandate (offline)

kya_check_mandate
Read-onlyIdempotent

Evaluates an intended agent action against a KYA mandate and lists every rule result: action, limits, currency, counterparty, payment instrument, validity. Offline; no data sent.

Instructions

Free and offline. Evaluates an intended action against a KYA mandate (the credential's mandate from kya_verify, or one you are drafting) and lists every rule with its result: action, ceilings per operation and per day, currency, counterparty (with *.domain wildcards), payment instrument, validity window. Nothing is sent anywhere.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionNoWhat the agent wants to do, lowercase (order, pay, quote, sign, ...).
amountNoAmount of this operation.
mandateYesA KYA mandate: actions, max_per_operation, max_per_day, currencies, counterparties, payment_instruments, valid_from, valid_until, delegation.
currencyNoBRL, USDC, ...
spent_todayNoWhat this agent already spent today, if you track it; needed for max_per_day (the issuer keeps no record of acts).
counterpartyNoYour CNPJ, domain or wallet address (the other side of the operation).
payment_networkNoPayment network of this operation: visa, mastercard, elo, pix, ...
payment_ref_sha256NoSHA-256 hex of the payment token reference or PAR used, never a card number.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so the safety profile is covered. The description reinforces and enriches this: 'Nothing is sent anywhere' confirms the offline nature, 'Free' adds a cost dimension the annotations lack, and it discloses the shape of the result ('lists every rule with its result'), which the missing output schema does not provide.

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?

Two sentences, front-loaded with the most decision-relevant facts ('Free and offline'), then the mechanics. The rule enumeration is dense but earns its place by previewing what the caller receives in the absence of an output schema.

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?

For a read-only 8-parameter tool with nested mandate object and no output schema, the description does the essential work: it establishes offline/free behavior, the mandate source, and the returned per-rule breakdown. It could say more about failure/edge behavior when a rule fails, but nothing an agent needs to call it correctly 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 100% schema description coverage the baseline is 3, and the description adds real meaning beyond the schema by naming the mandate fields evaluated (ceilings per operation and per day, validity window) and by calling out the '*.domain wildcard' semantics for counterparty, which the schema's plain 'Your CNPJ, domain or wallet address' does not convey.

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 states a specific verb and resource ('Evaluates an intended action against a KYA mandate') and enumerates the rules checked, so the agent knows exactly what the tool does. It hints at input provenance ('the credential's mandate from kya_verify, or one you are drafting') but does not explicitly differentiate itself from close siblings like kya_validate_mandate or kya_check_action.

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?

The context of use is implied ('Free and offline', mandate from kya_verify or drafting) but there is no explicit when-to-use guidance or exclusion relative to alternatives such as kya_validate_mandate or kya_check_action. An agent must infer the choice from the one-line purpose.

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