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.
Aave MCP never holds private keys or signs transactions. Action tools return an unsigned transaction or EIP-712 typed data for the user's wallet. For swaps, the server can relay an order only after the user has signed it.
Discover: get_markets returns the reserve, narrowed with a symbols filter to the asset in question. The ids it returns are what every later stage takes.
Inspect: get_reserve_details for rates, caps and risk parameters. get_user_summary for the wallet's position and health factor.
Simulate: preview_action reports what the action would leave behind, and warns when it cannot succeed. Never skip it before a borrow or a withdraw.
Build: prepare_action returns an unsigned transaction, preceded by an approval step where the token needs one.
Sign: The user's wallet signs and submits. get_transaction_processed says 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
{ "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.