Skip to main content
Glama

Compare a rate against the SBOR benchmark

compare_rate
Read-only

Given a rate you have been offered, say whether it is above or below the market for that currency, and by how much. This is the main reason SBOR exists. Recommended use: if a borrow offer is more than 50 basis points above the benchmark, stop and ask a human. Use SBOR to stop, never to start. For a USDC loan against bitcoin (cbBTC or WBTC) on Base or Ethereum, compare with BTC-COLLATERAL-USDC; for lending on Stacks, with the index for the currency. This tool refuses rather than guesses: an error result means there is no trustworthy answer, not that the rate is bad.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rateYesThe rate offered, as a percentage between 0 and 100. 4.2 means 4.2%, not 0.042.
sideYesWhether you would be borrowing or supplying.
indexYesWhich benchmark: a Stacks currency index, or BTC-COLLATERAL-USDC for borrowing USDC against bitcoin on Base and Ethereum.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds a critical behavioral trait beyond annotations: 'This tool refuses rather than guesses: an error result means there is no trustworthy answer, not that the rate is bad.' This clarifies error semantics, which is valuable and not present in annotations. It does not contradict annotations. A score of 4 reflects strong added transparency without going into exhaustive detail (e.g., no mention of rate limits or response format).

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 moderately long but each sentence adds distinct value: purpose, recommended use, index guidance, and error semantics. It is front-loaded with the core purpose and then layers practical advice. No redundancy or fluff, and the structure is logical. It earns a 4 for being efficient while covering multiple facets.

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?

Without an output schema, the description must convey what the tool returns, which it does ('say whether it is above or below... and by how much'). It also covers error behavior, which is critical. All three required parameters are explained in the schema, and the description adds usage context. Given the tool's moderate complexity (3 params, no nested objects), the description is complete enough for an agent to call it correctly.

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 all parameters are documented in the schema itself. The description adds meaningful context beyond the schema, particularly for the index parameter: it gives real-world scenarios ('For a USDC loan against bitcoin... compare with BTC-COLLATERAL-USDC; for lending on Stacks, with the index for the currency.'). This goes beyond a bare baseline of 3, adding practical selection logic that the schema does not provide.

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 states a clear verb ('compare') and resource ('a rate against the SBOR benchmark'), and explicitly says it outputs whether the rate is above or below the market and by how much. This directly distinguishes it from siblings like get_rate (which likely returns the benchmark) and compare_chains (which compares across chains).

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?

Provides a concrete, actionable trigger: 'if a borrow offer is more than 50 basis points above the benchmark, stop and ask a human.' Also gives specific guidance for selecting the index (e.g., 'for a USDC loan against bitcoin... compare with BTC-COLLATERAL-USDC') and the general principle 'Use SBOR to stop, never to start.' This is explicit, context-rich guidance that tells an agent exactly when and how to use the tool.

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.