Skip to main content
Glama

Verify issuance building size

verify_building_size
Read-onlyIdempotent

Verify issuance building size (Annex A vs ABS-EE). Units matter: mismatched units return receipt status UNITS_INCOMMENSURATE, not CONFLICT/DENY. A deal or loan outside coverage returns UNVERIFIED.

Input Schema

NameRequiredDescriptionDefault
dealYesDeal name or alias, e.g. 'WFCM 2020-C58'.
loan_idYesLoan / entity id within the deal, e.g. '25'.
claimed_unitNoOptional unit, e.g. square_feet or units.
claimed_valueNoClaim to receipt. Required.

Output Schema

NameRequiredDescriptionDefault
as_ofYes
claimYesAdjudication: claimed_value, tolerance_*, within_tolerance, rationale.
messageYes
receiptYessf-receipt 0.3; schema https://cmdrvl.com/schemas/sf-receipt/v0/schema.json; context https://cmdrvl.com/contexts/obs-receipt/v0/context.json
claim_verdictYesCaller-claim verdict; DENY only here.
resolved_dealYesDeal resolution: matched, id, cik, candidates.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • changedOutput schema / properties / claim / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / claim / description
      Previous value: -"Claim-adjudication detail."New value: +"Adjudication: claimed_value, tolerance_*, within_tolerance, rationale."
    • removedOutput schema / properties / claim / properties / abs_diff
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / basis
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "$ref": "#/properties/claim/properties/claimed_value/anyOf/0"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / claimed_basis
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / claimed_unit
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / claimed_value
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": [
      -        "number",
      -        "string"
      -      ]
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / claimed_value_date
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / rationale
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / claim / properties / rel_bps_diff
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / tolerance_kind
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / tolerance_used
      Removed value: -{
      -  "type": [
      -    "number",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / properties / within_tolerance
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / claim / required
      Removed value: -[
      -  "claimed_value",
      -  "tolerance_kind",
      -  "tolerance_used",
      -  "abs_diff",
      -  "rel_bps_diff",
      -  "within_tolerance",
      -  "basis",
      -  "rationale"
      -]
    • changedOutput schema / properties / resolved_deal / additionalProperties
      Previous value: -falseNew value: +true
    • addedOutput schema / properties / resolved_deal / description
      Added value: +"Deal resolution: matched, id, cik, candidates."
    • removedOutput schema / properties / resolved_deal / properties / candidates
      Removed value: -{
      -  "description": "Suggested deal ids when unmatched/ambiguous.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / resolved_deal / properties / cik
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / resolved_deal / properties / id
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / resolved_deal / properties / matched
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / resolved_deal / properties / name
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / resolved_deal / properties / query
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / resolved_deal / required
      Removed value: -[
      -  "query",
      -  "matched",
      -  "id",
      -  "name",
      -  "cik",
      -  "candidates"
      -]
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, closed-world behaviour, so the description's added value is the status semantics: UNITS_INCOMMENSURATE is explicitly distinguished from CONFLICT/DENY, and out-of-coverage inputs yield UNVERIFIED rather than a failure. That is exactly the kind of non-obvious outcome behaviour an agent needs before calling. It does not describe the success status or error handling beyond these cases.

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

Conciseness5/5

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

Three short sentences, front-loaded with the identity of the check and followed immediately by the two edge-case behaviours that matter. No filler and no restatement of the title.

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

Completeness4/5

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

With annotations, a full-coverage schema, and an output schema, the description only needs to supply the domain-specific status semantics, which it does for two of the three edge cases. The happy-path result and the meaning of the Annex A vs ABS-EE comparison itself are left implicit.

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 baseline would be 3, but 'Units matter' adds real meaning to claimed_unit/claimed_value: an agent learns that a unit mismatch is surfaced as a distinct receipt status rather than a substantive disagreement, which should shape how the claim is submitted. It adds nothing for deal or loan_id beyond the schema examples.

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?

States a specific verb+resource ('Verify issuance building size') and names the two source documents compared (Annex A vs ABS-EE), which separates it from the other verify_* siblings by resource. It stops short of explicitly routing an agent away from a neighbouring tool, so it is clear rather than exemplary.

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 description tells you what outcomes mean (units mismatch, out-of-coverage) but never says when to reach for this tool versus verify_deal_field, verify_loan_field, or the other verify_* siblings. Usage is implied by the resource name only.

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.