1. Conduid
  2. Blockchain
  3. io.github.aarna-ai/atv
MCP server · Blockchain

io.github.aarna-ai/atv

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

Unclaimed last commit 7 months ago blockchain
37Low

Scored 6 months ago · breakdown

About io.github.aarna-ai/atv

io.github.aarna-ai/atv is an MCP server published by aarna-ai in the Blockchain category: access Aarna's DeFi yield vaults — query NAV/TVL/APY, build transactions, track portfolios.

Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

Claude Code
claude mcp add io-github-aarna-ai-atv -- npx -y @aarna-ai/mcp-server-atv
npx
npx -y @aarna-ai/mcp-server-atv

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (2)

get_vaultGet metadata for a specific vault by address

Parameters not published.

list_vaultsList all vaults, optionally filter by chain

Parameters not published.

Ask AI

✦

Ask AI about io.github.aarna-ai/atv

Powered by Claude · Grounded in docs

I know everything about io.github.aarna-ai/atv. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

ATV — DeFi Yield Vault MCP Server

npm version npm downloads smithery badge MCP Registry TypeScript GitHub

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

Tool Description
list_vaults List all vaults, optionally filter by chain
get_vault Get metadata for a specific vault by address

Performance Metrics

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

Operational Status

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

Transaction Builders (Instant)

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)

Transaction Builders (Queued)

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

Analytics

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

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

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)

Transaction Endpoints

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

Other Endpoints

Method Path Description
GET /v1/user-investments User portfolio data
ALL /mcp MCP server (Streamable HTTP)

Unauthenticated

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

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.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About io.github.aarna-ai/atv

How do I install io.github.aarna-ai/atv?

Run claude mcp add io-github-aarna-ai-atv -- npx -y @aarna-ai/mcp-server-atv, then add the server to your MCP client's configuration.

Is io.github.aarna-ai/atv safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is io.github.aarna-ai/atv still maintained?

The last commit was 7 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.