Skip to main content
Glama

Assess a problem with a bank

assess_bank_case
Read-onlyIdempotent

The public endpoint defaults to format=json and textMode=compatible: the complete compact source graph is delivered once as JSON in content[0].text (96KiB whole-body cap), with a small wiki-bank-case-text/1 transport receipt in structuredContent. Text-only clients receive all native material except derived Markdown. Explicit summary puts the graph in structuredContent and only a notice in TextContent; use it only if your client consumes structuredContent. Explicit full preserves the previous full shape, up to2MiB. Internal callers without a boundary policy retain full compatible output. Compact overflow is held whole and offers a manual fresh-read full retry if your client accepts the larger response. Neither byte cap guarantees a model token limit. No material is truncated. The complaint desk's deterministic assessment for a frozen account, a closure notice, a document request, a stuck payment or a refused application: what to do now, the escalation ladder of the bank's jurisdiction (bank complaint, ombudsman or regulator, data access request), with recorded requirements, unresolved conditions and primary-source links, plus recorded response periods, cautions and the help that fits. Also returns the letters to send — the formal complaint and the data access request, in English with bracketed placeholders the person fills in themselves. The reported stage is an unverified intake fact; it does not establish completed steps or eligibility. No personal dates are calculated. calendarStatus explains the missing inputs. UK/EU complaint-response rules are returned separately as statutoryReply; the intake does not establish their applicable branch or a statutory due date. Pass holder whenever it is known: an ombudsman's door depends on whose account it is. Information, not legal advice. Never submit a person's contact details; hand them the complaint URL instead.

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": {
      "problem": "<problem>",
      "stage": "<stage>",
      "jurisdiction": "<jurisdiction>",
      "amount": "<amount>",
      "sanctions": "<sanctions>"
    },
    "name": "assess_bank_case"
  }
}

Input Schema

NameRequiredDescriptionDefault
stageYes
todayNoOptional reference date (YYYY-MM-DD), retained for compatibility. It does not establish receipt of a complaint, the applicable procedure, eligibility or a personal due date.
amountYes
formatNoOptional. Public HTTP default json selects wiki-bank-case-compact/1, preserving all native material except derived Markdown in a full-source graph, up to96KiB whole body. Explicit full retains the previous full DTO including Markdown and defaults to compatible text, up to2MiB. Direct/internal callers without a boundary policy retain full. No protocol-based selection or universal token-limit guarantee.json
holderNoWhose account it is. Optional; without it eligibility is stated, not decided.
localeNo
problemYes
textModeNoOptional, default compatible. For json, compatible delivers one complete wiki-bank-case-compact/1 JSON graph in content[0].text and a small wiki-bank-case-text/1 transport receipt in structuredContent; validate its text bytes/hash and decode the graph before using sources. summary requires selected format=json and a client that consumes structuredContent; TextContent is only a notice. Explicit full+compatible retains the previous full DTO in both fields and may be large. Direct/internal defaults remain compatible.compatible
sanctionsYesRussia or Belarus nexus of the client.
jurisdictionYesWhere the bank or the neobank's licence sits.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / textMode / default
      Added value: +"compatible"
    • changedInput schema / properties / textMode / description
      Previous value: -"Optional. On the public HTTP endpoint, omitted means summary for selected format=json and compatible for explicit full. summary requires selected format=json and a client that consumes structuredContent; TextContent is only a notice. compatible duplicates the complete selected material in TextContent and counts toward its wire cap. Text-only clients should explicitly select full+compatible; it may be large. Direct/internal defaults remain compatible."New value: +"Optional, default compatible. For json, compatible delivers one complete wiki-bank-case-compact/1 JSON graph in content[0].text and a small wiki-bank-case-text/1 transport receipt in structuredContent; validate its text bytes/hash and decode the graph before using sources. summary requires selected format=json and a client that consumes structuredContent; TextContent is only a notice. Explicit full+compatible retains the previous full DTO in both fields and may be large. Direct/internal defaults remain compatible."
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "articles": {
      -        "items": {
      -          "properties": {
      -            "provenance": {
      -              "description": "Origin of one record: stable id, clean canonical URL, publisher, the exact published revision served, a ready citation, primary sources and review status.",
      -              "properties": {
      -                "canonical_url": {
      -                  "description": "Published location without tracking parameters.",
      -                  "format": "uri",
      -                  "type": "string"
      -                },
      -                "cite_as": {
      -                  "type": "string"
      -                },
      -                "contract": {
      -                  "const": "wiki-provenance/1",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "<locale>:<slug> for an article, <dataset>:<record id> for a dataset row.",
      -                  "type": "string"
      -                },
      -                "primary_sources": {
      -                  "items": {
      -                    "properties": {
      -                      "name": {
      -                        "type": "string"
      -                      },
      -                      "url": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      }
      -                    },
      -                    "required": [
      -                      "name",
      -                      "url"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "publisher": {
      -                  "properties": {
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "url": {
      -                      "format": "uri",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "name",
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "verification_status": {
      -                  "enum": [
      -                    "verified",
      -                    "pending",
      -                    "unknown"
      -                  ],
      -                  "type": "string"
      -                },
      -                "version": {
      -                  "description": "Revision of exactly the material served: for an article the snapshot content hash (the HTML ETag value); for a dataset record the dataset revision it was published in, not the published filename. Null when unknown.",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "contract",
      -                "id",
      -                "canonical_url",
      -                "publisher",
      -                "version",
      -                "cite_as",
      -                "primary_sources",
      -                "verification_status"
      -              ],
      -              "type": "object"
      -            },
      -            "slug": {
      -              "type": "string"
      -            },
      -            "title": {
      -              "type": "string"
      -            },
      -            "url": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "slug",
      -            "title",
      -            "url",
      -            "provenance"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "calendar": {
      -        "items": {
      -          "properties": {
      -            "date": {
      -              "type": "string"
      -            },
      -            "label": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "label",
      -            "date"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "calendarStatus": {
      -        "properties": {
      -          "missingInputs": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "reason": {
      -            "type": "string"
      -          },
      -          "state": {
      -            "enum": [
      -              "not_calculated"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "state",
      -          "reason",
      -          "missingInputs"
      -        ],
      -        "type": "object"
      -      },
      -      "cautions": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "complaintUrl": {
      -        "type": "string"
      -      },
      -      "deadlines": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "escalation": {
      -        "items": {
      -          "properties": {
      -            "how": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "source": {
      -              "type": "string"
      -            },
      -            "status": {
      -              "enum": [
      -                "open",
      -                "later",
      -                "conditional",
      -                "closed"
      -              ],
      -              "type": "string"
      -            },
      -            "statusNote": {
      -              "type": "string"
      -            },
      -            "when": {
      -              "type": "string"
      -            },
      -            "who": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "when",
      -            "how",
      -            "who",
      -            "status",
      -            "statusNote"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "firstSteps": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "headline": {
      -        "type": "string"
      -      },
      -      "letters": {
      -        "items": {
      -          "properties": {
      -            "body": {
      -              "type": "string"
      -            },
      -            "kind": {
      -              "enum": [
      -                "complaint",
      -                "data_request"
      -              ],
      -              "type": "string"
      -            },
      -            "purpose": {
      -              "type": "string"
      -            },
      -            "title": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "kind",
      -            "title",
      -            "purpose",
      -            "body"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "reportedStage": {
      -        "description": "Stage reported by the caller, not a verified procedural event or eligibility finding.",
      -        "enum": [
      -          "notice",
      -          "replied",
      -          "deadline_passed",
      -          "closed"
      -        ],
      -        "type": "string"
      -      },
      -      "service": {
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "title": {
      -            "type": "string"
      -          },
      -          "why": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "title",
      -          "why"
      -        ],
      -        "type": "object"
      -      },
      -      "statutoryReply": {
      -        "description": "UK/EU whole native complaint-reply cell with all conditions, caveats and quotations. Personal scope and statutory due date remain unknown. Null outside this cohort.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "verdict": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "headline",
      -      "verdict",
      -      "firstSteps",
      -      "escalation",
      -      "deadlines",
      -      "calendar",
      -      "letters",
      -      "service",
      -      "cautions",
      -      "articles",
      -      "complaintUrl"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "complete": {
      -        "const": true
      -      },
      -      "format": {
      -        "const": "wiki-bank-case-compact/1"
      -      },
      -      "materialSha256": {
      -        "pattern": "^[a-f0-9]{64}$",
      -        "type": "string"
      -      },
      -      "materialWireSha256": {
      -        "pattern": "^[a-f0-9]{64}$",
      -        "type": "string"
      -      },
      -      "omittedDerived": {
      -        "properties": {
      -          "nativeContextMarkdownSha256": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "nativeContextMarkdownSha256"
      -        ],
      -        "type": "object"
      -      },
      -      "payload": {
      -        "description": "Original native material except derived nativeContextMarkdown. Only object occurrences in sources arrays become { $wikiBankSource: id }. Resolve complete source objects from sourcesById before inspecting citations or verifying native owner byte hashes. Preserve order and repeated occurrences.",
      -        "type": "object"
      -      },
      -      "sourcesById": {
      -        "additionalProperties": {
      -          "type": "object"
      -        },
      -        "description": "Complete source objects keyed by canonical full-object SHA plus exact JSON wire SHA. Qualifications, translations, locators, unknown fields and property order participate in identity.",
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "format",
      -      "complete",
      -      "payload",
      -      "sourcesById",
      -      "materialSha256",
      -      "materialWireSha256",
      -      "omittedDerived"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "complete": {
      -        "const": false
      -      },
      -      "format": {
      -        "const": "wiki-bank-case-held/1"
      -      },
      -      "fullFormatLimitBytes": {
      -        "type": "integer"
      -      },
      -      "limitBytes": {
      -        "type": "integer"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "reason": {
      -        "const": "response_budget_exceeded"
      -      },
      -      "recovery": {
      -        "anyOf": [
      -          {
      -            "type": "null"
      -          },
      -          {
      -            "properties": {
      -              "format": {
      -                "enum": [
      -                  "json",
      -                  "full"
      -                ]
      -              },
      -              "readMode": {
      -                "const": "fresh_read"
      -              },
      -              "requiresStructuredContent": {
      -                "type": "boolean"
      -              },
      -              "sameSnapshot": {
      -                "const": false
      -              },
      -              "textMode": {
      -                "enum": [
      -                  "summary",
      -                  "compatible"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "format",
      -              "textMode",
      -              "requiresStructuredContent",
      -              "readMode",
      -              "sameSnapshot"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "requestedFormat": {
      -        "enum": [
      -          "json",
      -          "full"
      -        ]
      -      },
      -      "requestedTextMode": {
      -        "enum": [
      -          "compatible",
      -          "summary"
      -        ]
      -      },
      -      "requiredBytes": {
      -        "type": "integer"
      -      },
      -      "retrySameRequestUseful": {
      -        "const": false
      -      },
      -      "state": {
      -        "const": "held"
      -      }
      -    },
      -    "required": [
      -      "format",
      -      "complete",
      -      "state",
      -      "reason",
      -      "limitBytes",
      -      "requiredBytes",
      -      "requestedFormat",
      -      "requestedTextMode",
      -      "fullFormatLimitBytes",
      -      "retrySameRequestUseful",
      -      "recovery",
      -      "message"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "error": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "articles": {
      +        "items": {
      +          "properties": {
      +            "provenance": {
      +              "description": "Origin of one record: stable id, clean canonical URL, publisher, the exact published revision served, a ready citation, primary sources and review status.",
      +              "properties": {
      +                "canonical_url": {
      +                  "description": "Published location without tracking parameters.",
      +                  "format": "uri",
      +                  "type": "string"
      +                },
      +                "cite_as": {
      +                  "type": "string"
      +                },
      +                "contract": {
      +                  "const": "wiki-provenance/1",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "<locale>:<slug> for an article, <dataset>:<record id> for a dataset row.",
      +                  "type": "string"
      +                },
      +                "primary_sources": {
      +                  "items": {
      +                    "properties": {
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "url"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "publisher": {
      +                  "properties": {
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "url": {
      +                      "format": "uri",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "url"
      +                  ],
      +                  "type": "object"
      +                },
      +                "verification_status": {
      +                  "enum": [
      +                    "verified",
      +                    "pending",
      +                    "unknown"
      +                  ],
      +                  "type": "string"
      +                },
      +                "version": {
      +                  "description": "Revision of exactly the material served: for an article the snapshot content hash (the HTML ETag value); for a dataset record the dataset revision it was published in, not the published filename. Null when unknown.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "contract",
      +                "id",
      +                "canonical_url",
      +                "publisher",
      +                "version",
      +                "cite_as",
      +                "primary_sources",
      +                "verification_status"
      +              ],
      +              "type": "object"
      +            },
      +            "slug": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "slug",
      +            "title",
      +            "url",
      +            "provenance"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "calendar": {
      +        "items": {
      +          "properties": {
      +            "date": {
      +              "type": "string"
      +            },
      +            "label": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "label",
      +            "date"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "calendarStatus": {
      +        "properties": {
      +          "missingInputs": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "reason": {
      +            "type": "string"
      +          },
      +          "state": {
      +            "enum": [
      +              "not_calculated"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "state",
      +          "reason",
      +          "missingInputs"
      +        ],
      +        "type": "object"
      +      },
      +      "cautions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "complaintUrl": {
      +        "type": "string"
      +      },
      +      "deadlines": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "escalation": {
      +        "items": {
      +          "properties": {
      +            "how": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "enum": [
      +                "open",
      +                "later",
      +                "conditional",
      +                "closed"
      +              ],
      +              "type": "string"
      +            },
      +            "statusNote": {
      +              "type": "string"
      +            },
      +            "when": {
      +              "type": "string"
      +            },
      +            "who": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "when",
      +            "how",
      +            "who",
      +            "status",
      +            "statusNote"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "firstSteps": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "headline": {
      +        "type": "string"
      +      },
      +      "letters": {
      +        "items": {
      +          "properties": {
      +            "body": {
      +              "type": "string"
      +            },
      +            "kind": {
      +              "enum": [
      +                "complaint",
      +                "data_request"
      +              ],
      +              "type": "string"
      +            },
      +            "purpose": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "title",
      +            "purpose",
      +            "body"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "reportedStage": {
      +        "description": "Stage reported by the caller, not a verified procedural event or eligibility finding.",
      +        "enum": [
      +          "notice",
      +          "replied",
      +          "deadline_passed",
      +          "closed"
      +        ],
      +        "type": "string"
      +      },
      +      "service": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "why": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "title",
      +          "why"
      +        ],
      +        "type": "object"
      +      },
      +      "statutoryReply": {
      +        "description": "UK/EU whole native complaint-reply cell with all conditions, caveats and quotations. Personal scope and statutory due date remain unknown. Null outside this cohort.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "verdict": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "headline",
      +      "verdict",
      +      "firstSteps",
      +      "escalation",
      +      "deadlines",
      +      "calendar",
      +      "letters",
      +      "service",
      +      "cautions",
      +      "articles",
      +      "complaintUrl"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "complete": {
      +        "const": true
      +      },
      +      "format": {
      +        "const": "wiki-bank-case-compact/1"
      +      },
      +      "materialSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "materialWireSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "omittedDerived": {
      +        "properties": {
      +          "nativeContextMarkdownSha256": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "nativeContextMarkdownSha256"
      +        ],
      +        "type": "object"
      +      },
      +      "payload": {
      +        "description": "Original native material except derived nativeContextMarkdown. Only object occurrences in sources arrays become { $wikiBankSource: id }. Resolve complete source objects from sourcesById before inspecting citations or verifying native owner byte hashes. Preserve order and repeated occurrences.",
      +        "type": "object"
      +      },
      +      "sourcesById": {
      +        "additionalProperties": {
      +          "type": "object"
      +        },
      +        "description": "Complete source objects keyed by canonical full-object SHA plus exact JSON wire SHA. Qualifications, translations, locators, unknown fields and property order participate in identity.",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "complete",
      +      "payload",
      +      "sourcesById",
      +      "materialSha256",
      +      "materialWireSha256",
      +      "omittedDerived"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "complete": {
      +        "const": true
      +      },
      +      "format": {
      +        "const": "wiki-bank-case-text/1"
      +      },
      +      "materialFormat": {
      +        "const": "wiki-bank-case-compact/1"
      +      },
      +      "materialLocation": {
      +        "const": "content[0].text"
      +      },
      +      "materialSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "materialWireSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "sourceCount": {
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "textPayloadBytes": {
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "textPayloadSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "complete",
      +      "materialFormat",
      +      "materialLocation",
      +      "textPayloadSha256",
      +      "textPayloadBytes",
      +      "materialSha256",
      +      "materialWireSha256",
      +      "sourceCount"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "complete": {
      +        "const": false
      +      },
      +      "format": {
      +        "const": "wiki-bank-case-held/1"
      +      },
      +      "fullFormatLimitBytes": {
      +        "type": "integer"
      +      },
      +      "limitBytes": {
      +        "type": "integer"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "reason": {
      +        "const": "response_budget_exceeded"
      +      },
      +      "recovery": {
      +        "anyOf": [
      +          {
      +            "type": "null"
      +          },
      +          {
      +            "properties": {
      +              "format": {
      +                "enum": [
      +                  "json",
      +                  "full"
      +                ]
      +              },
      +              "readMode": {
      +                "const": "fresh_read"
      +              },
      +              "requiresStructuredContent": {
      +                "type": "boolean"
      +              },
      +              "sameSnapshot": {
      +                "const": false
      +              },
      +              "textMode": {
      +                "enum": [
      +                  "summary",
      +                  "compatible"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "format",
      +              "textMode",
      +              "requiresStructuredContent",
      +              "readMode",
      +              "sameSnapshot"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "requestedFormat": {
      +        "enum": [
      +          "json",
      +          "full"
      +        ]
      +      },
      +      "requestedTextMode": {
      +        "enum": [
      +          "compatible",
      +          "summary"
      +        ]
      +      },
      +      "requiredBytes": {
      +        "type": "integer"
      +      },
      +      "retrySameRequestUseful": {
      +        "const": false
      +      },
      +      "state": {
      +        "const": "held"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "complete",
      +      "state",
      +      "reason",
      +      "limitBytes",
      +      "requiredBytes",
      +      "requestedFormat",
      +      "requestedTextMode",
      +      "fullFormatLimitBytes",
      +      "retrySameRequestUseful",
      +      "recovery",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "error": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed3 schema fields changed
    • addedInput schema / properties / format / default
      Added value: +"json"
    • changedInput schema / properties / format / description
      Previous value: -"Optional. Strongly recommended for agents: json selects wiki-bank-case-compact/1, preserving all native material except derived Markdown in a full-source graph, up to96KiB whole body. Omitted/full retains the previous full DTO including Markdown and compatible text, up to2MiB. No automatic protocol-based format selection."New value: +"Optional. Public HTTP default json selects wiki-bank-case-compact/1, preserving all native material except derived Markdown in a full-source graph, up to96KiB whole body. Explicit full retains the previous full DTO including Markdown and defaults to compatible text, up to2MiB. Direct/internal callers without a boundary policy retain full. No protocol-based selection or universal token-limit guarantee."
    • changedInput schema / properties / textMode / description
      Previous value: -"Optional; omitted means compatible, serializing the same complete selected material in TextContent. summary requires explicit format=json and a client that consumes structuredContent; the text is only a transport notice."New value: +"Optional. On the public HTTP endpoint, omitted means summary for selected format=json and compatible for explicit full. summary requires selected format=json and a client that consumes structuredContent; TextContent is only a notice. compatible duplicates the complete selected material in TextContent and counts toward its wire cap. Text-only clients should explicitly select full+compatible; it may be large. Direct/internal defaults remain compatible."
  3. Changed6 schema fields changed
    • addedInput schema / properties / format
      Added value: +{
      +  "description": "Optional. Strongly recommended for agents: json selects wiki-bank-case-compact/1, preserving all native material except derived Markdown in a full-source graph, up to96KiB whole body. Omitted/full retains the previous full DTO including Markdown and compatible text, up to2MiB. No automatic protocol-based format selection.",
      +  "enum": [
      +    "json",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / textMode
      Added value: +{
      +  "description": "Optional; omitted means compatible, serializing the same complete selected material in TextContent. summary requires explicit format=json and a client that consumes structuredContent; the text is only a transport notice.",
      +  "enum": [
      +    "compatible",
      +    "summary"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / today / description
      Previous value: -"The client's current date (YYYY-MM-DD) for the calendar. Optional; defaults to the server's date."New value: +"Optional reference date (YYYY-MM-DD), retained for compatibility. It does not establish receipt of a complaint, the applicable procedure, eligibility or a personal due date."
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "articles": {
      +        "items": {
      +          "properties": {
      +            "provenance": {
      +              "description": "Origin of one record: stable id, clean canonical URL, publisher, the exact published revision served, a ready citation, primary sources and review status.",
      +              "properties": {
      +                "canonical_url": {
      +                  "description": "Published location without tracking parameters.",
      +                  "format": "uri",
      +                  "type": "string"
      +                },
      +                "cite_as": {
      +                  "type": "string"
      +                },
      +                "contract": {
      +                  "const": "wiki-provenance/1",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "<locale>:<slug> for an article, <dataset>:<record id> for a dataset row.",
      +                  "type": "string"
      +                },
      +                "primary_sources": {
      +                  "items": {
      +                    "properties": {
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "url"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "publisher": {
      +                  "properties": {
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "url": {
      +                      "format": "uri",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "url"
      +                  ],
      +                  "type": "object"
      +                },
      +                "verification_status": {
      +                  "enum": [
      +                    "verified",
      +                    "pending",
      +                    "unknown"
      +                  ],
      +                  "type": "string"
      +                },
      +                "version": {
      +                  "description": "Revision of exactly the material served: for an article the snapshot content hash (the HTML ETag value); for a dataset record the dataset revision it was published in, not the published filename. Null when unknown.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "contract",
      +                "id",
      +                "canonical_url",
      +                "publisher",
      +                "version",
      +                "cite_as",
      +                "primary_sources",
      +                "verification_status"
      +              ],
      +              "type": "object"
      +            },
      +            "slug": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "slug",
      +            "title",
      +            "url",
      +            "provenance"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "calendar": {
      +        "items": {
      +          "properties": {
      +            "date": {
      +              "type": "string"
      +            },
      +            "label": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "label",
      +            "date"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "calendarStatus": {
      +        "properties": {
      +          "missingInputs": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "reason": {
      +            "type": "string"
      +          },
      +          "state": {
      +            "enum": [
      +              "not_calculated"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "state",
      +          "reason",
      +          "missingInputs"
      +        ],
      +        "type": "object"
      +      },
      +      "cautions": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "complaintUrl": {
      +        "type": "string"
      +      },
      +      "deadlines": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "escalation": {
      +        "items": {
      +          "properties": {
      +            "how": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "enum": [
      +                "open",
      +                "later",
      +                "conditional",
      +                "closed"
      +              ],
      +              "type": "string"
      +            },
      +            "statusNote": {
      +              "type": "string"
      +            },
      +            "when": {
      +              "type": "string"
      +            },
      +            "who": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "when",
      +            "how",
      +            "who",
      +            "status",
      +            "statusNote"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "firstSteps": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "headline": {
      +        "type": "string"
      +      },
      +      "letters": {
      +        "items": {
      +          "properties": {
      +            "body": {
      +              "type": "string"
      +            },
      +            "kind": {
      +              "enum": [
      +                "complaint",
      +                "data_request"
      +              ],
      +              "type": "string"
      +            },
      +            "purpose": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "title",
      +            "purpose",
      +            "body"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "reportedStage": {
      +        "description": "Stage reported by the caller, not a verified procedural event or eligibility finding.",
      +        "enum": [
      +          "notice",
      +          "replied",
      +          "deadline_passed",
      +          "closed"
      +        ],
      +        "type": "string"
      +      },
      +      "service": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "why": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "title",
      +          "why"
      +        ],
      +        "type": "object"
      +      },
      +      "statutoryReply": {
      +        "description": "UK/EU whole native complaint-reply cell with all conditions, caveats and quotations. Personal scope and statutory due date remain unknown. Null outside this cohort.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "verdict": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "headline",
      +      "verdict",
      +      "firstSteps",
      +      "escalation",
      +      "deadlines",
      +      "calendar",
      +      "letters",
      +      "service",
      +      "cautions",
      +      "articles",
      +      "complaintUrl"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "complete": {
      +        "const": true
      +      },
      +      "format": {
      +        "const": "wiki-bank-case-compact/1"
      +      },
      +      "materialSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "materialWireSha256": {
      +        "pattern": "^[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "omittedDerived": {
      +        "properties": {
      +          "nativeContextMarkdownSha256": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "nativeContextMarkdownSha256"
      +        ],
      +        "type": "object"
      +      },
      +      "payload": {
      +        "description": "Original native material except derived nativeContextMarkdown. Only object occurrences in sources arrays become { $wikiBankSource: id }. Resolve complete source objects from sourcesById before inspecting citations or verifying native owner byte hashes. Preserve order and repeated occurrences.",
      +        "type": "object"
      +      },
      +      "sourcesById": {
      +        "additionalProperties": {
      +          "type": "object"
      +        },
      +        "description": "Complete source objects keyed by canonical full-object SHA plus exact JSON wire SHA. Qualifications, translations, locators, unknown fields and property order participate in identity.",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "complete",
      +      "payload",
      +      "sourcesById",
      +      "materialSha256",
      +      "materialWireSha256",
      +      "omittedDerived"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "complete": {
      +        "const": false
      +      },
      +      "format": {
      +        "const": "wiki-bank-case-held/1"
      +      },
      +      "fullFormatLimitBytes": {
      +        "type": "integer"
      +      },
      +      "limitBytes": {
      +        "type": "integer"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "reason": {
      +        "const": "response_budget_exceeded"
      +      },
      +      "recovery": {
      +        "anyOf": [
      +          {
      +            "type": "null"
      +          },
      +          {
      +            "properties": {
      +              "format": {
      +                "enum": [
      +                  "json",
      +                  "full"
      +                ]
      +              },
      +              "readMode": {
      +                "const": "fresh_read"
      +              },
      +              "requiresStructuredContent": {
      +                "type": "boolean"
      +              },
      +              "sameSnapshot": {
      +                "const": false
      +              },
      +              "textMode": {
      +                "enum": [
      +                  "summary",
      +                  "compatible"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "format",
      +              "textMode",
      +              "requiresStructuredContent",
      +              "readMode",
      +              "sameSnapshot"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "requestedFormat": {
      +        "enum": [
      +          "json",
      +          "full"
      +        ]
      +      },
      +      "requestedTextMode": {
      +        "enum": [
      +          "compatible",
      +          "summary"
      +        ]
      +      },
      +      "requiredBytes": {
      +        "type": "integer"
      +      },
      +      "retrySameRequestUseful": {
      +        "const": false
      +      },
      +      "state": {
      +        "const": "held"
      +      }
      +    },
      +    "required": [
      +      "format",
      +      "complete",
      +      "state",
      +      "reason",
      +      "limitBytes",
      +      "requiredBytes",
      +      "requestedFormat",
      +      "requestedTextMode",
      +      "fullFormatLimitBytes",
      +      "retrySameRequestUseful",
      +      "recovery",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "error": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties
      Removed value: -{
      -  "articles": {
      -    "items": {
      -      "properties": {
      -        "provenance": {
      -          "description": "Origin of one record: stable id, clean canonical URL, publisher, the exact published revision served, a ready citation, primary sources and review status.",
      -          "properties": {
      -            "canonical_url": {
      -              "description": "Published location without tracking parameters.",
      -              "format": "uri",
      -              "type": "string"
      -            },
      -            "cite_as": {
      -              "type": "string"
      -            },
      -            "contract": {
      -              "const": "wiki-provenance/1",
      -              "type": "string"
      -            },
      -            "id": {
      -              "description": "<locale>:<slug> for an article, <dataset>:<record id> for a dataset row.",
      -              "type": "string"
      -            },
      -            "primary_sources": {
      -              "items": {
      -                "properties": {
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "url": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "url"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "publisher": {
      -              "properties": {
      -                "name": {
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "format": "uri",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "name",
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "verification_status": {
      -              "enum": [
      -                "verified",
      -                "pending",
      -                "unknown"
      -              ],
      -              "type": "string"
      -            },
      -            "version": {
      -              "description": "Revision of exactly the material served: for an article the snapshot content hash (the HTML ETag value); for a dataset record the dataset revision it was published in, not the published filename. Null when unknown.",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            }
      -          },
      -          "required": [
      -            "contract",
      -            "id",
      -            "canonical_url",
      -            "publisher",
      -            "version",
      -            "cite_as",
      -            "primary_sources",
      -            "verification_status"
      -          ],
      -          "type": "object"
      -        },
      -        "slug": {
      -          "type": "string"
      -        },
      -        "title": {
      -          "type": "string"
      -        },
      -        "url": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "slug",
      -        "title",
      -        "url",
      -        "provenance"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "calendar": {
      -    "items": {
      -      "properties": {
      -        "date": {
      -          "type": "string"
      -        },
      -        "label": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "label",
      -        "date"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "cautions": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "complaintUrl": {
      -    "type": "string"
      -  },
      -  "deadlines": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "escalation": {
      -    "items": {
      -      "properties": {
      -        "how": {
      -          "type": "string"
      -        },
      -        "name": {
      -          "type": "string"
      -        },
      -        "source": {
      -          "type": "string"
      -        },
      -        "status": {
      -          "enum": [
      -            "open",
      -            "later",
      -            "conditional",
      -            "closed"
      -          ],
      -          "type": "string"
      -        },
      -        "statusNote": {
      -          "type": "string"
      -        },
      -        "when": {
      -          "type": "string"
      -        },
      -        "who": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "name",
      -        "when",
      -        "how",
      -        "who",
      -        "status",
      -        "statusNote"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "firstSteps": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "headline": {
      -    "type": "string"
      -  },
      -  "letters": {
      -    "items": {
      -      "properties": {
      -        "body": {
      -          "type": "string"
      -        },
      -        "kind": {
      -          "enum": [
      -            "complaint",
      -            "data_request"
      -          ],
      -          "type": "string"
      -        },
      -        "purpose": {
      -          "type": "string"
      -        },
      -        "title": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "kind",
      -        "title",
      -        "purpose",
      -        "body"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "service": {
      -    "properties": {
      -      "id": {
      -        "type": "string"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "why": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id",
      -      "title",
      -      "why"
      -    ],
      -    "type": "object"
      -  },
      -  "statutoryReply": {
      -    "description": "UK/EU whole native complaint-reply cell with all conditions, caveats and quotations. Personal scope and statutory due date remain unknown. Null outside this cohort.",
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  },
      -  "verdict": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "headline",
      -  "verdict",
      -  "firstSteps",
      -  "escalation",
      -  "deadlines",
      -  "calendar",
      -  "letters",
      -  "service",
      -  "cautions",
      -  "articles",
      -  "complaintUrl"
      -]
  4. Changed1 schema field changed
    • addedOutput schema / properties / statutoryReply
      Added value: +{
      +  "description": "UK/EU whole native complaint-reply cell with all conditions, caveats and quotations. Personal scope and statutory due date remain unknown. Null outside this cohort.",
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  5. Changed1 schema field changed
    • changedOutput schema / properties / articles / items / properties / provenance / properties / version / description
      Previous value: -"Revision of exactly the material served: for an article the snapshot content hash (the HTML ETag value); for a dataset record the dataset revision it was published in, since the published file is named by the hash of its own content and meta.version plus datasets/index.json resolve that filename. Null when unknown."New value: +"Revision of exactly the material served: for an article the snapshot content hash (the HTML ETag value); for a dataset record the dataset revision it was published in, not the published filename. Null when unknown."
  6. Changed4 schema fields changed
    • addedInput schema / properties / today
      Added value: +{
      +  "description": "The client's current date (YYYY-MM-DD) for the calendar. Optional; defaults to the server's date.",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / calendar
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "date": {
      +        "type": "string"
      +      },
      +      "label": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "label",
      +      "date"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / letters
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "body": {
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "complaint",
      +          "data_request"
      +        ],
      +        "type": "string"
      +      },
      +      "purpose": {
      +        "type": "string"
      +      },
      +      "title": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "title",
      +      "purpose",
      +      "body"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "headline",
      -  "verdict",
      -  "firstSteps",
      -  "escalation",
      -  "deadlines",
      -  "service",
      -  "cautions",
      -  "articles",
      -  "complaintUrl"
      -]New value: +[
      +  "headline",
      +  "verdict",
      +  "firstSteps",
      +  "escalation",
      +  "deadlines",
      +  "calendar",
      +  "letters",
      +  "service",
      +  "cautions",
      +  "articles",
      +  "complaintUrl"
      +]
  7. Changed8 schema fields changed
    • addedInput schema / properties / holder
      Added value: +{
      +  "description": "Whose account it is. Optional; without it eligibility is stated, not decided.",
      +  "enum": [
      +    "individual",
      +    "small_business",
      +    "company"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / escalation / items / properties / source
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / escalation / items / properties / status
      Added value: +{
      +  "enum": [
      +    "open",
      +    "later",
      +    "conditional",
      +    "closed"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / escalation / items / properties / statusNote
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / escalation / items / properties / who
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / escalation / items / required
      Previous value: -[
      -  "name",
      -  "when",
      -  "how"
      -]New value: +[
      +  "name",
      +  "when",
      +  "how",
      +  "who",
      +  "status",
      +  "statusNote"
      +]
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "headline",
      -  "firstSteps",
      -  "escalation",
      -  "deadlines",
      -  "service",
      -  "cautions",
      -  "articles",
      -  "complaintUrl"
      -]New value: +[
      +  "headline",
      +  "verdict",
      +  "firstSteps",
      +  "escalation",
      +  "deadlines",
      +  "service",
      +  "cautions",
      +  "articles",
      +  "complaintUrl"
      +]
  8. Added

TDQS

A3.7/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description discloses output shapes, byte caps, overflow retry behavior, non-truncation, unverified stage semantics, missing personal dates, statutory-reply caveats, legal-advice limits, and privacy handling. This is unusually rich behavioral context for an assessment tool.

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 description is long and front-loads transport mechanics before explaining the tool's purpose. Much of the serialization detail duplicates schema descriptions, and the substantive assessment content is buried mid-paragraph.

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 complex, multi-parameter assessment tool, the description covers outputs, limitations, privacy constraints, and legal caveats, and an output schema already exists. It is nearly complete, though some required parameter semantics remain under-explained.

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 60%, and the description adds meaningful context for `holder`, `stage`, `today`, `format`, and `textMode`. It still leaves `amount`, `sanctions`, `locale`, and the individual `problem` values largely unexplained beyond their enum labels.

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 names the specific assessment domain and enumerates the bank problems covered, plus outputs such as the escalation ladder and complaint letters. It is clear what the tool does, but the opening is dominated by transport mechanics and no sibling alternative is named.

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 listed problem scenarios imply when to use the tool, and the description gives specific guidance for `holder` and `textMode=summary`. However, it does not explicitly compare this tool with alternatives or state when not to use it.

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