Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Atv

Atv

I
by io.github.aarna-ai

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

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
npx -y @aarna-ai/[email protected]
Credentials from the publisher
  • ATV_API_KEY — API key for authenticating with the ATV API
Provider
Claude Code
ATV_API_KEY=<secret> claude mcp add io.github.aarna-ai-atv -- npx -y @aarna-ai/[email protected]

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.aarna-ai-atv": {
      "command": "npx",
      "args": [
        "-y",
        "@aarna-ai/[email protected]"
      ],
      "env": {
        "ATV_API_KEY": "<secret>"
      }
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Atv?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Atv need an API key?
The publisher lists these environment variables: ATV_API_KEY.
What transport does Atv use?
Atv runs locally over stdio.
When was Atv last checked?
Last checked 2026-10-16. Access Aarna's DeFi yield vaults — query NAV/TVL/APY, build transactions, track portfolios.

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

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 [email protected].

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.

How do I install Atv?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Atv need an API key?
The publisher lists these environment variables: ATV_API_KEY.
What transport does Atv use?
Atv runs locally over stdio.
When was Atv last checked?
Last checked 2026-10-16. Access Aarna's DeFi yield vaults — query NAV/TVL/APY, build transactions, track portfolios.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA