Skip to main content
Glama

Get user summary / health factor

get_user_summary
Read-only

A wallet's aggregate position and health factor. Omit chainId and both versions cover every chain they serve, stating which under 'chainsCovered'; there is no need to loop over chains yourself. 'chainsNotServed', when present, lists chains this API holds no market on: Aave supports the chain, there is nothing here to read, so an empty result for one of them is not an answer about that chain, and asking again returns the same nothing. Ask for one of those chains on its own and the reply is the scope alone, with no totals: a zero would read as a real balance. v4 returns a cross-chain summary (lowest health factor, totals, net APY). v3 has no cross-market aggregate, so it returns one entry per market the wallet actually holds a position in, each with its own health factor; 'marketsWithPosition': 0 means the wallet holds no v3 position anywhere, not that the read was narrow or that the wallet is empty: token balances are not here. For what it holds, pass 'user' to get_markets, which returns walletBalance per reserve. This is the lending position and only that. A wallet's Aave holdings also include its Safety Module stake (get_safety_module) and Savings GHO (get_sgho_vault), neither of which is a reserve and neither of which appears in any figure here, so a portfolio answer built from this alone understates what the wallet holds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
userYesWallet address, 0x-prefixed (40 hex chars).
chainIdNoChain id to restrict to, e.g. 1 for Ethereum. Omit the argument entirely to cover every chain.
versionNoProtocol version (default all).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark this as read-only and non-destructive, and the description adds substantial behavioral context: chain-coverage behavior, v4 vs v3 response shapes, the meaning of marketsWithPosition: 0, and the fact that token balances, Safety Module stake, and Savings GHO are excluded. No contradiction with annotations.

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

Conciseness5/5

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

The description is long, but the density is justified: it covers chain semantics, version differences, edge-case interpretation, and exclusions with almost no filler. The most important purpose statement comes first, and every sentence contributes operational guidance.

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?

With no output schema, the description carries the full burden of explaining return behavior, and it succeeds: it names response fields like 'chainsCovered', 'chainsNotServed', and 'marketsWithPosition', describes v4's cross-chain summary versus v3's per-market entries, and clarifies how zeros and empty results should be interpreted. This is complete enough for an agent to invoke and interpret the result 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?

The input schema already documents all three parameters with 100% coverage. The description adds meaning beyond the schema by explaining the effect of omitting chainId, that both versions cover all served chains, and how version changes the response structure. This is above the baseline for fully-schema-documented parameters.

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 wallet's aggregate position and health factor,' giving a specific verb, resource, and scope. It then explicitly distinguishes the tool from get_markets, get_safety_module, and get_sgho_vault, so an agent can tell exactly which concept this covers.

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?

The description gives explicit usage guidance: omit chainId to cover all chains, do not loop over chains, treat chainsNotServed as genuinely absent markets, and use get_markets for token balances. It also names excluded alternatives (Safety Module and Savings GHO), making when-not-to-use crystal clear.

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