---
schema: "interfacedelta-service-md/1"
target_key: "sha256:673a681b803260faeab9ed7c571dba5e77b14834fba762aea3a08301c0250ebe"
origin: "https://mcp.aave.com"
protocols: ["mcp"]
observed_at: "2026-11-12T22:05:15.692Z"
generated_at: "2026-11-13T02:25:05.422Z"
record_url: "https://interfacedelta.com/atlas/sha256:673a681b803260faeab9ed7c571dba5e77b14834fba762aea3a08301c0250ebe"
record_api: "https://interfacedelta.com/api/v1/record/services/sha256:673a681b803260faeab9ed7c571dba5e77b14834fba762aea3a08301c0250ebe"
source: "InterfaceDelta atlas"
license_note: "Use of this record is governed by https://interfacedelta.com/terms."
---

# Service record: https://mcp.aave.com

## Identity
- Origin: https://mcp.aave.com
- Endpoints: https://mcp.aave.com/
- Protocols: mcp
- Registry names: com.aave/mcp
- First retained observation: 2026-11-12T22:05:15.692Z
- Latest observation: 2026-11-12T22:05:15.692Z

## Tools
- Tool 1: cancel\_order (mcp); inputs: orderId, signature; inputs omitted: 0; annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true}
- Tool 2: get\_aave\_guide (mcp); inputs: lookingFor, topic; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 3: get\_apy\_history (mcp); inputs: chainId, market, reserveId, side, token, version, window; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 4: get\_asset\_history (mcp); inputs: chainId, metric, token, version, window; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 5: get\_chains (mcp); inputs: version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 6: get\_emode\_categories (mcp); inputs: chainId, symbols, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 7: get\_governance\_proposal (mcp); inputs: includeDescription, proposalId; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 8: get\_hub\_assets (mcp); inputs: hubId, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 9: get\_hubs (mcp); inputs: chainId, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 10: get\_interest\_rate\_model (mcp); inputs: hubAssetId, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 11: get\_leverage\_quote (mcp); inputs: additionalCollateral, collateralReserve, debtReserve, enableCollateral, multiplier, slippagePct, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 12: get\_market\_history (mcp); inputs: id, scope, version, window; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 13: get\_markets (mcp); inputs: chainId, symbols, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 14: get\_multichain\_asset (mcp); inputs: chainId, symbol, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 15: get\_order\_status (mcp); inputs: orderId; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 16: get\_pending\_orders (mcp); inputs: chainIds, statuses, user; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 17: get\_position\_items (mcp); inputs: side, spokeId, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 18: get\_position\_swap\_quote (mcp); inputs: amount, buyReserve, enableCollateral, kind, sellPosition, slippagePct, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 19: get\_proposal\_payloads (mcp); inputs: proposalId; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 20: get\_proposal\_votes (mcp); inputs: limit, offset, proposalId, support; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 21: get\_protocol\_history (mcp); inputs: chainId, version, window; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 22: get\_repay\_with\_supply\_quote (mcp); inputs: amount, debtPosition, repayWithReserve, slippagePct, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 23: get\_reserve\_details (mcp); inputs: chainId, market, reserveId, token, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 24: get\_reserve\_holders (mcp); inputs: cursor, limit, reserveId, side, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 25: get\_risk\_premium (mcp); inputs: spokeId, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 26: get\_safety\_module (mcp); inputs: user; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 27: get\_sgho\_preview (mcp); inputs: action, amount, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 28: get\_sgho\_vault (mcp); inputs: user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 29: get\_spoke\_configs (mcp); inputs: hubId, spokeId, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 30: get\_started (mcp); inputs: none shown; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 31: get\_swap\_quote (mcp); inputs: amount, buy, chainId, kind, sell, slippagePct, user; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 32: get\_swappable\_tokens (mcp); inputs: chainIds; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 33: get\_transaction\_processed (mcp); inputs: operations, txHash, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 34: get\_user\_activity (mcp); inputs: chainId, cursor, market, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 35: get\_user\_positions (mcp); inputs: chainId, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 36: get\_user\_rewards (mcp); inputs: chainId, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 37: get\_user\_summary (mcp); inputs: chainId, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 38: get\_user\_summary\_history (mcp); inputs: chainId, user, version, window; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 39: get\_user\_vote (mcp); inputs: proposalId, user; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 40: get\_vault\_activity (mcp); inputs: chainId, user, vault, version, window; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 41: get\_vault\_preview (mcp); inputs: action, amount, chainId, vault, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 42: get\_vaults (mcp); inputs: chainId, cursor, owner, user, vault, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 43: get\_wallet\_balances (mcp); inputs: chainId, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 44: prepare\_action (mcp); inputs: action, amount, chainId, enableCollateral, market, max, native, permitDeadline; inputs omitted: 5; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 45: prepare\_cancel\_order (mcp); inputs: orderId; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 46: prepare\_claim\_rewards (mcp); inputs: chainId, ids, user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 47: prepare\_liquidation (mcp); inputs: amount, chainId, collateral, collateralToken, debt, debtToken, liquidator, market; inputs omitted: 3; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 48: prepare\_order (mcp); inputs: adapterContractSignature, permitDeadline, permitSignature, positionManagerSignature, quoteId, route, setCollateralSignature; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 49: prepare\_set\_collateral (mcp); inputs: chainId, enable, market, reserveId, sender, token, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 50: prepare\_set\_emode (mcp); inputs: categoryId, chainId, market, sender, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 51: prepare\_sgho\_action (mcp); inputs: action, amount, max, recipient, sender, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 52: prepare\_stkgho\_migrate (mcp); inputs: user, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
- Tool 53: prepare\_vault\_action (mcp); inputs: action, amount, asAToken, chainId, recipient, sender, vault, version; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}
Tools omitted: 3.

## Effect readings (AI)
- Tool 1 (cancel\_order): ◇ AI reading; state: counted; deletes (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 1 purpose: ◇ AI reading; Cancels an open order: relays a signed gasless cancellation, or returns an on-chain cancel payload for the holder to sign.; lens: tool-purpose-v1; model: not recorded.
- Tool 2 (get\_aave\_guide): ◇ AI reading; state: counted; reads (confidence 0.8); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 2 purpose: ◇ AI reading; Returns Aave protocol guidance for a chosen topic, or the full capability list when given a search phrase.; lens: tool-purpose-v1; model: not recorded.
- Tool 3 (get\_apy\_history): ◇ AI reading; state: counted; reads (confidence 0.92); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 3 purpose: ◇ AI reading; Returns a time series of supply or borrow interest rates for a lending reserve over a chosen window, on v3 or v4.; lens: tool-purpose-v1; model: not recorded.
- Tool 4 (get\_asset\_history): ◇ AI reading; state: counted; reads (confidence 0.87); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 5 (get\_chains): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 6 (get\_emode\_categories): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 6 purpose: ◇ AI reading; Lists v3 eMode categories per market with their IDs, LTV and liquidation thresholds, filterable by asset symbol or chain.; lens: tool-purpose-v1; model: not recorded.
- Tool 7 (get\_governance\_proposal): ◇ AI reading; state: counted; reads (confidence 0.924); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 7 purpose: ◇ AI reading; Returns the full record of one Aave DAO governance proposal, including its status, vote totals, quorum and lifecycle transaction hashes.; lens: tool-purpose-v1; model: not recorded.
- Tool 8 (get\_hub\_assets): ◇ AI reading; state: counted; reads (confidence 0.93); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 8 purpose: ◇ AI reading; Returns the assets in one Aave v4 hub, with aggregate supplied and borrowed amounts, interest rates and utilization.; lens: tool-purpose-v1; model: not recorded.
- Tool 9 (get\_hubs): ◇ AI reading; state: counted; reads (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 9 purpose: ◇ AI reading; Lists Aave v4 liquidity hubs with their IDs, addresses, chains and totals, optionally filtered by chain.; lens: tool-purpose-v1; model: not recorded.
- Tool 10 (get\_interest\_rate\_model): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 12 (get\_market\_history): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 13 (get\_markets): ◇ AI reading; state: counted; reads (confidence 0.92); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 14 (get\_multichain\_asset): ◇ AI reading; state: counted; reads (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 14 purpose: ◇ AI reading; Summarizes one asset's supply and borrow amounts and rates across all v4 chains, flagging the top supply yield and cheapest borrow.; lens: tool-purpose-v1; model: not recorded.
- Tool 15 (get\_order\_status): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 16 (get\_pending\_orders): ◇ AI reading; state: counted; reads (confidence 0.845); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 16 purpose: ◇ AI reading; Lists a wallet's orders across chains, newest first, optionally filtered by status, to recover lost order IDs.; lens: tool-purpose-v1; model: not recorded.
- Tool 17 (get\_position\_items): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 17 purpose: ◇ AI reading; Lists a user's individual supplies and borrows within one v4 spoke, with principal, accrued interest and withdrawable amounts per item.; lens: tool-purpose-v1; model: not recorded.
- Tool 18 purpose: ◇ AI reading; Returns a quote for atomically swapping one Aave v4 supply collateral or borrow debt position for another on the same spoke.; lens: tool-purpose-v1; model: not recorded.
- Tool 19 (get\_proposal\_payloads): ◇ AI reading; state: counted; reads (confidence 0.88); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 19 purpose: ◇ AI reading; Returns the per-chain payloads of an Aave DAO proposal, showing execution status, timelock, grace period and contract calls.; lens: tool-purpose-v1; model: not recorded.
- Tool 20 (get\_proposal\_votes): ◇ AI reading; state: counted; reads (confidence 0.92); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 20 purpose: ◇ AI reading; Lists voters on an Aave governance proposal with their AAVE voting power, largest first, optionally filtered to one side.; lens: tool-purpose-v1; model: not recorded.
- Tool 21 (get\_protocol\_history): ◇ AI reading; state: counted; reads (confidence 0.902); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 21 purpose: ◇ AI reading; Returns Aave v4 market size, borrows and available liquidity over a chosen time window, across all chains or one chain.; lens: tool-purpose-v1; model: not recorded.
- Tool 22 purpose: ◇ AI reading; Estimates a quote for repaying a borrow with supplied collateral in one atomic step; nothing executes until the user signs.; lens: tool-purpose-v1; model: not recorded.
- Tool 23 (get\_reserve\_details): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 23 purpose: ◇ AI reading; Returns detailed rates, caps, risk parameters and USD price for one Aave v3 or v4 reserve.; lens: tool-purpose-v1; model: not recorded.
- Tool 24 (get\_reserve\_holders): ◇ AI reading; state: counted; reads (confidence 0.94); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 24 purpose: ◇ AI reading; Lists the largest supplier or borrower wallets in one v4 reserve, to gauge how concentrated its liquidity or debt is.; lens: tool-purpose-v1; model: not recorded.
- Tool 25 (get\_risk\_premium): ◇ AI reading; state: counted; reads (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 25 purpose: ◇ AI reading; Shows each collateral token's share of a v4 position and its current versus latest risk premium weight.; lens: tool-purpose-v1; model: not recorded.
- Tool 26 (get\_safety\_module): ◇ AI reading; state: counted; reads (confidence 0.86); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 26 purpose: ◇ AI reading; Returns Aave Safety Module stake pools and current reward rates, optionally with a wallet's staked balance and claimable rewards.; lens: tool-purpose-v1; model: not recorded.
- Tool 27 (get\_sgho\_preview): ◇ AI reading; state: counted; reads (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 28 (get\_sgho\_vault): ◇ AI reading; state: counted; reads (confidence 0.88); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 29 (get\_spoke\_configs): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 29 purpose: ◇ AI reading; Returns each asset's supply and borrow caps, active and halted flags, and risk premium threshold for a hub-spoke pair.; lens: tool-purpose-v1; model: not recorded.
- Tool 30 purpose: ◇ AI reading; Returns an overview of the Aave server's capabilities, covering tool groups, ready-made prompts and guide topics.; lens: tool-purpose-v1; model: not recorded.
- Tool 31 purpose: ◇ AI reading; Returns a price quote for swapping one token for another on a supported chain, including a quoteId for later order preparation.; lens: tool-purpose-v1; model: not recorded.
- Tool 32 (get\_swappable\_tokens): ◇ AI reading; state: counted; reads (confidence 0.85); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 32 purpose: ◇ AI reading; Returns the chains where token swaps can be quoted with their swappable token counts, or the full token list for specified chain IDs.; lens: tool-purpose-v1; model: not recorded.
- Tool 33 (get\_transaction\_processed): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 33 purpose: ◇ AI reading; Checks whether the lending API has indexed a sent transaction, given its hash and operations, so dependent steps can continue.; lens: tool-purpose-v1; model: not recorded.
- Tool 34 (get\_user\_activity): ◇ AI reading; state: counted; reads (confidence 0.93); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 34 purpose: ◇ AI reading; Fetches a wallet's Aave lending history across v3 and v4, newest first, with optional chain and market filters.; lens: tool-purpose-v1; model: not recorded.
- Tool 35 (get\_user\_positions): ◇ AI reading; state: counted; reads (confidence 0.93); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 35 purpose: ◇ AI reading; Returns an Aave lending wallet's supply and borrow positions across v3 and v4 markets, optionally narrowed by chain or version.; lens: tool-purpose-v1; model: not recorded.
- Tool 36 (get\_user\_rewards): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 36 purpose: ◇ AI reading; Returns unclaimed Aave incentive payouts for an address on v3, v4 or both, spanning chains and Merit-distributed programs.; lens: tool-purpose-v1; model: not recorded.
- Tool 37 (get\_user\_summary): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 37 purpose: ◇ AI reading; Summarizes a wallet's lending position and health ratio across protocol versions or one chain; token balances and staking are excluded.; lens: tool-purpose-v1; model: not recorded.
- Tool 38 (get\_user\_summary\_history): ◇ AI reading; state: counted; reads (confidence 0.88); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 38 purpose: ◇ AI reading; Shows how a wallet's net worth, supplied and debt amounts and health factor changed over a chosen time window on Aave v4.; lens: tool-purpose-v1; model: not recorded.
- Tool 39 (get\_user\_vote): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 39 purpose: ◇ AI reading; Returns whether a wallet voted on an Aave DAO proposal, and the voting power it used, measured in AAVE.; lens: tool-purpose-v1; model: not recorded.
- Tool 40 (get\_vault\_activity): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 40 purpose: ◇ AI reading; Reports how much yield a wallet has actually earned from a vault over a chosen time window, with balance and deposit history.; lens: tool-purpose-v1; model: not recorded.
- Tool 41 (get\_vault\_preview): ◇ AI reading; state: counted; reads (confidence 0.86); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 41 purpose: ◇ AI reading; Converts a vault amount to or from share units at the current index, previewing only and moving no funds.; lens: tool-purpose-v1; model: not recorded.
- Tool 42 (get\_vaults): ◇ AI reading; state: counted; reads (confidence 0.94); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 42 purpose: ◇ AI reading; Lists Aave v3 vaults by holder wallet, curator owner, or single vault address, with net APR and fees.; lens: tool-purpose-v1; model: not recorded.
- Tool 43 (get\_wallet\_balances): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 43 purpose: ◇ AI reading; Returns a wallet's token balances usable on Aave v4, totaled across chains, with per-chain splits and best supply and borrow APYs.; lens: tool-purpose-v1; model: not recorded.
- Tool 44 purpose: ◇ AI reading; Builds an unsigned Aave plan for supplying, borrowing, withdrawing or repaying; nothing is sent until the user's wallet signs.; lens: tool-purpose-v1; model: not recorded.
- Tool 45 purpose: ◇ AI reading; Returns an unsigned EIP-712 cancellation message for an intent order so the user can sign it; commits nothing.; lens: tool-purpose-v1; model: not recorded.
- Tool 46 purpose: ◇ AI reading; Builds an unsigned transaction for a user's V4 reward claims, not broadcast, covering given reward IDs or all claimable.; lens: tool-purpose-v1; model: not recorded.
- Tool 47 purpose: ◇ AI reading; Builds an unsigned liquidation transaction for an undercollateralized lending position; the liquidator must sign and submit it.; lens: tool-purpose-v1; model: not recorded.
- Tool 48 purpose: ◇ AI reading; Builds the order data a user must sign from a quoteId, attaching any requested signatures; commits nothing.; lens: tool-purpose-v1; model: not recorded.
- Tool 52 purpose: ◇ AI reading; Builds an unsigned Ethereum transaction moving a wallet's whole legacy stkGHO position from the Safety Module into the sGHO vault.; lens: tool-purpose-v1; model: not recorded.

## Change history
No changes recorded in the retained history.

## Payment rails
- Protocols observed: none.
- HTTP 402 seen in retained observations: false.

## Not covered
- We don't call tools.
- We don't rate or certify.
- We don't publish prices.
- We cover only what was observed.

## Evidence
- Identity: observed / declared; observation time: 2026-11-12T22:05:15.692Z.
- Tools: declared; observation time: 2026-11-12T22:05:15.692Z.
- Effect readings (AI): AI reading; observation time: 2026-11-12T22:05:15.692Z.
- Change history: observed; observation time: 2026-11-12T22:05:15.692Z; change observation times: none.
- Payment rails: observed; observation time: 2026-11-12T22:05:15.692Z.

```json
{
  "schema": "interfacedelta-service-md/1",
  "target_key": "sha256:673a681b803260faeab9ed7c571dba5e77b14834fba762aea3a08301c0250ebe",
  "origin": "https://mcp.aave.com",
  "protocols": [
    "mcp"
  ],
  "observed_at": "2026-11-12T22:05:15.692Z",
  "generated_at": "2026-11-13T02:25:05.422Z",
  "record_url": "https://interfacedelta.com/atlas/sha256:673a681b803260faeab9ed7c571dba5e77b14834fba762aea3a08301c0250ebe",
  "record_api": "https://interfacedelta.com/api/v1/record/services/sha256:673a681b803260faeab9ed7c571dba5e77b14834fba762aea3a08301c0250ebe",
  "source": "InterfaceDelta atlas",
  "license_note": "Use of this record is governed by https://interfacedelta.com/terms.",
  "identity": {
    "origin": "https://mcp.aave.com",
    "endpoints": [
      "https://mcp.aave.com/"
    ],
    "protocols": [
      "mcp"
    ],
    "registry_names": [
      "com.aave/mcp"
    ],
    "first_retained_observation": "2026-11-12T22:05:15.692Z",
    "latest_observation": "2026-11-12T22:05:15.692Z"
  },
  "tools": [
    {
      "name": "cancel_order",
      "protocol": "mcp",
      "inputs": [
        "orderId",
        "signature"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "deletes",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Cancels an open order: relays a signed gasless cancellation, or returns an on-chain cancel payload for the holder to sign.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_aave_guide",
      "protocol": "mcp",
      "inputs": [
        "lookingFor",
        "topic"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.8
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns Aave protocol guidance for a chosen topic, or the full capability list when given a search phrase.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_apy_history",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "market",
        "reserveId",
        "side",
        "token",
        "version",
        "window"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.92
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns a time series of supply or borrow interest rates for a lending reserve over a chosen window, on v3 or v4.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_asset_history",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "metric",
        "token",
        "version",
        "window"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.87
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_chains",
      "protocol": "mcp",
      "inputs": [
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_emode_categories",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "symbols",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists v3 eMode categories per market with their IDs, LTV and liquidation thresholds, filterable by asset symbol or chain.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_governance_proposal",
      "protocol": "mcp",
      "inputs": [
        "includeDescription",
        "proposalId"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.924
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns the full record of one Aave DAO governance proposal, including its status, vote totals, quorum and lifecycle transaction hashes.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_hub_assets",
      "protocol": "mcp",
      "inputs": [
        "hubId",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.93
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns the assets in one Aave v4 hub, with aggregate supplied and borrowed amounts, interest rates and utilization.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_hubs",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists Aave v4 liquidity hubs with their IDs, addresses, chains and totals, optionally filtered by chain.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_interest_rate_model",
      "protocol": "mcp",
      "inputs": [
        "hubAssetId",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_leverage_quote",
      "protocol": "mcp",
      "inputs": [
        "additionalCollateral",
        "collateralReserve",
        "debtReserve",
        "enableCollateral",
        "multiplier",
        "slippagePct",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null
    },
    {
      "name": "get_market_history",
      "protocol": "mcp",
      "inputs": [
        "id",
        "scope",
        "version",
        "window"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_markets",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "symbols",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.92
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_multichain_asset",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "symbol",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Summarizes one asset's supply and borrow amounts and rates across all v4 chains, flagging the top supply yield and cheapest borrow.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_order_status",
      "protocol": "mcp",
      "inputs": [
        "orderId"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_pending_orders",
      "protocol": "mcp",
      "inputs": [
        "chainIds",
        "statuses",
        "user"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.845
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists a wallet's orders across chains, newest first, optionally filtered by status, to recover lost order IDs.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_position_items",
      "protocol": "mcp",
      "inputs": [
        "side",
        "spokeId",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists a user's individual supplies and borrows within one v4 spoke, with principal, accrued interest and withdrawable amounts per item.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_position_swap_quote",
      "protocol": "mcp",
      "inputs": [
        "amount",
        "buyReserve",
        "enableCollateral",
        "kind",
        "sellPosition",
        "slippagePct",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns a quote for atomically swapping one Aave v4 supply collateral or borrow debt position for another on the same spoke.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_proposal_payloads",
      "protocol": "mcp",
      "inputs": [
        "proposalId"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.88
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns the per-chain payloads of an Aave DAO proposal, showing execution status, timelock, grace period and contract calls.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_proposal_votes",
      "protocol": "mcp",
      "inputs": [
        "limit",
        "offset",
        "proposalId",
        "support"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.92
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists voters on an Aave governance proposal with their AAVE voting power, largest first, optionally filtered to one side.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_protocol_history",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "version",
        "window"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.902
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns Aave v4 market size, borrows and available liquidity over a chosen time window, across all chains or one chain.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_repay_with_supply_quote",
      "protocol": "mcp",
      "inputs": [
        "amount",
        "debtPosition",
        "repayWithReserve",
        "slippagePct",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Estimates a quote for repaying a borrow with supplied collateral in one atomic step; nothing executes until the user signs.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_reserve_details",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "market",
        "reserveId",
        "token",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns detailed rates, caps, risk parameters and USD price for one Aave v3 or v4 reserve.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_reserve_holders",
      "protocol": "mcp",
      "inputs": [
        "cursor",
        "limit",
        "reserveId",
        "side",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.94
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists the largest supplier or borrower wallets in one v4 reserve, to gauge how concentrated its liquidity or debt is.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_risk_premium",
      "protocol": "mcp",
      "inputs": [
        "spokeId",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Shows each collateral token's share of a v4 position and its current versus latest risk premium weight.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_safety_module",
      "protocol": "mcp",
      "inputs": [
        "user"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.86
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns Aave Safety Module stake pools and current reward rates, optionally with a wallet's staked balance and claimable rewards.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_sgho_preview",
      "protocol": "mcp",
      "inputs": [
        "action",
        "amount",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_sgho_vault",
      "protocol": "mcp",
      "inputs": [
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.88
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_spoke_configs",
      "protocol": "mcp",
      "inputs": [
        "hubId",
        "spokeId",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns each asset's supply and borrow caps, active and halted flags, and risk premium threshold for a hub-spoke pair.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_started",
      "protocol": "mcp",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns an overview of the Aave server's capabilities, covering tool groups, ready-made prompts and guide topics.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_swap_quote",
      "protocol": "mcp",
      "inputs": [
        "amount",
        "buy",
        "chainId",
        "kind",
        "sell",
        "slippagePct",
        "user"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns a price quote for swapping one token for another on a supported chain, including a quoteId for later order preparation.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_swappable_tokens",
      "protocol": "mcp",
      "inputs": [
        "chainIds"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.85
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns the chains where token swaps can be quoted with their swappable token counts, or the full token list for specified chain IDs.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_transaction_processed",
      "protocol": "mcp",
      "inputs": [
        "operations",
        "txHash",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Checks whether the lending API has indexed a sent transaction, given its hash and operations, so dependent steps can continue.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_user_activity",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "cursor",
        "market",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.93
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Fetches a wallet's Aave lending history across v3 and v4, newest first, with optional chain and market filters.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_user_positions",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.93
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns an Aave lending wallet's supply and borrow positions across v3 and v4 markets, optionally narrowed by chain or version.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_user_rewards",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns unclaimed Aave incentive payouts for an address on v3, v4 or both, spanning chains and Merit-distributed programs.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_user_summary",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Summarizes a wallet's lending position and health ratio across protocol versions or one chain; token balances and staking are excluded.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_user_summary_history",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "user",
        "version",
        "window"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.88
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Shows how a wallet's net worth, supplied and debt amounts and health factor changed over a chosen time window on Aave v4.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_user_vote",
      "protocol": "mcp",
      "inputs": [
        "proposalId",
        "user"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns whether a wallet voted on an Aave DAO proposal, and the voting power it used, measured in AAVE.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_vault_activity",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "user",
        "vault",
        "version",
        "window"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Reports how much yield a wallet has actually earned from a vault over a chosen time window, with balance and deposit history.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_vault_preview",
      "protocol": "mcp",
      "inputs": [
        "action",
        "amount",
        "chainId",
        "vault",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.86
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Converts a vault amount to or from share units at the current index, previewing only and moving no funds.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_vaults",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "cursor",
        "owner",
        "user",
        "vault",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.94
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists Aave v3 vaults by holder wallet, curator owner, or single vault address, with net APR and fees.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_wallet_balances",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns a wallet's token balances usable on Aave v4, totaled across chains, with per-chain splits and best supply and borrow APYs.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_action",
      "protocol": "mcp",
      "inputs": [
        "action",
        "amount",
        "chainId",
        "enableCollateral",
        "market",
        "max",
        "native",
        "permitDeadline"
      ],
      "inputs_omitted": 5,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Builds an unsigned Aave plan for supplying, borrowing, withdrawing or repaying; nothing is sent until the user's wallet signs.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_cancel_order",
      "protocol": "mcp",
      "inputs": [
        "orderId"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns an unsigned EIP-712 cancellation message for an intent order so the user can sign it; commits nothing.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_claim_rewards",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "ids",
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Builds an unsigned transaction for a user's V4 reward claims, not broadcast, covering given reward IDs or all claimable.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_liquidation",
      "protocol": "mcp",
      "inputs": [
        "amount",
        "chainId",
        "collateral",
        "collateralToken",
        "debt",
        "debtToken",
        "liquidator",
        "market"
      ],
      "inputs_omitted": 3,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Builds an unsigned liquidation transaction for an undercollateralized lending position; the liquidator must sign and submit it.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_order",
      "protocol": "mcp",
      "inputs": [
        "adapterContractSignature",
        "permitDeadline",
        "permitSignature",
        "positionManagerSignature",
        "quoteId",
        "route",
        "setCollateralSignature"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Builds the order data a user must sign from a quoteId, attaching any requested signatures; commits nothing.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_set_collateral",
      "protocol": "mcp",
      "inputs": [
        "chainId",
        "enable",
        "market",
        "reserveId",
        "sender",
        "token",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null
    },
    {
      "name": "prepare_set_emode",
      "protocol": "mcp",
      "inputs": [
        "categoryId",
        "chainId",
        "market",
        "sender",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null
    },
    {
      "name": "prepare_sgho_action",
      "protocol": "mcp",
      "inputs": [
        "action",
        "amount",
        "max",
        "recipient",
        "sender",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null
    },
    {
      "name": "prepare_stkgho_migrate",
      "protocol": "mcp",
      "inputs": [
        "user",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null,
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Builds an unsigned Ethereum transaction moving a wallet's whole legacy stkGHO position from the Safety Module into the sGHO vault.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "prepare_vault_action",
      "protocol": "mcp",
      "inputs": [
        "action",
        "amount",
        "asAToken",
        "chainId",
        "recipient",
        "sender",
        "vault",
        "version"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      },
      "effects": null
    }
  ],
  "tools_omitted": 3,
  "tools_state": "recorded",
  "changes": [],
  "payment_rails": {
    "protocols": [],
    "http_402_seen": false
  },
  "not_covered": [
    "We don't call tools.",
    "We don't rate or certify.",
    "We don't publish prices.",
    "We cover only what was observed."
  ],
  "evidence": [
    {
      "section": "Identity",
      "classes": [
        "observed",
        "declared"
      ],
      "observed_at": "2026-11-12T22:05:15.692Z"
    },
    {
      "section": "Tools",
      "classes": [
        "declared"
      ],
      "observed_at": "2026-11-12T22:05:15.692Z"
    },
    {
      "section": "Effect readings (AI)",
      "classes": [
        "AI reading"
      ],
      "observed_at": "2026-11-12T22:05:15.692Z"
    },
    {
      "section": "Change history",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-12T22:05:15.692Z",
      "observation_times": []
    },
    {
      "section": "Payment rails",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-12T22:05:15.692Z"
    }
  ]
}
```
