Skip to main content
Glama

Compare quotes and costs across exchanges

compare_venue_prices
Read-onlyIdempotent

Use to choose where to trade one perpetual futures coin: bid, ask, spread, trading fee (your account's rate or the published one) and 7-day execution, per exchange. With side (and size_base or notional_usd): ranked by price plus taker fee plus a cost for poor execution; hold_hours adds funding, exit fee. cheapest_venue: cheapest overall; best_venue: cheapest you can trade on now (connected, allowed, enough margin); if they differ, say both. Not for one venue's depth (use get_order_book). No rebates. Next: preview_order with best_venue, or venue "best".

Input Schema

NameRequiredDescriptionDefault
sideNoOptional: rank by the all-in price for this side (the price you would take plus the venue's taker fee)
symbolYesBase coin, e.g. BTC
leverageNoFor the margin needed, e.g. 5
size_baseNoOptional, with side: size in the base coin, to see each venue's cost in USD and whether your free margin there covers it
hold_hoursNoOptional, with side: how long you expect to hold, in hours; adds funding at today's rate and the exit fee, and ranks by that total cost
notional_usdNoOr the size in USD

Output Schema

NameRequiredDescriptionDefault
as_ofYesWhen this comparison was made, ISO 8601 UTC
symbolYesBase coin
venuesYesOne entry per venue that lists the coin, in ranking order
best_venueNoWith side: the cheapest all-in venue you can use (connected, allowed, enough margin); without an account, the cheapest overall; null if none
neutralityYesCommercial relationships that could affect the order (none)
deprecationNoPresent only while this tool is deprecated: replacement, removal_date, changelog
ranking_basisYesHow the list is ordered
best_ask_venueYesFresh venue with the lowest ask (best to buy)
best_bid_venueYesFresh venue with the highest bid (best to sell)
cheapest_venueNoWith side: the cheapest all-in real venue, whether or not you can use it (fresh quotes only); null if none

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses the ranking formula (price + taker fee + execution cost), that hold_hours adds funding and exit fee, that fees use the account rate or published rate, that rebates are excluded, and the exact criteria separating best_venue (connected, allowed, enough margin) from cheapest_venue. The only residual gap is the undefined nature of the 'cost for poor execution' term, which is the one quantitative behavior left opaque.

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?

Front-loaded with the use case, then conditional behavior, then exclusions and next step — no filler sentences. It is dense to the point of being telegraphic ('No rebates.', 'cheapest_venue: ... best_venue: ...') and relies on field names not present in the input schema, which slightly taxes readability.

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?

For a multi-parameter read tool with an output schema, it covers everything an agent needs: what is computed, how ranking changes with optional inputs, which output field to act on, the constraint set behind best_venue, and which tool to call next. It even resolves the ambiguity of two similar output fields that the output schema alone would not disambiguate.

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 coverage is 100% and the schema text already explains side, size_base, hold_hours and notional_usd in nearly the same words as the description. The description does add the coupling rule ('With side (and size_base or notional_usd)') and implicitly explains leverage via 'enough margin', but with the schema doing the heavy lifting this sits at the baseline.

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 specific verb and resource ('choose where to trade one perpetual futures coin') and enumerates exactly what is compared per exchange: bid, ask, spread, trading fee, 7-day execution. It explicitly excludes the nearest overlapping sibling ('Not for one venue's depth (use get_order_book)'), so an agent can discriminate 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?

Gives the positive case (picking a venue for one perp), the conditional case (supply side plus size_base/notional_usd to get all-in ranking), the negative case with a named alternative (get_order_book for depth), and the follow-on step (preview_order with best_venue or venue "best"). When-to-use, when-not-to-use and a named alternative are all present.

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