Access Aarna's DeFi yield vaults β query NAV/TVL/APY, build transactions, track portfolios.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
AI-native access to Aarna's tokenized yield vaults on Ethereum and Base. 20 tools for vault discovery, performance metrics, transaction building, and portfolio tracking.
API Base URL: https://atv-api.aarna.ai
MCP Endpoint: https://atv-api.aarna.ai/mcp (Streamable HTTP)
API Docs: https://atv-api.aarna.ai/docs
The hosted API at https://atv-api.aarna.ai is available to anyone with a valid API key. All requests require an x-api-key header.
To get an API key, reach out to us at dev@aarnalab.dev.
Once you have your API key, add the config to your client:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Create .cursor/mcp.json in your project root:
Add to .vscode/settings.json:
| Tool | Description |
|---|---|
list_vaults | List all vaults, optionally filter by chain |
get_vault | Get metadata for a specific vault by address |
| Tool | Description |
|---|---|
get_vault_nav | Current NAV (Net Asset Value) in USD |
get_vault_tvl | Current TVL (Total Value Locked) in USD |
get_vault_apy | APY breakdown: base + reward + total |
| Tool | Description |
|---|---|
get_deposit_status | Whether deposits are paused |
get_withdraw_status | Whether withdrawals are paused |
get_queue_withdraw_status | Whether queued withdrawals are paused |
| Tool | Description |
|---|---|
build_deposit_tx | Build approve + deposit transaction steps |
build_withdraw_tx | Build withdrawal transaction steps |
build_stake_tx | Build approve + stake steps (timelock vaults) |
build_unstake_tx | Build unstake step (timelock vaults) |
| Tool | Description |
|---|---|
build_queue_withdraw_tx | Initiate a queued withdrawal |
build_unqueue_withdraw_tx | Cancel a pending queued withdrawal |
build_redeem_withdraw_tx | Claim a completed queued withdrawal |
| Tool | Description |
|---|---|
get_vault_portfolio | Underlying token portfolio |
get_historical_nav | NAV data points over a period (7, 30, 60, 360, max) |
get_historical_tvl | TVL data points over a period (7, 30, 60, 360, max) |
get_total_tvl | Platform-wide or per-vault TVL |
get_user_investments | User portfolio and positions |
All endpoints require x-api-key header and are prefixed with /v1.
| Method | Path | Description |
|---|---|---|
| GET | /v1/vaults | List all available vaults |
| GET | /v1/vaults/tvl | Platform-wide TVL |
| GET | /v1/vaults/:address | Vault metadata |
| GET | /v1/vaults/:address/nav | NAV price |
| GET | /v1/vaults/:address/tvl | Vault TVL |
| GET | /v1/vaults/:address/apy | APY breakdown |
| GET | /v1/vaults/:address/deposit-status | Deposit pause status |
| GET | /v1/vaults/:address/withdraw-status | Withdraw pause status |
| GET | /v1/vaults/:address/queue-withdraw-status | Queue-withdraw pause status |
| GET | /v1/vaults/:address/portfolio | Token portfolio |
| GET | /v1/vaults/:address/historical-nav | Historical NAV (days: 7,30,60,360,max) |
| GET | /v1/vaults/:address/historical-tvl | Historical TVL (days: 7,30,60,360,max) |
| Method | Path | Description |
|---|---|---|
| GET | /v1/deposit-tx | Build deposit calldata |
| GET | /v1/withdraw-tx | Build withdraw calldata |
| GET | /v1/stake-tx | Build stake calldata |
| GET | /v1/unstake-tx | Build unstake calldata |
| GET | /v1/queue-withdraw-tx | Build queue-withdraw calldata |
| GET | /v1/unqueue-withdraw-tx | Build unqueue-withdraw calldata |
| GET | /v1/redeem-withdraw-tx | Build redeem-withdraw calldata |
| Method | Path | Description |
|---|---|---|
| GET | /v1/user-investments | User portfolio data |
| ALL | /mcp | MCP server (Streamable HTTP) |
| Method | Path | Description |
|---|---|---|
| GET | /health | Health check |
| GET | /openapi.json | OpenAPI 3.1 spec |
| GET | /docs | Interactive API reference |
| GET | /llms.txt | LLM-friendly documentation (llms.txt spec) |
| GET | /.well-known/agent.json | A2A agent card |
Required environment variables (set in AWS Secrets Manager under atv-sdk):
DATABASE_URL β PostgreSQL connection stringREDIS_URL β Redis host:portRPC_URL_ETHEREUM β Ethereum JSON-RPC endpointRPC_URL_BASE β Base JSON-RPC endpointSTRAPI_URL β CMS URLSTRAPI_API_TOKEN β CMS API tokenENGINE_BASE_URL β Aarna engine APIAPI: http://localhost:3000 | Docs: http://localhost:3000/docs
See docs/customer-onboarding.md for how to generate API keys, manage tiers, revoke access, and run admin queries.
MIT β see LICENSE.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/atv)<a href="https://allmcps.com/mcp/atv"><img src="https://allmcps.com/api/badge/atv?style=directory" alt="Atv on AllMCPs" /></a>