Skip to main content
Glama

Ariadne Nexus Quantitative Engine

FINRA TRACE Secondary Debt Tape & Single-CUSIP Collar Structuring

get_debt_radar
Read-onlyIdempotent

Retrieves secondary-market FINRA TRACE dealer execution metrics (last clean price % of par, Z-spread over 10Y U.S. Treasury in bps, effective yield-to-worst %, dealer bid-ask spread in bps, and daily institutional block volume in USD) and solves a Black-Scholes zero-cost 1-year European option collar (put floor strike % and call cap strike %) for a single bond CUSIP or ticker. Use when: inspecting secondary-market dealer liquidity/spreads or structuring a zero-cost downside put / upside call collar for a single bond issue. Do not use when: calculating exact cashflow duration/convexity/DV01 for a custom face value (use get_cusip_valuation instead), or stress-testing a multi-bond portfolio across macro rate shocks (use run_portfolio_stress_test instead). Behavior: Read-only, deterministic market tape and option solver ($0.50 USD per call via apiKey or paymentToken; returns an x402/MPP paymentChallenge without charging if credentials are omitted).

Input Schema

NameRequiredDescriptionDefault
cusipNo9-character CUSIP identifier to query on the secondary debt tape (e.g., "912828ZG2", "037833EK1", "38141GZX8"; default: "912828ZG2").912828ZG2
apiKeyNoOptional Ariadne Nexus Developer API key ("nexus_live_...") for authenticated execution. May also be passed via the x-api-key HTTP header.
tickerNoIssuer ticker symbol to resolve if CUSIP is not specified (e.g., "RWA-AERO", "AAPL", "GS"; default: "RWA-AERO").RWA-AERO
paymentTokenNoOptional Stripe Shared Payment Token ("spt_...") or settled x402 payment receipt hash ("rcpt_...") for pay-per-call execution ($0.50 USD).
benchmark_ust_yieldNoReference 10-Year U.S. Treasury constant-maturity yield as a percentage used for spread and risk-free collar pricing (e.g., 4.15 for 4.15%; default: 4.15).

Output Schema

NameRequiredDescriptionDefault
tapeYesFINRA TRACE secondary market execution and liquidity metrics.
toolYesExecuted tool identifier ("get_debt_radar").
cusipYesResolved 9-character CUSIP identifier.
tickerNoIssuer ticker symbol.
receiptNoCryptographic payment or API key settlement receipt ID.
issuer_nameNoLegal name of the bond issuer.
collar_structuringYesZero-cost 1-year European option collar strikes (% of par) solved via Black-Scholes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / apiKey / description
      Previous value: -"Optional Ariadne Developer API key"New value: +"Optional Ariadne Nexus Developer API key (\"nexus_live_...\") for authenticated execution. May also be passed via the x-api-key HTTP header."
    • addedInput schema / properties / benchmark_ust_yield / default
      Added value: +4.15
    • changedInput schema / properties / benchmark_ust_yield / description
      Previous value: -"10-Year Treasury benchmark yield % (default: 4.15)"New value: +"Reference 10-Year U.S. Treasury constant-maturity yield as a percentage used for spread and risk-free collar pricing (e.g., 4.15 for 4.15%; default: 4.15)."
    • addedInput schema / properties / cusip / default
      Added value: +"912828ZG2"
    • changedInput schema / properties / cusip / description
      Previous value: -"9-character CUSIP identifier (default: 912828ZG2)"New value: +"9-character CUSIP identifier to query on the secondary debt tape (e.g., \"912828ZG2\", \"037833EK1\", \"38141GZX8\"; default: \"912828ZG2\")."
    • changedInput schema / properties / paymentToken / description
      Previous value: -"Optional Stripe Shared Payment Token"New value: +"Optional Stripe Shared Payment Token (\"spt_...\") or settled x402 payment receipt hash (\"rcpt_...\") for pay-per-call execution ($0.50 USD)."
    • addedInput schema / properties / ticker / default
      Added value: +"RWA-AERO"
    • changedInput schema / properties / ticker / description
      Previous value: -"Issuer ticker symbol (default: RWA-AERO)"New value: +"Issuer ticker symbol to resolve if CUSIP is not specified (e.g., \"RWA-AERO\", \"AAPL\", \"GS\"; default: \"RWA-AERO\")."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "collar_structuring": {
      +      "description": "Zero-cost 1-year European option collar strikes (% of par) solved via Black-Scholes.",
      +      "properties": {
      +        "downside_floor_strike_pct": {
      +          "description": "Protective put floor strike as a percentage of par.",
      +          "type": "number"
      +        },
      +        "net_upfront_premium_usd": {
      +          "description": "Net upfront premium in USD (0.00 for zero-cost collar).",
      +          "type": "number"
      +        },
      +        "pricing_model": {
      +          "description": "Mathematical option pricing model applied.",
      +          "type": "string"
      +        },
      +        "structure_type": {
      +          "description": "Option hedge structure classification.",
      +          "type": "string"
      +        },
      +        "upside_cap_strike_pct": {
      +          "description": "Covered call cap strike written to fund the put, as % of par.",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "downside_floor_strike_pct",
      +        "upside_cap_strike_pct",
      +        "net_upfront_premium_usd"
      +      ],
      +      "type": "object"
      +    },
      +    "cusip": {
      +      "description": "Resolved 9-character CUSIP identifier.",
      +      "type": "string"
      +    },
      +    "issuer_name": {
      +      "description": "Legal name of the bond issuer.",
      +      "type": "string"
      +    },
      +    "receipt": {
      +      "description": "Cryptographic payment or API key settlement receipt ID.",
      +      "type": "string"
      +    },
      +    "tape": {
      +      "description": "FINRA TRACE secondary market execution and liquidity metrics.",
      +      "properties": {
      +        "benchmark_ust_10y_yield_pct": {
      +          "description": "Reference 10Y U.S. Treasury benchmark yield %.",
      +          "type": "number"
      +        },
      +        "bid_ask_spread_bps": {
      +          "description": "Dealer round-trip bid-ask liquidity spread in basis points.",
      +          "type": "number"
      +        },
      +        "daily_reported_volume_usd": {
      +          "description": "24-hour reported institutional par volume in USD.",
      +          "type": "number"
      +        },
      +        "effective_yield_to_worst_pct": {
      +          "description": "Effective yield-to-worst (YTW) as a percentage.",
      +          "type": "number"
      +        },
      +        "last_clean_price": {
      +          "description": "Most recent institutional print clean price as % of par.",
      +          "type": "number"
      +        },
      +        "secondary_spread_bps": {
      +          "description": "Credit spread over benchmark U.S. Treasury in basis points.",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "last_clean_price",
      +        "secondary_spread_bps",
      +        "effective_yield_to_worst_pct",
      +        "bid_ask_spread_bps"
      +      ],
      +      "type": "object"
      +    },
      +    "ticker": {
      +      "description": "Issuer ticker symbol.",
      +      "type": "string"
      +    },
      +    "tool": {
      +      "description": "Executed tool identifier (\"get_debt_radar\").",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "tool",
      +    "cusip",
      +    "tape",
      +    "collar_structuring"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, but the description adds material context beyond them: deterministic pricing, the $0.50 USD per-call cost, the apiKey/paymentToken auth path, and the specific behavior that an x402/MPP paymentChallenge is returned without charging when credentials are omitted. That last detail is exactly the kind of non-obvious behavior an agent needs.

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?

The description is dense and front-loads the highest-value content (what it returns, then when/when-not). Every clause is substantive, though the enumeration of five metric fields plus the solver output makes it long; not a sentence you could delete without losing information.

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?

An output schema exists, so return values need no explanation in prose. Given annotations, full schema coverage, and the named alternatives, the description covers purpose, selection criteria, cost/auth behavior, and determinism – nothing an agent needs to invoke it correctly is missing.

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 100% (each of the 5 params, including defaults and examples, is documented in the schema), so the schema already carries parameter meaning. The description adds the conceptual role of benchmark_ust_yield in collar pricing, but does not add syntax or format detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (retrieves/solves) and two concrete resources (FINRA TRACE dealer execution metrics and a Black-Scholes zero-cost 1-year collar), enumerating the exact output fields. It explicitly distinguishes itself from siblings get_cusip_valuation and run_portfolio_stress_test, so an agent can separate it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit 'Use when' and 'Do not use when' clauses, naming the alternative tool for each excluded case (get_cusip_valuation for DV01/duration, run_portfolio_stress_test for multi-bond macro stress). Nothing about tool selection is left to inference.

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