# Aave MCP server

> Query Aave V3 and V4 markets, positions, rewards and swaps, and prepare unsigned transactions for your own wallet to sign.

- Listing: https://mcp.tc/i/aave
- Connect: use the server's own URL `https://mcp.aave.com` (no sign-in); clients connect to it directly. The listing link is a page, not an MCP endpoint.
- Type: remote (Streamable HTTP)
- Auth: none
- Category: [Finance & Payments](https://mcp.tc/c/finance-payments)
- Vendor: Aave
- Homepage: <https://aave.com>
- Repository: <https://github.com/aave/mcp>
- Package: npm `@aave/mcp`

## About

Connects to the Aave lending protocol on both V3 and V4. You can list chains and markets, inspect reserves and interest rate curves, check a wallet's positions, health factor, activity and rewards, and look at V4 hubs, spokes and history. It also covers eMode categories, the sGHO savings vault and token swap quotes and orders.

Transactions are non-custodial. Supply, borrow, withdraw, repay, collateral, eMode, liquidation, reward claims and sGHO actions return an unsigned transaction or EIP-712 typed data for the user's wallet to sign. Only signed orders and cancellations are relayed. A preview tool simulates an action before a borrow or withdraw. The hosted streamable HTTP endpoint needs no sign-in or API key. An npm package, @aave/mcp, is also listed.

## What it can do

- List Aave V3 and V4 markets, reserves, APY and caps
- Check a wallet's positions, health factor and activity
- Read APY history and V4 hub, spoke and protocol history
- Simulate supply, borrow, withdraw or repay before executing
- Build unsigned transactions for the user's wallet to sign
- Get swap quotes and manage signed swap orders
- View and claim rewards, and use the sGHO savings vault

## Tools (53)

- `get_chains`: List chains Aave supports on v3, v4 or both. (read-only)
- `get_markets`: List Aave markets and reserves with symbol, APY, caps and liquidity. (read-only)
- `get_emode_categories`: v3 only. (read-only)
- `get_user_positions`: A wallet's supplies and borrows on v3, v4 or both. (read-only)
- `get_position_items`: v4 only. (read-only)
- `get_user_summary`: A wallet's aggregate position and health factor. (read-only)
- `get_transaction_processed`: v4 only. (read-only)
- `get_reserve_details`: Rates, caps, risk parameters, utilisation and token addresses for one reserve. (read-only)
- `get_apy_history`: Historical supply or borrow APY for a reserve. (read-only)
- `get_user_activity`: A wallet's Aave transaction history, most recent first. (read-only)
- `get_protocol_history`: v4 only. (read-only)
- `get_user_summary_history`: v4 only. (read-only)
- `get_hubs`: v4 only. (read-only)
- `get_hub_assets`: v4 only. (read-only)
- `get_market_history`: v4 only. (read-only)
- `get_asset_history`: v4 only. (read-only)
- `get_reserve_holders`: v4 only. (read-only)
- `get_interest_rate_model`: v4 only. (read-only)
- `get_wallet_balances`: v4 only. (read-only)
- `get_risk_premium`: v4 only. (read-only)
- `get_spoke_configs`: v4 only. (read-only)
- `get_multichain_asset`: v4 only. (read-only)
- `prepare_liquidation`: Build an unsigned transaction to liquidate an unhealthy position. (read-only)
- `prepare_set_emode`: v3 only. (read-only)
- `prepare_action`: Build an unsigned supply, borrow, withdraw or repay transaction. (read-only)
- `prepare_set_collateral`: Build an unsigned transaction to enable or disable collateral. (read-only)
- `preview_action`: Simulate a supply, borrow, withdraw or repay without executing. (read-only)
- `get_swappable_tokens`: List chains and tokens available for swaps. (read-only)
- `get_swap_quote`: Get a token swap quote. (read-only)
- `prepare_order`: Prepare typed data or a transaction to sign for an order. (read-only)
- `submit_signed_order`: Relay an order the user has already signed. (can modify or delete data)
- `prepare_cancel_order`: Return the EIP-712 cancellation for the user to sign. (read-only)
- `cancel_order`: Cancel an open order, with a signature or onchain. (can modify or delete data)
- `get_order_status`: Status of an order by id, with an explorer link. (read-only)
- `get_pending_orders`: List a wallet's orders by status. (read-only)
- `get_user_rewards`: A wallet's claimable rewards on v3, v4 or both. (read-only)
- `prepare_claim_rewards`: v4 only. (read-only)
- `get_sgho_vault`: v3 only, Ethereum. (read-only)
- `get_sgho_preview`: v3 only, Ethereum. (read-only)
- `prepare_sgho_action`: v3 only, Ethereum. (read-only)
- `prepare_stkgho_migrate`: v3 only, Ethereum only. (read-only)
- `get_safety_module`: Aave's Safety Module, Ethereum only, and the one product here that is read from the contracts rather than the Aave API. (read-only)
- `get_vaults`: v3 only. (read-only)
- `get_vault_preview`: v3 only. (read-only)
- `prepare_vault_action`: v3 only. (read-only)
- `get_vault_activity`: v3 only. (read-only)
- `search_governance_proposals`: Takes no 'version' argument (DAO governance is not per-market; Governance V3 is unrelated to Aave v3/v4 markets). (read-only)
- `get_governance_proposal`: Takes no 'version' argument (DAO governance is not per-market; Governance V3 is unrelated to Aave v3/v4 markets). (read-only)
- `get_proposal_votes`: Takes no 'version' argument (DAO governance is not per-market; Governance V3 is unrelated to Aave v3/v4 markets). (read-only)
- `get_user_vote`: Takes no 'version' argument (DAO governance is not per-market; Governance V3 is unrelated to Aave v3/v4 markets). (read-only)
- `get_proposal_payloads`: Takes no 'version' argument (DAO governance is not per-market; Governance V3 is unrelated to Aave v3/v4 markets). (read-only)
- `get_aave_guide`: Applies to both versions. (read-only)
- `get_started`: Applies to both versions. (read-only)

## Example prompts

- "What is the health factor of wallet 0xABC... on Aave?"
- "Which Aave market has the best stablecoin supply APY right now?"
- "Preview borrowing 1000 USDC against my ETH collateral on Aave V3."
- "Show the interest rate curve for USDC on Aave V4."

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport http aave https://mcp.aave.com
```

2. Start Claude Code and type `/mcp`. **aave** should show as connected.

Add `--scope user` to make it available in every project, not just this one.

### Claude Desktop

1. Open **Settings → Connectors** and click **Add custom connector**.

2. Name it **Aave** and paste this URL:

```url
https://mcp.aave.com
```

3. Click **Add**. Its tools appear in the chat’s tools menu.

Claude Desktop’s JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

### claude.ai

1. Open the connector form on claude.ai. This button fills in the name and URL for you:

[Add to claude.ai](<https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Aave&connectorUrl=https%3A%2F%2Fmcp.aave.com>) (opens connector settings)

2. Check that the URL reads `https://mcp.aave.com` and click **Add**.

3. Turn it on in a chat from the tools menu.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under **Organization settings → Connectors**.

### ChatGPT

1. On chatgpt.com, open **Settings → Security and login** and turn on **Developer mode**.

2. Go to `chatgpt.com/plugins` and click **+** to create an app for a remote MCP server.

3. Paste `https://mcp.aave.com` as the server URL and choose **No authentication**.

Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=aave&config=eyJ1cmwiOiJodHRwczovL21jcC5hYXZlLmNvbSJ9>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "aave": {
      "url": "https://mcp.aave.com"
    }
  }
}
```

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=aave&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.aave.com%22%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"aave","type":"http","url":"https://mcp.aave.com"}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "aave": {
      "type": "http",
      "url": "https://mcp.aave.com"
    }
  }
}
```

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "aave": {
      "serverUrl": "https://mcp.aave.com"
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf. It reads `serverUrl` (or `url`) for remote servers.

### Codex

```bash
codex mcp add aave --url https://mcp.aave.com
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.aave]
url = "https://mcp.aave.com"
```

### Gemini CLI

```bash
gemini mcp add --transport http aave https://mcp.aave.com
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients accept this shape. Some name the URL field differently: `serverUrl` in Devin Desktop, `httpUrl` in Gemini CLI’s settings file.

```json
{
  "mcpServers": {
    "aave": {
      "type": "http",
      "url": "https://mcp.aave.com"
    }
  }
}
```

Zed puts servers under `context_servers` in its settings. Cline needs `"type": "streamableHttp"`, or it assumes SSE.

Client only starts local servers? Bridge it with `npx -y mcp-remote https://mcp.aave.com`.

## Details

- Server version: 1.0.0
- MCP protocol version: 2026-07-28
- Last checked: 2026-10-03 (reachable)
- Listed: 2026-10-03
- Updated: 2026-10-04

---
Source: https://mcp.tc/i/aave (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
