Aave MCP#
Aave MCP gives AI agents a single interface to Aave v3 and v4. Compatible clients can discover markets, inspect positions, simulate protocol actions, and prepare transactions for a user's wallet to review and sign.
Server endpoint: https://mcp.aave.com
What You Can Do#
Explore markets: Retrieve supported chains, reserves, available liquidity, protocol structure, and current or historical rates.
Review positions: Inspect a wallet's supplies, borrows, health factor, activity, and rewards.
Prepare actions: Simulate and build supply, borrow, withdraw, repay, collateral, reward, and liquidation transactions.
Use specialized capabilities: Work with token swaps, Aave v4 hub data, Savings GHO, and Aave DAO governance data.
See the Tools reference for the complete tool inventory, parameters, and response schemas.
Action Lifecycle#
Build actions in five stages.
Discover:
get_marketsreturns the reserve, narrowed with asymbolsfilter to the asset in question. The ids it returns are what every later stage takes.Inspect:
get_reserve_detailsfor rates, caps and risk parameters.get_user_summaryfor the wallet's position and health factor.Simulate:
preview_actionreports what the action would leave behind, and warns when it cannot succeed. Never skip it before a borrow or a withdraw.Build:
prepare_actionreturns an unsigned transaction, preceded by an approval step where the token needs one.Sign: The user's wallet signs and submits.
get_transaction_processedsays when Aave has caught up, which is what a dependent follow-up should wait on.
Safety#
Reads are side-effect-free and prepare_* tools commit nothing, so nothing moves until the user signs. Safety covers the guarantees, the warnings that stop an action, and the reserve flags that block some actions but not others.
Integrate Aave#
Quick Start#
Every call is a tools/call with a tool name and its arguments. These are the params an agent sends, and Getting Started has the full request envelope.
- Market Data
- Account Data
- Supply
get_markets
{ "name": "get_markets", "arguments": { "version": "all", "symbols": ["USDC"] }}One call covers both versions and every chain each of them serves, and the result names those chains under chainsCovered.
Building in code rather than through an agent? AaveKit covers the same operations.