Skip to main content
Glama

graph-aave-mcp

npm version MCP Registry License: MIT

MCP server for AAVE V2, V3, and V4 — 62 tools across 18 Graph subgraphs + the Aave V4 API + V4 Omnigraph (for data the REST API doesn't expose).

Covers lending markets, user positions, health factors, cross-chain liquidation risk monitoring, liquidations, flash loans, governance, V4 hubs/spokes, exchange rates, swap quotes, loan swaps, Base equity gap shock, rewards, and protocol history.

What's new

  • V3 available liquidity is aToken supply minus debt, and reserve answers include _freshness (block, timestamp, lag seconds)

  • V3 APYs are compounded to match the Aave UI; supplyAPR keeps the linear ray figure

  • V4 hub, reserve, and user reads default to Ethereum and Base

  • Live reserve reads try multiple public RPCs and back off on HTTP 429

  • simulate_stock_gap_shock and get_oracle_status for the Base Coinbase stocks hub

  • get_v4_loan_swaps, get_v4_loan_swap_stats, and a read-only get_v4_borrow_swap_quote

Published to the MCP Registry as io.github.PaulieB14/graph-aave-mcp

Related MCP server: The Graph Token API MCP

Three Data Sources

Source

Version

What it provides

Auth

The Graph subgraphs

V2/V3

11 subgraphs across 7 chains — reserves, positions, events, governance

GRAPH_API_KEY (free)

Liquidation Risk subgraphs

V3

5 chains — real-time health factors, risk scores, risk alerts, protocol risk stats

GRAPH_API_KEY (free)

Aave V4 API

V4

Hubs, spokes, reserves, exchange rates, user positions, activities, swap quotes, rewards

None needed

V4 Omnigraph subgraph

V4

Hub↔Spoke flow events, per-user risk-premium history, liquidation post-mortems, treasury/fee/deficit accounting, spoke config governance trail

GRAPH_API_KEY (free)

Quick Start

# Claude Code
claude mcp add graph-aave -- npx -y graph-aave-mcp

# Set Graph API key for subgraph tools (V4 tools work without it)
export GRAPH_API_KEY=your-key-here

# Optional but recommended: live on-chain tools try public RPCs first, and
# those endpoints are rate-limited. A dedicated URL is still the reliable path.
export ETHEREUM_RPC_URL=https://your-endpoint
export BASE_RPC_URL=https://your-base-endpoint
{
  "mcpServers": {
    "graph-aave": {
      "command": "npx",
      "args": ["-y", "graph-aave-mcp"],
      "env": {
        "GRAPH_API_KEY": "your-api-key-here"
      }
    }
  }
}

Free Graph API key: thegraph.com/studio (100K queries/month free tier).

Hosted deployment (no install): Fronteir AI


V2/V3 Tools (The Graph Subgraphs)

15 tools + 1 raw query escape hatch. Requires GRAPH_API_KEY.

Response size. get_aave_reserves returns every active reserve by default — on Ethereum that is 67 reserves, ~28k tokens. Pass symbols: ["USDC"] for one asset (~675 tokens), compact: true for rates only, or limit to cap the rows. get_v4_reserves takes the same three options.

Discovery

Tool

Description

list_aave_chains

All supported chains with subgraph IDs, versions, 30d query volumes

get_aave_schema

Full GraphQL schema introspection for any chain

Lending Markets

Tool

Description

get_aave_reserves

All active markets — TVL, compounded supply/borrow APY, derived available liquidity, LTV

get_aave_reserve

Deep detail on one asset: lifetime stats, config, token addresses, _freshness lag

get_reserve_rate_history

Historical APY, utilization, TVL snapshots

User Positions

Tool

Description

get_aave_user_position

Wallet's supplied/borrowed assets, collateral flags, e-mode

simulate_health_factor

Simulate price changes on a user's health factor

Protocol Events

Tool

Description

get_recent_borrows

Recent borrows — filter by user or asset

get_recent_supplies

Recent supplies/deposits (auto-handles V2 vs V3 schema)

get_aave_repays

Recent repayments

get_aave_liquidations

Recent liquidations — filter by user or liquidator

get_aave_flash_loans

Recent flash loans with fees

Governance

Tool

Description

get_governance_proposals

Proposals with titles, states, vote counts

get_proposal_votes

Per-voter breakdown by voting power

Advanced

Tool

Description

query_aave_subgraph

Raw GraphQL — execute any query against any chain

Supported Chains (V2/V3)

Chain

Version

30d Queries

Ethereum

V3

21.6M

Base

V3

5.6M

Arbitrum

V3

5.6M

Polygon

V3

2.0M

Optimism

V3

1.8M

Avalanche

V3

1.2M

Ethereum

V2

701K

Polygon

V2

216K

Avalanche

V2

133K

Fantom

V3 (Messari)

13K

Ethereum

Governance V3

486K


Liquidation Risk Tools (NEW)

8 tools powered by dedicated risk subgraphs across 5 chains. Requires GRAPH_API_KEY.

Real-time liquidation risk monitoring with health factors, risk scores (0–100), risk level classifications (safe/warning/danger/critical), and cross-chain risk summaries.

Risk Monitoring

Tool

Description

get_at_risk_positions

Positions at risk of liquidation — filter by risk level, sorted by risk score

get_user_risk_profile

Full risk profile for a wallet — all positions with health factors and risk scores

get_protocol_risk_stats

Aggregate stats: total positions, danger/warning/critical counts

get_cross_chain_risk_summary

Risk overview across all 5 chains in one call

Risk Events

Tool

Description

get_risk_alerts

Risk level transitions — when positions move between safe/warning/danger/critical

get_risk_liquidations

Liquidation events with collateral/debt assets, amounts, and tx hashes

get_health_factor_history

Health factor trend over time for a specific wallet

Discovery

Tool

Description

list_risk_chains

Available liquidation risk chains with subgraph IDs and query volumes

Supported Chains (Liquidation Risk)

Chain

30d Queries

Signal

Ethereum

21.1K

20.2K GRT

Arbitrum

19.3K

35.7K GRT

Base

16.2K

15.2K GRT

Polygon

13.2K

—

Optimism

13.0K

—


V4 Tools (Aave API)

16 tools powered by api.v4.aave.com/graphql. No API key needed. (api.aave.com/graphql is an alias for the same schema; override either with AAVE_V4_API_URL.)

Hub, spoke, reserve, and user reads default to Ethereum + Base. Pass chainId to narrow. get_v4_user_summary still aggregates every chain when chainId is omitted.

Note: the V4 Omnigraph tools (next section) cover gaps the REST API doesn't expose and require GRAPH_API_KEY. The 16 tools listed below remain key-free.

Liquidity Model

Tool

Description

get_v4_hubs

Liquidity hubs (Core, Plus, Prime) with TVL and utilization

get_v4_spokes

Cross-chain spokes (Main, Bluechip, Kelp, Lido, Ethena, EtherFi, Forex, Gold, Lombard)

get_v4_reserves

Per-spoke reserves with supply/borrow APYs, risk params, caps

get_v4_chains

Supported V4 chains

get_v4_asset

Cross-hub asset summary with average APYs and price

get_v4_exchange_rate

Any token price via Chainlink oracles (ERC-20, native, or fiat)

get_v4_asset_price_history

Historical token prices

get_v4_protocol_history

Total deposits/borrows over time

User Data

Tool

Description

get_v4_user_positions

Cross-chain positions — health factor, collateral, debt, borrowing power

get_v4_user_summary

Aggregated portfolio: total positions, net balance, net APY

get_v4_user_supplies

Supply positions with principal and interest

get_v4_user_borrows

Borrow positions with debt breakdown

get_v4_user_balances

Cross-chain token holdings with best APYs per token

get_v4_user_activities

Transaction history. types is optional and defaults to every activity, including BORROW_SWAP

get_v4_claimable_rewards

Claimable Merkl and points rewards

get_v4_swap_quote

Read-only swap pricing via CoW Protocol (MEV-protected)

Loan swaps (Aave V4 borrow swaps)

3 read-only tools. Loan swaps went live on 2026-11-12 for V4 Ethereum, Base, and Avalanche on Aave Pro, routed through CoW Swap. The API records ActivityType.BORROW_SWAP. The V4 subgraphs have no swap entity; the same transaction is a REPAY plus a BORROW.

Tool

Description

get_v4_loan_swaps

Recent loan swaps (from-asset, to-asset, amounts, user, tx, time, chain). Optional chainId and user. Cross-checks Ethereum and Base subgraphs.

get_v4_loan_swap_stats

Windowed totals: top from→to pairs, USD volume, unique users

get_v4_borrow_swap_quote

Pricing quote only. Does not prepare or sign an order

Base equities (gap shock + oracle status)

2 tools for the Coinbase tokenized-stock hub on Base. The health-factor model is simplified (collateralUsd × (1+gap) × collateralFactor / debtUsd) and is not an Aave liquidation quote.

Tool

Description

simulate_stock_gap_shock

Monday-open gap on AAPLc, AMZNc, GOOGLc, METAc, MSFTc, NVDAc, TSLAc, SPCXc. Needs GRAPH_API_KEY.

get_oracle_status

Chainlink 24/5 feeds for TSLAc, NVDAc, and AAPLc. Flags a feed that updates during the Friday 20:00–Sunday 20:00 ET freeze.


V4 Omnigraph Tools (subgraph — fills gaps the Aave API doesn't expose)

5 tools powered by the aave-v-4 subgraph (QmcKrCRSPrMABEfQjyPF6DqhbY7zzcEj6h5QxQmKLcHFSs). Requires GRAPH_API_KEY (the same free key used by V2/V3 subgraph tools).

These cover what api.aave.com/graphql structurally can't return: Hub↔Spoke flow events, per-user risk-premium trajectories, liquidation post-mortems with full premium-delta context, treasury/fee/deficit accounting, and governance-trail snapshots.

Tool

Description

get_v4_hub_flows

Hub↔Spoke routing events (Add, Remove, Draw, Restore, RefreshPremium, ReportDeficit, TransferShares) with AaveKit-joined spoke names and asset symbols

get_v4_user_risk_trajectory

Per-user risk-premium snapshot history — every RefreshPremium event for a user, plus the latest premium and the spoke it was set on

get_v4_liquidation_postmortem

Full liquidation event by tx hash or user — collateral/debt amounts, liquidator, premium-share / offset-ray / restored-premium deltas

get_v4_treasury_flows

Merged stream of FeeMint / Sweep / Reclaim / DeficitEliminated events ordered by block desc, optionally filtered by hub (Core/Plus/Prime) and time window

get_v4_spoke_config_history

Spoke liquidation-config governance trail — current and historical targetHealthFactor, healthFactorForMaxBonus, liquidationBonusFactor per spoke

V4 Subgraph Tools — Base (Coinbase tokenized stocks) + Ethereum

6 network-aware tools backed by the Aave V4 subgraph. Default network: "base" — the Coinbase Stocks hub on Base (subgraph 9x1tg7KX3RXspnK7R1mahAZsM5gTmFhLrmJSbkoBsDdq). Pass network: "ethereum" for Core/Plus/Prime. Requires GRAPH_API_KEY.

Tool

Description

get_v4_recent_liquidations

Liquidations newest-first, filter by liquidator / user / sinceHours; collateral seized, debt restored, shares, premium deltas, per-liquidator counts

get_v4_hub_assets

Per-asset borrow rate %, liquidity fee %, accrued protocol fees, fee receiver, IR strategy

get_v4_config_changes

Hub↔spoke cap snapshots, reserve config snapshots, liquidation-config snapshots, position-manager whitelist (optional spoke)

get_v4_hub_daily_flows

Daily supplied/withdrawn/borrowed/repaid/deficit per hub asset, optional raw flow events

get_v4_user_activity

User risk premium + history, liquidations suffered, supply/withdraw/borrow/repay/collateral activity

get_v4_treasury_events

Merged FeeMint / Sweep / Reclaim / DeficitEliminated / ReportDeficit stream

Example: "Who's liquidating tokenized stocks on Aave V4 Base?" → get_v4_recent_liquidations. "What's the USDC borrow rate and fees on the Base stocks hub?" → get_v4_hub_assets (≈2.1%, 10% liquidity fee).

V4 Architecture

Hubs (Core, Plus, Prime)
  └── Assets (WETH, USDC, GHO, cbBTC, etc.)
       └── Spokes (Main, Bluechip, Kelp, Lido, Ethena, ...)
            └── Reserves (per-spoke lending markets)
                 └── User Positions (health factor, collateral, debt)

V4 enables cross-chain lending: supply on one spoke, borrow on another. Hubs aggregate liquidity across spokes.


Guided Prompts

7 pre-built workflows that guide agents through multi-step analysis:

Prompt

Description

analyze_aave_user

Full wallet analysis: positions, health factor, liquidation risk

aave_chain_overview

Protocol overview: top markets, rates, recent activity

compare_aave_rates

Compare APY for one asset across all chains

aave_liquidation_analysis

Liquidation patterns, top liquidators, at-risk markets

aave_governance_overview

Recent proposals, voting results, active decisions

aave_full_stack_analysis

Cross-version comparison: V2 vs V3 vs V4 rates and positions

cross_chain_risk_monitor

NEW — Cross-chain liquidation risk: riskiest positions, alerts, protocol health


Example Questions

Liquidation Risk (new):

  • "Which Aave positions on Arbitrum are closest to liquidation?"

  • "Give me a cross-chain risk dashboard — which network has the most at-risk positions?"

  • "Is wallet 0x... at risk of liquidation on any chain?"

  • "Show me recent risk alerts — which positions just became critical?"

  • "How has this wallet's health factor changed over time on Base?"

V4:

  • "What are the Aave V4 hubs and their utilization?"

  • "Show me V4 reserves with the highest supply APY"

  • "What's the current ETH price on Aave V4?"

  • "Compare V3 vs V4 USDC supply rates"

  • "What spokes does Aave V4 have on Ethereum?"

V2/V3:

  • "What are the top AAVE markets on Ethereum by TVL?"

  • "Compare WETH borrow rates across all V3 chains"

  • "Analyze the AAVE position for wallet 0x..."

  • "If ETH drops 30%, will address 0x... get liquidated?"

  • "Show me the last 20 liquidations on Ethereum"

  • "What AAVE governance proposals are active?"

Development

git clone https://github.com/PaulieB14/graph-aave-mcp.git
cd graph-aave-mcp
npm install
npm run build
GRAPH_API_KEY=your-key node build/index.js

Tests

npm test                                     # V4 tools only
GRAPH_API_KEY=... ETHEREUM_RPC_URL=... npm test   # everything

test/smoke.mjs starts the server over stdio and calls every registered tool, failing if any returns an error or an unexpectedly empty collection. Tools whose backend is unavailable in the current environment (no Graph key, no reachable RPC) are skipped rather than failed, so the suite is meaningful without credentials and thorough with them.

It exists because get_v4_hub_flows shipped pointing at an undeployed subgraph and nobody noticed: Graph Studio answers a missing subgraph with HTTP 200 and {"message":"Not found"}, the client only checked for a GraphQL errors key, and the tool returned flows: [] — indistinguishable from "no activity on chain". Every backend call now fails loudly instead.

Environment variables

Variable

Needed for

Notes

GRAPH_API_KEY

all subgraph + Omnigraph tools

Free key. V4 AaveKit tools work without it.

ETHEREUM_RPC_URL (and BASE_, ARBITRUM_, POLYGON_, OPTIMISM_, AVALANCHE_)

live on-chain tools and get_oracle_status

Optional. When unset, several public RPCs are tried in order with backoff. A dedicated URL is still what you want in production.

AAVE_V4_API_URL

V4 AaveKit tools

Defaults to https://api.v4.aave.com/graphql.

AAVE_V4_ETHEREUM_SUBGRAPH_ID

V4 Ethereum / Omnigraph tools

Defaults to subgraph 2Gu5HCAnWrNk2pXidscdhNEQhrwLgMKmssuCe9JhZhAe (queried by subgraph ID, follows republishes).

AAVE_V4_OMNIGRAPH_DEPLOYMENT_ID

V4 Ethereum / Omnigraph tools

Optional: pin a specific deployment (IPFS hash) instead of the subgraph ID.

AAVE_V4_BASE_SUBGRAPH_ID

V4 subgraph tools (network: base)

Defaults to 9x1tg7KX3RXspnK7R1mahAZsM5gTmFhLrmJSbkoBsDdq.

AAVE_V4_OMNIGRAPH_URL

Omnigraph tools

Set only to bypass the gateway for a self-hosted/Studio deployment.

License

MIT

Available Tools

40 tools
find_best_ratesA

Use this when the user asks 'Where should I supply USDC for the best yield?', 'Which chain has the lowest WETH borrow rate?', 'Compare AAVE rates across chains for USDC', 'Best AAVE lending rates for DAI'. Queries all AAVE lending deployments in parallel for the given asset, then ranks by APY. Excludes Fantom (incompatible Messari schema) and skips anomalous pools. Returns a ranked table with chain, supply APY, variable borrow APY, utilization, and approx available liquidity. Includes a _recommendation field with the best option.

Inputs: asset (required), side, minLiquidityUSD.

get_aave_flash_loansA

Use this when the user asks about AAVE flash loans — 'Show me recent flash loans on Ethereum', 'What assets are flash-loaned most?', 'How much in flash loan fees has AAVE earned?'. Returns: initiator address, asset borrowed, amount, fee paid (totalFee), and timestamp. Flash loans must be borrowed and repaid within a single transaction.

Inputs: chain (required), first.

get_aave_liquidationsA

Use this when the user asks about AAVE liquidation events — 'Show me recent liquidations on Ethereum', 'Has address 0x... been liquidated?', 'Who are the top liquidators on Arbitrum?', 'What collateral is being seized most?'. Returns: liquidator address, liquidated user, collateral asset seized, debt asset repaid, amounts, and timestamp. Liquidations occur when a user's health factor drops below 1.0.

Inputs: chain (required), first, liquidator, userAddress.

get_aave_repaysA

Use this when the user asks about AAVE debt repayment activity — 'Show me recent repayments on Ethereum', 'Has address 0x... repaid any debt?', 'What assets are being repaid most on Arbitrum?', 'Show USDC repay history'. Returns repay events with: repayer address, asset, raw amount, and timestamp. Divide amount by 10^decimals for human-readable value.

Inputs: chain (required), first, userAddress, reserveSymbol.

get_aave_reserveA

Use this when the user asks about a specific AAVE asset in detail — e.g. 'Tell me everything about USDC on Ethereum AAVE', 'What are the WETH borrow parameters?', 'What is the liquidation threshold for WBTC collateral?'. Returns full reserve config: current rates, TVL, LTV, liquidation parameters, lifetime stats (total borrows/repayments/liquidations), and token addresses. RATE CONVERSION: divide liquidityRate / variableBorrowRate by 1e27 * 100 for APY %.

Inputs: chain (required), symbol (required).

get_aave_reservesA

Use this when the user asks about AAVE lending markets, available assets, supply APY, borrow APY, TVL, utilization rate, collateral factors, or liquidation thresholds on a specific chain. Returns all active reserves sorted by total liquidity (TVL). RATE CONVERSION: liquidityRate and variableBorrowRate are in RAY units (1e27). Supply APY % = liquidityRate / 1e27 * 100. Borrow APY % = variableBorrowRate / 1e27 * 100. Amounts are in native token units — divide by 10^decimals for human-readable. Ideal for: 'What assets can I lend on Arbitrum?', 'What is USDC supply rate on Base?', 'Show me all AAVE V3 markets on Polygon'.

Inputs: chain (required), includeInactive.

get_aave_schemaA

Use this to introspect the full GraphQL schema for any AAVE chain's subgraph. Returns all queryable root fields and their types. Useful before writing a custom query_aave_subgraph call, or to understand what data is available on a specific chain/version.

Inputs: chain (required).

get_aave_user_positionA

Use this when the user asks about a wallet's AAVE position — 'What is my health factor?', 'What have I supplied to AAVE?', 'How much have I borrowed?', 'Am I at risk of liquidation?', 'Show me my collateral and debt on Arbitrum'. Returns all supplied assets (with aToken balances), all borrowed assets (variable + stable debt), collateral flags, and e-mode category. Health Factor ≈ sum(collateral_i * price_i * liqThreshold_i) / sum(debt_i * price_i). HF < 1.0 = liquidatable. Amounts in native token units — divide by 10^decimals.

Inputs: chain (required), userAddress (required).

get_at_risk_positionsA

Find Aave positions at risk of liquidation across 5 chains. Returns positions with health factor, risk score (0–100), risk level (critical/danger/warning), collateral, and debt amounts. Use when asked: 'Which positions are close to liquidation on Arbitrum?', 'Show me the riskiest Aave positions on Base', 'How many critical positions are there?'

Inputs: chain (required), first, riskLevel.

get_cross_chain_risk_summaryA

Get a cross-chain risk overview across all 5 chains (Ethereum, Arbitrum, Base, Polygon, Optimism) in a single call. Returns protocol-level risk stats for each chain: total positions, danger/warning/critical counts. Use when asked: 'Which chain has the most at-risk positions?', 'Give me a risk dashboard across all chains', 'Compare Aave risk levels across networks'.

Inputs: no named parameters.

get_governance_proposalsA

Use this when the user asks about AAVE governance — 'Show me recent AAVE governance proposals', 'What proposals are currently active?', 'What is the status of AAVE proposal #X?', 'Show me governance voting activity'. Queries the AAVE Governance V3 subgraph on Ethereum. Returns: proposal ID, creator, access level (1=short executor/2=long executor), current state, voting duration (seconds), for/against votes, title, and payload info. Proposal states: Created=0, Active=1, Queued=2, Executed=3, Failed=4, Cancelled=5, Expired=6.

Inputs: first, state.

get_health_factor_historyA

Get a user's health factor history over time — shows how their risk has changed block by block. Useful for trend analysis and understanding if a position is deteriorating. Use when asked: 'How has this wallet's health factor changed?', 'Is this position getting riskier over time?', 'Show me the health factor trend for 0x...'.

Inputs: chain (required), userAddress (required), first.

get_proposal_votesA

Use this when the user asks about the vote totals on a specific AAVE governance proposal — 'How did proposal #X vote?', 'Show me the for/against breakdown for proposal #185', 'Did proposal #X pass?'. Returns aggregate vote totals: total forVotes and againstVotes for the proposal. Note: individual per-voter records are not indexed in this subgraph.

Inputs: proposalId (required).

get_protocol_risk_statsA

Get aggregate risk statistics for Aave on a chain — total positions, and how many are in danger, warning, or critical state. Use when asked: 'How healthy is Aave on Ethereum right now?', 'How many positions are at risk on Arbitrum?', 'Give me a risk overview of the protocol'.

Inputs: chain (required).

get_recent_borrowsA

Use this when the user asks about recent borrowing activity on AAVE — 'Who has been borrowing USDC on Ethereum?', 'Show me recent WETH borrows on Arbitrum', 'What has address 0x... borrowed recently?', 'Show borrow volume by asset'. Returns borrow events with: borrower address, asset, raw amount, borrow rate, rate mode (variable=2/stable=1), and timestamp. Divide amount by 10^decimals for human-readable value.

Inputs: chain (required), first, userAddress, reserveSymbol.

get_recent_suppliesA

Use this when the user asks about recent deposit/supply activity on AAVE — 'Who has been supplying ETH on Base?', 'Show me recent USDC deposits on Polygon', 'What has address 0x... deposited recently?'. V3 chains use the 'supply' entity; V2 chains use 'deposit' — handled automatically. Returns: supplier address, asset symbol, raw amount, and timestamp. Divide amount by 10^decimals for human-readable value.

Inputs: chain (required), first, userAddress, reserveSymbol.

get_reserve_rate_historyA

Use this when the user asks about historical AAVE rates or TVL trends — 'How has USDC supply rate changed over time?', 'Show me ETH borrow rate history on Polygon', 'What was the utilization rate last week?'. Returns timestamped snapshots of: liquidityRate, variableBorrowRate, stableBorrowRate, utilizationRate, availableLiquidity, totalLiquidity, totalCurrentVariableDebt. Rates are in RAY units (divide by 1e27 * 100 for APY %). Get the reserve ID from get_aave_reserves (the 'id' field = underlyingAsset + poolAddress).

Inputs: chain (required), reserveId (required), first.

get_risk_alertsA

Get recent risk level transitions — when positions moved between safe/warning/danger/critical states. Shows previous and new risk level, health factor at transition, and timestamp. Use when asked: 'Which positions recently became at risk?', 'Show me health factor drops on Polygon', 'Has wallet 0x... had any risk alerts?'.

Inputs: chain (required), first, userAddress.

get_risk_liquidationsA

Get liquidation events from the risk subgraph — includes collateral asset, debt asset, amounts, liquidator, and transaction hash. Complements get_aave_liquidations with risk-specific context. Use when asked: 'Show recent liquidations on Base', 'Was this wallet liquidated?', 'What collateral was seized?'.

Inputs: chain (required), first, userAddress.

get_user_risk_profileA

Get a user's full liquidation risk profile on a specific chain — all their positions with health factors, risk scores, collateral, and debt. Use when asked: 'Is wallet 0x... at risk of liquidation?', 'What's the health factor for this address on Base?', 'Show me this user's risk across all their Aave positions'.

Inputs: chain (required), userAddress (required).

get_v4_assetA

Get Aave V4 asset details: total supplied/borrowed across all hubs, average supply/borrow APY, and current price. No API key needed.

Inputs: tokenAddress (required), chainId.

get_v4_asset_price_historyB

Get historical price data for an Aave V4 asset. Powered by Chainlink oracles. No API key needed.

Inputs: tokenAddress (required), window, chainId.

get_v4_chainsA

List all chains supported by Aave V4 (mainnet and testnet). No API key needed.

Inputs: no named parameters.

get_v4_claimable_rewardsA

Get a user's claimable Merkl and points rewards on Aave V4. No API key needed.

Inputs: userAddress (required), chainId.

get_v4_exchange_rateA

Get exchange rate for any token via Aave V4's Chainlink oracle integration. Supports ERC-20 tokens, native tokens (ETH), and fiat currencies. No API key needed.

Inputs: to, native, chainId, tokenAddress.

get_v4_hubsA

Get Aave V4 liquidity hubs (Core, Plus, Prime) with TVL, utilization, and supply/borrow caps. No API key needed.

Inputs: chainId.

get_v4_protocol_historyA

Get Aave V4 protocol-wide historical data: total deposits and borrows over time in USD. No API key needed.

Inputs: window.

get_v4_reservesA

Get Aave V4 reserves with supply/borrow APYs, risk params (collateral factor, caps), and status. Use get_aave_reserves for V2/V3. No API key needed.

Inputs: chainId.

get_v4_spokesA

Get Aave V4 spokes (Main, Bluechip, Kelp, Lido, Ethena, EtherFi, etc.). Spokes are chain-specific deployment points enabling cross-chain lending. No API key needed.

Inputs: chainId.

get_v4_swap_quoteA

Get a read-only swap price quote from Aave V4 (powered by CoW Protocol with MEV protection). Returns pricing, fees, and slippage. No API key needed.

Inputs: sellAmount (required), userAddress (required), buyTokenAddress (required), sellTokenAddress (required), +1 more.

get_v4_user_activitiesB

Get a user's Aave V4 transaction history: supplies, borrows, withdrawals, repayments, liquidations, swaps. No API key needed.

Inputs: userAddress (required), chainId.

get_v4_user_balancesA

Get a user's cross-chain token balances in Aave V4 with highest supply APY and lowest borrow APY per token. No API key needed.

Inputs: userAddress (required).

get_v4_user_borrowsA

Get a user's Aave V4 borrow positions with principal, debt, interest. No API key needed.

Inputs: userAddress (required), chainId.

get_v4_user_positionsA

Get a user's Aave V4 positions across all spokes — health factor, collateral, debt, borrowing power, net APY. Cross-chain by default. No API key needed.

Inputs: userAddress (required).

get_v4_user_summaryA

Get aggregated Aave V4 portfolio summary for a user: total positions, net balance, collateral, debt, net APY, lowest health factor. No API key needed.

Inputs: userAddress (required).

get_v4_user_suppliesB

Get a user's Aave V4 supply positions with principal, interest, and collateral status. No API key needed.

Inputs: userAddress (required), chainId.

list_aave_chainsA

Use this when the user asks which AAVE chains are supported, wants to pick a network, or needs to discover available AAVE deployments. Returns all supported chains with their subgraph IDs, protocol version (V2/V3), chain name, 30-day query volume, and key entities. Chains: Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, Fantom (V3 + V2 legacy), plus AAVE Governance V3. Always call this first if chain is ambiguous.

Inputs: no named parameters.

list_risk_chainsA

List all available liquidation risk subgraph chains with their names, networks, subgraph IDs, and 30-day query volumes. Use when asked: 'Which chains have liquidation risk data?', 'What risk subgraphs are available?'.

Inputs: no named parameters.

query_aave_subgraphA

Use this when a pre-built tool doesn't cover the user's need — execute a raw GraphQL query against any AAVE chain's subgraph. Use get_aave_schema first to explore available entities and fields. Lending schema entities: reserves, userReserves, borrows, supplies (V3) / deposits (V2), repays, liquidationCalls, flashLoans, pool, protocol, reserveParamsHistoryItems. Governance schema entities: proposals, proposalVotes_collection, payloads, votingPortals, votingConfigs, proposalMetadata_collection.

Inputs: chain (required), query (required), variables.

simulate_health_factorA

Use this when the user wants to simulate how a price change affects their AAVE health factor — 'What happens to my health factor if ETH drops 20%?', 'How much can WBTC fall before I get liquidated?', 'Simulate a 30% drop in my collateral asset'. Fetches the user's full position, computes current health factor, then recalculates it after applying the specified price change to the target asset. Health Factor < 1.0 means the position is liquidatable.

Inputs: chain (required), assetSymbol (required), userAddress (required), priceChangePct (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 40 tools

    Disambiguation3/5

    While each tool has a detailed description, there are several pairs with overlapping purposes (e.g., get_aave_liquidations vs get_risk_liquidations, get_aave_reserves vs get_v4_reserves, and multiple user-position tools). The high number of similar names could confuse an LLM despite the descriptions.

    Naming Consistency2/5

    Tool names use a mix of prefixes (get_, list_, find_, simulate_, query_) and sometimes include version (v4) or omit it. There is no consistent verb_noun pattern across the set, making it harder to infer behavior from the name alone.

    Tool Count3/5

    40 tools is on the high side, bordering on heavy. However, the server covers multiple AAVE versions, chains, and sub-domains (governance, risk, V4), so the count is somewhat justified. Some tools could be merged without loss of clarity.

    Completeness4/5

    The tool surface covers most expected queries: reserves, user positions, history, governance, risk, flash loans, liquidations, and raw subgraph access. Minor gaps exist (e.g., no cross-chain V2/V3 user summary, no tool to fetch all positions across chains), but overall it is comprehensive.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    • Official Aave MCP for V3 and V4 markets, positions, governance, and transaction preparation.

      https://mcp.aave.com
    • MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows

      https://mcp.flowra.dev/mcp
    • Pay-per-call DeFi and macro intel for AI agents. x402 USDC tools via streamable HTTP /api/mcp.

      https://conc-exe.xyz/api/mcp
    • Your agent needs crypto prices it can rely on — spot, ranked market tables, history, OHLC, per-venue tickers, and what is trending right now. **What you can ask for** • "What is the price of these 20 tokens in USD and EUR right now?" • "Give me the top 100 by market cap with 24h and 7d change." • "Chart this coin's price over the last year, hourly." • "Where does this token trade, and at what spread per venue?" • "What is trending on CoinGecko today?" **How to use it** Point any MCP client at https://mcp.aisa.one/crypto-market-data/mcp and sign in with OAuth — there is no key to create or paste. 21 CoinGecko tools: simple price and token price by contract, supported currencies, coin list and detail, ranked markets, history, market charts and ranges, OHLC, per-coin tickers, categories, exchanges and their tickers, token data and charts, and trending. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Price the token here, then ask the same agent what X is posting about it — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/finance/mcp for equities, crypto and prediction markets in one place.

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Official MCP server that turns The Graph’s Token API into a plug-and-play web3 data tool. Exposes ERC-20 & NFT metadata, balances, transfers, top-holder stats, prices, and more, allowing LLMs to run SQL queries on structured and indexed blockchain data.
      2
      Apache 2.0
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to analyze Aave V3 positions on Ethereum, monitor health factors, identify liquidation opportunities, and query protocol data including collateral positions, debt composition, and real-time asset prices.
      8
      1
      MIT