Skip to main content
Glama

Get reserve details

get_reserve_details
Read-only

Deep detail for a single reserve (rates, caps, risk parameters, utilisation, the interest-rate curve, token addresses) on v3 or v4. Every rate and percentage is a percent ('3.32' means 3.32%), named with a Pct suffix. On v4, utilisation and the rate curve are hub-wide, shared by every spoke drawing on the asset. Two v4 fields whose meaning the numbers do not give away: 'collateralFactorPct' is the liquidation boundary itself, because v4 has no separate liquidation threshold - do not look for one - so a position drawn to its full borrow limit sits at health factor 1.0; and 'liquidityFeePct' is the protocol's share of borrower interest, already netted out of supplyApyPct, so treating it as a user cost double-counts it (supplyApy = borrowApy x utilisation x (1 - liquidityFee), if you want to check). This is also where the asset's price lives: 'priceUsd', with 'priceSource' naming who priced it, and no listing carries either - get_markets quotes no price at all, so what an asset is worth on Aave is answered here. Use get_markets first to get the reserveId (v4) or market+token (v3).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tokenNov3 only: underlying token address.
marketNov3 only: market pool address (from get_markets).
chainIdNov3 only: chain id (positive integer).
versionNoOptional: inferred from the reserve selector ('reserveId' is v4, 'market'+'token'+'chainId' is v3). Send it to be explicit, or if you somehow set both.
reserveIdNov4 only: the reserveId from get_markets, copied verbatim.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / version / description
      Previous value: -"Protocol version (v3 or v4; required)."New value: +"Optional: inferred from the reserve selector ('reserveId' is v4, 'market'+'token'+'chainId' is v3). Send it to be explicit, or if you somehow set both."
    • removedInput schema / required
      Removed value: -[
      -  "version"
      -]
  2. Changed2 schema fields changed
    • removedInput schema / properties / reserve
      Removed value: -{
      -  "description": "v4 only: reserveId (from get_markets).",
      -  "type": "string"
      -}
    • addedInput schema / properties / reserveId
      Added value: +{
      +  "description": "v4 only: the reserveId from get_markets, copied verbatim.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already carry readOnlyHint=true and destructiveHint=false, and the description does not contradict them, so this is not a mere annotation echo. It adds substantial behavioral context beyond annotations: the Pct-suffix percent convention ('3.32' means 3.32%), the v4 hub-wide sharing of utilisation and the rate curve, the warning that collateralFactorPct is the liquidation boundary itself, and the double-counting warning for liquidityFeePct (supplyApy = borrowApy x utilisation x (1 - liquidityFee)). These are exactly the non-obvious facts an agent needs to interpret results correctly.

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 long (~300 words), but nearly every sentence carries a non-obvious fact an agent could not infer from names like 'collateralFactorPct' or 'liquidityFeePct'. It front-loads the core purpose and scoping first, then layers the field interpretations. It could trim the parenthetical 'if you want to check' formula, but overall the density of useful content earns its length.

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 carries the burden of explaining the return data, and it does so extensively: percent units, v4 hub-wide behaviour, the two ambiguous v4 fields, and the price fields with their source. Minor gaps remain — it does not enumerate every v3 vs v4 difference or describe the cap structure in the same depth as the risk parameters — but for a 5-parameter, zero-output-schema tool with substantial domain complexity, it is close to complete.

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 description coverage is 100%, so the baseline is 3. The description's parameter-related contribution is thin: it explains the v3/v4 selector pattern and that version is optional when the selector is unambiguous, but the schema itself already documents each parameter (including 'copied verbatim' for reserveId). Most of the description's semantic depth concerns output fields, not parameters, so it does not exceed the schema-covered 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?

The description opens with a specific verb and resource: 'Deep detail for a single reserve (rates, caps, risk parameters, utilisation, the interest-rate curve, token addresses) on v3 or v4.' This immediately distinguishes it from sibling list-style tools like get_markets, and the sentence 'get_markets quotes no price at all, so what an asset is worth on Aave is answered here' explicitly separates its scope from a sibling.

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?

Explicit when-to-use and sequencing guidance is present: 'Use get_markets first to get the reserveId (v4) or market+token (v3).' It also gives an exclusion rule ('get_markets quotes no price at all') and warns about the collateralFactorPct misunderstanding ('do not look for one'). This is exemplary when/not-when guidance.

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