Skip to main content
Glama

SOS.city public record

Buy a bank watch or report

order_bank_report

Start a checkout for a Bank desert watch (state, regional, national, closing soon, branch sites) or a one-time report (market brief, acquisition screen, merger impact). Returns a Stripe link for the person who pays. See get_store for prices.

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": {
      "product": "<product>",
      "email": "<email>",
      "agree_data_use": "<agree_data_use>"
    },
    "name": "order_bank_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
emailYes
scopeNoFor reports: the market, deal or target
statesNo2-letter states, comma-separated
productYes
agree_data_useYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-idempotent, open-world mutation, and the description adds the key behavioral fact that the call returns a Stripe link for the payer rather than completing payment. It does not say whether a checkout/order record is created server-side, whether repeated calls create duplicate sessions (relevant given idempotentHint=false), or whether email is used to send the link.

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 tight sentences with the product taxonomy front-loaded and the return value stated immediately after. The only slightly wasteful phrasing is 'for the person who pays', which could be folded into the return-value clause.

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

Completeness3/5

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

It covers the return value (a Stripe link), which matters since there is no output schema. For a non-idempotent, open-world payment-initiation tool with 60% of parameters undocumented, it should also explain the role of email and agree_data_use and what happens after the link is followed.

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 only 40%, but the description partially compensates by mapping product categories to the enum (state/regional/national/closing soon/branch sites vs. the three report types) and by clarifying that 'scope' applies to reports. It says nothing about the required email or the agree_data_use consent flag, leaving meaningful gaps at low schema coverage.

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 uses a specific verb and resource ('Start a checkout for a Bank desert watch ... or a one-time report') and enumerates the product variants, so the agent knows exactly what the tool initiates. It names get_store for pricing, but does not distinguish itself from the generic 'buy' sibling, so it falls short of full sibling differentiation.

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?

Usage is implied by the product list and the pointer to get_store for prices gives one concrete cross-reference. However, there is no guidance on when to use this versus the generic 'buy' tool, no prerequisites (e.g. must a price lookup happen first), and no when-not-to-use conditions.

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