Skip to main content
Glama

Borro

Prepare: buy a call or a put

buy_option
Read-onlyIdempotent

Unsigned transactions to buy options from the best ask of a series (or a given ask with order_id), checked on chain: exact approval of the premium, then fillAsk with that premium as the most it may take. A fill takes the whole ask or leaves at least 0.001 of a share. Returns the cost, Borro's share, the break-even and what it pays at expiry.

Input Schema

NameRequiredDescriptionDefault
typeNocall or put
expiryNothis (default), next, or a Friday's date like 2026-10-16
sharesYesShares to buy, in whole units as a decimal string, like "1.5"
strikeNoThe strike in dollars, like "250"
symbolYesA stock on Borro by its ticker, like NVDA or AAPL (markets lists every one)
walletYesThe wallet's address (0x...); the transactions are built for it to sign
order_idNoBuy from this ask instead of the best one
max_premiumNoThe most to pay in all, USDG (optional), in whole units as a decimal string, like "1.5"

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial detail beyond the readOnly/idempotent annotations: the output is unsigned and must be signed by the wallet, the premium is approved exactly, and the fill either takes the whole ask or leaves at least 0.001 of a share. It also enumerates what is returned (cost, Borro's share, break-even, payoff at expiry), resolving the apparent tension between readOnlyHint=true and a state-changing swap.

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?

One dense sentence, front-loaded with the verb and the primary routing decision (best ask vs. order_id), followed by the mechanics and return values. It is long but nearly every clause carries information; only the 'checked on chain' phrasing is slightly compressed and hard to parse on first read.

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?

For an 8-parameter, no-output-schema preparation tool it covers the essentials: what gets built, how the fill is bounded, and what the caller receives (cost, break-even, expiry payoff). It stops short of stating prerequisites (discovering a series via `options`, token approval state) or what happens if max_premium is exceeded.

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 is 3, but the description adds semantic weight: order_id means buying a specific ask instead of the best one, and max_premium is framed as the ceiling the fill 'may take'. The partial-fill floor of 0.001 share also clarifies how `shares` behaves in practice.

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?

States a concrete verb and resource ('Unsigned transactions to buy options') plus the exact source of the fill ('best ask of a series (or a given ask with order_id)'). The build-then-fillAsk mechanism makes it unambiguously distinct from write_option, post_bid, and claim_option even though siblings are not 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?

The order_id clause implies a choice between buying from the best ask and a specific ask, which is useful context. However, there is no explicit statement of when to use this versus siblings like write_option or post_bid, and no prerequisites such as needing the series first from `options` or holding the quote token.

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