Skip to main content
Glama
Charlie85270

derive-options-mcp

by Charlie85270

Protect a holding

propose_hedge
Read-only

Protect a crypto holding at a chosen price level with hedge strategies priced against live order books, revealing whole-position payoffs, protection limits, and cost as a share of the holding.

Instructions

Given a holding and the level they want protected, return ways to protect it, priced against the live book. Use this for 'I hold 5000 dollars of ETH and want to protect it', 'how do I put a floor under my BTC'. The payoff returned is the WHOLE position — the coin plus the options — not the options alone, which is the only honest way to show what protection does. Says plainly where each one stops protecting and what it costs as a share of the holding.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
currencyYes
protect_atNoThe price they want floored. Defaults to 10% below spot.
coin_amountNoHow much of the coin they hold.
horizon_daysNoHow long they want protection for. Default 30.
notional_usdNoWhat the holding is worth today. Give this or coin_amount.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
spotYes
optionsYes
currencyYes
rejectedYes
protectAtYes
coinAmountYes
notionalUsdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

The description adds substantial behavior beyond the readOnlyHint and openWorldHint annotations: it discloses that the returned payoff is the whole position, not just the options, and that each option plainly states where protection stops and what it costs as a share of the holding. This is exactly the kind of contextual 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.

Conciseness5/5

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

The description is appropriately sized at three sentences. It front-loads the core purpose, gives concrete examples, and then states the critical output semantics without wasting words.

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?

Given the output schema and annotations, the description covers the key contextual details an agent needs: what the tool does, when to invoke it, and crucially what the returned protection payoff represents. No important behavioral gap remains for selecting and using this tool.

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?

With 67% schema coverage, the schema already documents protect_at, coin_amount, horizon_days, and notional_usd. The description adds useful natural-language intent mapping—'holding' maps to coin_amount/notional_usd, 'floor under my BTC' maps to currency and protect_at—which helps the agent translate user phrasing into parameters.

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 and resource: given a holding and a protection level, return protection strategies priced against the live book. The examples and the whole-position payoff explanation make it clearly distinct from generic sibling tools like propose_trades or list_strategies.

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

Usage Guidelines4/5

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

It gives clear, explicit use cases with concrete natural-language examples: 'I hold 5000 dollars of ETH and want to protect it' and 'how do I put a floor under my BTC.' It does not state when not to use it or name alternatives, so it stops short of a full when/when-not/alternative structure.

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