Skip to main content
Glama

Borro

Prepare: close a pair

close_pair
Read-onlyIdempotent

Unsigned transactions to close the wallet's newest open pair of these two stocks: the pair's own part of the short closed (a basket leg or a short of its own on the same stock stays open, listed in stays_open), the long's lent stock taken back (what is free now, if part is on loan). If something else already closed part of the pair's short, this closes what is left and the note says so.

Input Schema

NameRequiredDescriptionDefault
longYesA stock on Borro by its ticker, like NVDA or AAPL (markets lists every one)
shortYesA 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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

It discloses meaningful behavior beyond the annotations: the returned transactions are unsigned and built for the wallet to sign, a basket leg or an independent short on the same stock stays open and is surfaced in stays_open, and a partially closed short is handled with an explanatory note. This does not contradict readOnlyHint=true, since the tool only prepares transactions rather than executing a close. Missing only whether signing/approval steps or gas considerations follow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

Purpose is front-loaded in the opening clause, but the sentence is long and heavily parenthetical, forcing the reader through nested asides ('a basket leg or a short of its own on the same stock stays open, listed in stays_open') to recover the two effects. The content earns its place, but the packaging could be split into shorter statements.

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?

With no output schema, the description usefully names the key return fields (stays_open, the note) and explains the partial-close edge case, which is what an agent needs before invoking. Remaining gap: no mention of the failure mode when no open pair of these stocks exists.

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 parameter mechanics are already documented; the description nonetheless adds role semantics the schema lacks, making clear that 'long' is the side whose lent stock is recalled and 'short' is the side being closed. It does not, however, say what happens if the two tickers are not in an open pair together.

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 states a specific verb and resource: build unsigned transactions that close the wallet's newest open pair of two named stocks, and it clarifies which legs of the position are affected. It distinguishes itself from a simple position close by scoping to a pair ('newest open pair of these two stocks'), though it never names close_long/close_short/open_pair as the alternatives.

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 pair-scoped framing and by the 'newest open pair' rule, which tells the agent which pair is targeted when several exist. However, there is no explicit statement of when to choose this over close_long, close_short, or open_pair, and no stated prerequisites (e.g., that the wallet must hold an open pair of these two tickers).

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