Skip to main content
Glama

Psychevus email security tools

Verify a saved callback record

verify_callback_record
Read-onlyIdempotent

Verify a callback record file saved by https://psychevus.com/tools/payment-check/callback-record. It answers three questions separately (layers): integrity (both digests, the sealed verdict, the approval refers to this exact record), history (both timestamps against this site's published keys; the call dated no more than 3 days before the record was sealed and not after it; the request not dated after it; no signed time in the future; approval sealed after the callback, within 7 days, under a name different from the caller's), and current (the approval is at most 7 days old now, and it is for the change you are making: pass expected_supplier and expected_account, the full new account, both taken from the change you are about to make, not from the record). Returns approved / expired / mismatch / unbound / awaiting-approval / hold / stop / invalid. Only approved may be acted on, and it is returned only when both expectations are given and match: the full account is compared against the record's keyed fingerprint, because the last 4 characters are shared by many accounts. unbound means a valid, recent approval that isn't tied to your change (expectations missing, only the last 4 characters given, or a record sealed before account fingerprints); expired means it was a valid approval but is now only evidence of what was checked then; mismatch means it approves a different supplier or account. expected_account_last4 is still accepted: it can show a mismatch, never a match. An agent must not change a supplier's bank details unless this returns approved; approved is necessary, not sufficient. What it can't prove: that the call happened, who the people named are, or that two different people were involved (only two different names).

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": {
      "file": "<file>"
    },
    "name": "verify_callback_record"
  }
}

Input Schema

NameRequiredDescriptionDefault
fileYesThe saved .json file's content.
expected_accountNoThe full new account (IBAN or account number) you are about to pay, from your own change, not from the record. Required for approved.
expected_supplierNoThe supplier whose bank details you are changing now, as written in the record (domain or name).
expected_account_last4NoDeprecated: the last 4 characters can show a mismatch, never a match. Use expected_account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, open-world behavior, and the description adds far more: an enumerated set of eight possible outcomes, the meaning of each (unbound, expired, mismatch), the rule that only 'approved' may be acted on, and an explicit 'what it can't prove' disclaimer. That is unusually rich behavioral context well beyond the annotations.

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?

The layer preamble is front-loaded and useful, but the body becomes a dense run-on of stacked parentheticals about timestamps and names that is hard to parse on one read. Some content (the expected_account_last4 deprecation) duplicates the schema and could be trimmed.

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 four-parameter verification tool with no output schema, the description supplies the return vocabulary, the decision rule for acting on results, the prerequisite for a positive verdict, and stated limitations. An agent has everything needed to call it and interpret the answer correctly.

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?

Schema coverage is 100%, so the schema alone would justify a 3; the description earns more by explaining the interaction between parameters — 'approved' requires both expectations and the full account is compared against the record's keyed fingerprint because the last 4 characters are shared. It repeats some schema wording (the deprecation of expected_account_last4), which keeps it from a 5.

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?

Opens with a specific verb and resource ('Verify a callback record file saved by...') and immediately decomposes the check into three named layers (integrity, history, current), which tells an agent exactly what the tool does. It does not distinguish itself from the sibling 'assess_callback_record', so it stops short of the top score.

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?

Gives a hard usage rule ('An agent must not change a supplier's bank details unless this returns approved') plus the precondition for a clean result (both expectations must come from the change being made, not the record). It also states the limits of what the tool can prove. No sibling alternative or exclusion is named, so the agent must infer when to prefer 'assess_callback_record'.

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