Skip to main content
Glama
beepboop2025

Undertow MCP

Gold sale, FX and cash availability scenario

gold_cash_realisation
Read-onlyIdempotent

Calculate gold sale proceeds and cash gates from supplied quantity, fineness, bid, fees, FX, and settlement inputs; returns arithmetic and reasons cash is withheld.

Instructions

Calculate gold sale proceeds and cash gates from caller inputs. Decimal strings: kg, fineness (0,1], USD/troy-oz bid, USD fees, currency/USD FX (USD=1). Use aware ISO clocks. Returns arithmetic and withheld-cash reasons; no fetch, storage, execution or verified balance.

Input Schema

NameRequiredDescriptionDefault
cutoffYes
clearedYes
fx_asofYes
pledgedYes
fees_usdYes
finenessYes
fx_fee_bpsYes
quote_asofYes
quantity_kgYes
settlement_atYes
bid_usd_per_ozYes
fx_valid_untilYes
quote_currencyYes
fx_quote_per_usdYes
access_restrictedYes
quote_valid_untilYes
max_quote_age_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false consistent with a calculator. The description adds real value: it discloses what the tool returns ('arithmetic and withheld-cash reasons') and reasserts 'no fetch, storage, execution or verified balance', plus a behavioral requirement to 'Use aware ISO clocks'.

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?

Purpose is front-loaded in the first sentence and the rest is dense with unit/format facts. No filler, though the telegraphic style demands careful reading.

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?

For a 17-parameter computation with no output schema and 0% schema descriptions, the definition covers the arithmetic inputs and return nature but omits the meaning of the boolean/gating parameters that determine when cash is withheld. An agent can call it but may not understand how cleared/pledged/access_restricted affect the result.

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 description coverage is 0%, so the description must carry the load. It supplies units and meaning for most inputs (kg, fineness range (0,1], USD/troy-oz bid, USD fees, FX with USD=1, ISO clocks), which is genuinely useful. But it leaves fx_fee_bps, cleared, access_restricted, pledged and max_quote_age_seconds undocumented, and those drive the 'withheld-cash' gating the tool advertises.

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 and resource: 'Calculate gold sale proceeds and cash gates from caller inputs.' The telemetry (pure arithmetic, no fetch) implicitly separates it from sibling tools like crypto_exit_check or venue_price_reconciliation, though no sibling 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?

Boundaries are stated in the negative ('no fetch, storage, execution or verified balance'), which tells the agent this is a pure calculator rather than a data-retrieval or execution tool. However, no positive when-to-use condition or alternative sibling is named for routing.

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