Odel
graph aave mcp

graph aave mcp

Local
@paulieb142TypeScriptMITUpdated 4 days ago

AAVE V2/V3 lending & governance MCP — 7 chains via The Graph subgraphs

graph-aave-mcp

npm version MCP Registry smithery badge License: MIT

MCP server for AAVE V2, V3, and V4 — 51 tools across 17 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, rewards, and protocol history.

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

Three Data Sources

SourceVersionWhat it providesAuth
The Graph subgraphsV2/V311 subgraphs across 7 chains — reserves, positions, events, governanceGRAPH_API_KEY (free)
Liquidation Risk subgraphsV35 chains — real-time health factors, risk scores, risk alerts, protocol risk statsGRAPH_API_KEY (free)
Aave V4 APIV4Hubs, spokes, reserves, exchange rates, user positions, activities, swap quotes, rewardsNone needed
V4 Omnigraph subgraphV4Hub↔Spoke flow events, per-user risk-premium history, liquidation post-mortems, treasury/fee/deficit accounting, spoke config governance trailGRAPH_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: the two live on-chain tools read via RPC, and the
# unconfigured public fallback is rate-limited or blocked on many networks.
export ETHEREUM_RPC_URL=https://your-endpoint
Claude Desktop / Cursor config
{
  "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

ToolDescription
list_aave_chainsAll supported chains with subgraph IDs, versions, 30d query volumes
get_aave_schemaFull GraphQL schema introspection for any chain

Lending Markets

ToolDescription
get_aave_reservesAll active markets — TVL, supply/borrow APY, LTV, liquidation thresholds
get_aave_reserveDeep detail on one asset: lifetime stats, config, token addresses
get_reserve_rate_historyHistorical APY, utilization, TVL snapshots

User Positions

ToolDescription
get_aave_user_positionWallet's supplied/borrowed assets, collateral flags, e-mode
simulate_health_factorSimulate price changes on a user's health factor

Protocol Events

ToolDescription
get_recent_borrowsRecent borrows — filter by user or asset
get_recent_suppliesRecent supplies/deposits (auto-handles V2 vs V3 schema)
get_aave_repaysRecent repayments
get_aave_liquidationsRecent liquidations — filter by user or liquidator
get_aave_flash_loansRecent flash loans with fees

Governance

ToolDescription
get_governance_proposalsProposals with titles, states, vote counts
get_proposal_votesPer-voter breakdown by voting power

Advanced

ToolDescription
query_aave_subgraphRaw GraphQL — execute any query against any chain

Supported Chains (V2/V3)

ChainVersion30d Queries
EthereumV321.6M
BaseV35.6M
ArbitrumV35.6M
PolygonV32.0M
OptimismV31.8M
AvalancheV31.2M
EthereumV2701K
PolygonV2216K
AvalancheV2133K
FantomV3 (Messari)13K
EthereumGovernance V3486K

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

ToolDescription
get_at_risk_positionsPositions at risk of liquidation — filter by risk level, sorted by risk score
get_user_risk_profileFull risk profile for a wallet — all positions with health factors and risk scores
get_protocol_risk_statsAggregate stats: total positions, danger/warning/critical counts
get_cross_chain_risk_summaryRisk overview across all 5 chains in one call

Risk Events

ToolDescription
get_risk_alertsRisk level transitions — when positions move between safe/warning/danger/critical
get_risk_liquidationsLiquidation events with collateral/debt assets, amounts, and tx hashes
get_health_factor_historyHealth factor trend over time for a specific wallet

Discovery

ToolDescription
list_risk_chainsAvailable liquidation risk chains with subgraph IDs and query volumes

Supported Chains (Liquidation Risk)

Chain30d QueriesSignal
Ethereum21.1K20.2K GRT
Arbitrum19.3K35.7K GRT
Base16.2K15.2K GRT
Polygon13.2K
Optimism13.0K

V4 Tools (Aave API)

17 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.)

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

ToolDescription
get_v4_hubsLiquidity hubs (Core, Plus, Prime) with TVL and utilization
get_v4_spokesCross-chain spokes (Main, Bluechip, Kelp, Lido, Ethena, EtherFi, Forex, Gold, Lombard)
get_v4_reservesPer-spoke reserves with supply/borrow APYs, risk params, caps
get_v4_chainsSupported V4 chains
get_v4_assetCross-hub asset summary with average APYs and price
get_v4_exchange_rateAny token price via Chainlink oracles (ERC-20, native, or fiat)
get_v4_asset_price_historyHistorical token prices
get_v4_protocol_historyTotal deposits/borrows over time

User Data

ToolDescription
get_v4_user_positionsCross-chain positions — health factor, collateral, debt, borrowing power
get_v4_user_summaryAggregated portfolio: total positions, net balance, net APY
get_v4_user_suppliesSupply positions with principal and interest
get_v4_user_borrowsBorrow positions with debt breakdown
get_v4_user_balancesCross-chain token holdings with best APYs per token
get_v4_user_activitiesTransaction history: supplies, borrows, repays, liquidations, swaps
get_v4_claimable_rewardsClaimable Merkl and points rewards
get_v4_swap_quoteRead-only swap pricing via CoW Protocol (MEV-protected)

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.

ToolDescription
get_v4_hub_flowsHub↔Spoke routing events (Add, Remove, Draw, Restore, RefreshPremium, ReportDeficit, TransferShares) with AaveKit-joined spoke names and asset symbols
get_v4_user_risk_trajectoryPer-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_postmortemFull liquidation event by tx hash or user — collateral/debt amounts, liquidator, premium-share / offset-ray / restored-premium deltas
get_v4_treasury_flowsMerged 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_historySpoke liquidation-config governance trail — current and historical targetHealthFactor, healthFactorForMaxBonus, liquidationBonusFactor per spoke

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:

PromptDescription
analyze_aave_userFull wallet analysis: positions, health factor, liquidation risk
aave_chain_overviewProtocol overview: top markets, rates, recent activity
compare_aave_ratesCompare APY for one asset across all chains
aave_liquidation_analysisLiquidation patterns, top liquidators, at-risk markets
aave_governance_overviewRecent proposals, voting results, active decisions
aave_full_stack_analysisCross-version comparison: V2 vs V3 vs V4 rates and positions
cross_chain_risk_monitorNEW — 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

VariableNeeded forNotes
GRAPH_API_KEYall subgraph + Omnigraph toolsFree key. V4 AaveKit tools work without it.
ETHEREUM_RPC_URL (and BASE_, ARBITRUM_, POLYGON_, OPTIMISM_, AVALANCHE_)the two live on-chain toolsOptional but recommended — the unconfigured public fallback is rate-limited or blocked on many networks.
AAVE_V4_API_URLV4 AaveKit toolsDefaults to https://api.v4.aave.com/graphql.
AAVE_V4_OMNIGRAPH_DEPLOYMENT_IDOmnigraph toolsDefaults to the decentralized-network deployment.
AAVE_V4_OMNIGRAPH_URLOmnigraph toolsSet only to bypass the gateway for a self-hosted/Studio deployment.

License

MIT