io.github.aarna-ai/atv

Registre officiel Finance et paiements

Access Aarna's DeFi yield vaults — query NAV/TVL/APY, build transactions, track portfolios.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @aarna-ai/mcp-server-atv
Claude Code
claude mcp add atv -e 'ATV_API_KEY=<your atv_api_key>' -- npx -y @aarna-ai/mcp-server-atv@1.0.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "atv": {
            "command": "npx",
            "args": [
                "-y",
                "@aarna-ai/mcp-server-atv@1.0.1"
            ],
            "env": {
                "ATV_API_KEY": "<your atv_api_key>"
            }
        }
    }
}

Variables d'environnement

  • ATV_API_KEY obligatoire secret API key for authenticating with the ATV API

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. ATV — DeFi Yield Vault MCP Server
  2. API Access
  3. Quick Start (30 seconds)
  4. Available Tools (19)
  5. Example Prompts
  6. REST API
  7. TypeScript SDK
  8. Self-Hosting
  9. Development
  10. Customer Onboarding
  11. License

ATV — DeFi Yield Vault MCP Server

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

API Access

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.

Quick Start (30 seconds)

Once you have your API key, add the config to your client:

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "atv": {
      "url": "https://atv-api.aarna.ai/mcp",
      "headers": { "x-api-key": "YOUR_API_KEY" }
    }
  }
}
Claude Code
claude mcp add atv --transport http https://atv-api.aarna.ai/mcp --header "x-api-key: YOUR_API_KEY"
Cursor

Create .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "atv": {
      "url": "https://atv-api.aarna.ai/mcp",
      "headers": { "x-api-key": "YOUR_API_KEY" }
    }
  }
}
VS Code (Copilot)

Add to .vscode/settings.json:

{
  "mcp": {
    "servers": {
      "atv": {
        "url": "https://atv-api.aarna.ai/mcp",
        "headers": { "x-api-key": "YOUR_API_KEY" }
      }
    }
  }
}
mcp-remote (fallback for stdio-only clients)
{
  "mcpServers": {
    "atv": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://atv-api.aarna.ai/mcp", "--header", "x-api-key:YOUR_API_KEY"]
    }
  }
}

Available Tools (19)

Discovery & Metadata
ToolDescription
list_vaultsList all vaults, optionally filter by chain
get_vaultGet metadata for a specific vault by address
Performance Metrics
ToolDescription
get_vault_navCurrent NAV (Net Asset Value) in USD
get_vault_tvlCurrent TVL (Total Value Locked) in USD
get_vault_apyAPY breakdown: base + reward + total
Operational Status
ToolDescription
get_deposit_statusWhether deposits are paused
get_withdraw_statusWhether withdrawals are paused
get_queue_withdraw_statusWhether queued withdrawals are paused
Transaction Builders (Instant)
ToolDescription
build_deposit_txBuild approve + deposit transaction steps
build_withdraw_txBuild withdrawal transaction steps
build_stake_txBuild approve + stake steps (timelock vaults)
build_unstake_txBuild unstake step (timelock vaults)
Transaction Builders (Queued)
ToolDescription
build_queue_withdraw_txInitiate a queued withdrawal
build_unqueue_withdraw_txCancel a pending queued withdrawal
build_redeem_withdraw_txClaim a completed queued withdrawal
Analytics
ToolDescription
get_vault_portfolioUnderlying token portfolio
get_historical_navNAV data points over a period (7, 30, 60, 360, max)
get_historical_tvlTVL data points over a period (7, 30, 60, 360, max)
get_total_tvlPlatform-wide or per-vault TVL
get_user_investmentsUser portfolio and positions

Example Prompts

  • "What DeFi vaults are available on Base?"
  • "What's the current APY for vault 0x...?"
  • "Build a deposit of 1000 USDC into vault 0x..."
  • "Show my portfolio across all Aarna vaults"
  • "Is the queue-withdraw paused on vault 0x...?"

REST API

All endpoints require x-api-key header and are prefixed with /v1.

Vault Endpoints
MethodPathDescription
GET/v1/vaultsList all available vaults
GET/v1/vaults/tvlPlatform-wide TVL
GET/v1/vaults/:addressVault metadata
GET/v1/vaults/:address/navNAV price
GET/v1/vaults/:address/tvlVault TVL
GET/v1/vaults/:address/apyAPY breakdown
GET/v1/vaults/:address/deposit-statusDeposit pause status
GET/v1/vaults/:address/withdraw-statusWithdraw pause status
GET/v1/vaults/:address/queue-withdraw-statusQueue-withdraw pause status
GET/v1/vaults/:address/portfolioToken portfolio
GET/v1/vaults/:address/historical-navHistorical NAV (days: 7,30,60,360,max)
GET/v1/vaults/:address/historical-tvlHistorical TVL (days: 7,30,60,360,max)
Transaction Endpoints
MethodPathDescription
GET/v1/deposit-txBuild deposit calldata
GET/v1/withdraw-txBuild withdraw calldata
GET/v1/stake-txBuild stake calldata
GET/v1/unstake-txBuild unstake calldata
GET/v1/queue-withdraw-txBuild queue-withdraw calldata
GET/v1/unqueue-withdraw-txBuild unqueue-withdraw calldata
GET/v1/redeem-withdraw-txBuild redeem-withdraw calldata
Other Endpoints
MethodPathDescription
GET/v1/user-investmentsUser portfolio data
ALL/mcpMCP server (Streamable HTTP)
Unauthenticated
MethodPathDescription
GET/healthHealth check
GET/openapi.jsonOpenAPI 3.1 spec
GET/docsInteractive API reference
GET/llms.txtLLM-friendly documentation (llms.txt spec)
GET/.well-known/agent.jsonA2A agent card

TypeScript SDK

import { AtvClient } from '@atv/sdk';

const client = new AtvClient({
  apiKey: 'atv_...',
  baseUrl: 'https://atv-api.aarna.ai',
});

const vaults = await client.vaults.list({ chain: 'base' });
const nav = await client.vaults.nav('0xVaultAddress');

Self-Hosting

docker build -t atv-api \
  --build-arg AWS_ACCESS_KEY_ID=... \
  --build-arg AWS_SECRET_ACCESS_KEY=... \
  --build-arg AWS_DEFAULT_REGION=us-east-1 .

docker run -p 3000:3000 atv-api

Required environment variables (set in AWS Secrets Manager under atv-sdk):

  • DATABASE_URL — PostgreSQL connection string
  • REDIS_URL — Redis host:port
  • RPC_URL_ETHEREUM — Ethereum JSON-RPC endpoint
  • RPC_URL_BASE — Base JSON-RPC endpoint
  • STRAPI_URL — CMS URL
  • STRAPI_API_TOKEN — CMS API token
  • ENGINE_BASE_URL — Aarna engine API

Development

Prerequisites
  • Node.js 20+
  • pnpm
  • PostgreSQL
  • Redis
Setup
pnpm install
cp .env.example apps/api/.env
# Fill in environment variables
pnpm migrate
pnpm dev

API: http://localhost:3000 | Docs: http://localhost:3000/docs

Repository Structure
atv-sdk/
├── apps/api/              # Express API server + MCP server
├── packages/sdk/          # TypeScript SDK (@atv/sdk)
├── packages/mcp-server/   # npm connector package (@aarna-ai/mcp-server-atv)
├── server.json            # MCP registry manifest
└── docs/                  # Guides
Build
pnpm build
# API: apps/api/dist/
# SDK: packages/sdk/dist/ (CJS + ESM)

Customer Onboarding

See docs/customer-onboarding.md for how to generate API keys, manage tiers, revoke access, and run admin queries.

License

MIT — see LICENSE.

Questions fréquentes

Qu'est-ce que io.github.aarna-ai/atv ?

Access Aarna's DeFi yield vaults — query NAV/TVL/APY, build transactions, track portfolios.

Comment installer io.github.aarna-ai/atv ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add atv -e 'ATV_API_KEY=<your atv_api_key>' -- npx -y @aarna-ai/mcp-server-atv@1.0.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.aarna-ai/atv ?

Oui. Il attend ATV_API_KEY, à renseigner dans sa configuration.

io.github.aarna-ai/atv est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.aarna-ai/atv ?

Il est publié par aarna-ai. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.