CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Atv

aarna-ai/atv-sdk
19 toolsauthHTTPregistry active
Summary

Connects Claude to Aarna's tokenized DeFi yield vaults on Ethereum and Base. Exposes 19 tools covering vault discovery, real-time NAV/TVL/APY queries, deposit/withdraw/stake transaction builders, and portfolio tracking across user positions. Handles both instant and queued withdrawal flows, pausing status checks, and historical performance data. Runs as a hosted streamable HTTP endpoint requiring an API key (request at dev@aarnalab.dev). Useful when you need to query vault metrics, construct on-chain transactions for vault operations, or track DeFi positions without writing contract integration code yourself. Includes a TypeScript SDK and self-hosting option via Docker if you want to run it locally.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

19 tools
list_vaultsList all available ATV vaults. Returns vault metadata including address, chain, withdraw type, contract type, and supported deposit tokens with balances.2 params

List all available ATV vaults. Returns vault metadata including address, chain, withdraw type, contract type, and supported deposit tokens with balances.

Parameters* required
chainstring
Filter by chain name or ID (e.g. 'ethereum', 'base', '8453')
userAddressstring
EVM address to include token balances for each deposit token
get_vaultGet metadata for a specific ATV vault by its contract address.2 params

Get metadata for a specific ATV vault by its contract address.

Parameters* required
addressstring
Vault contract address
userAddressstring
EVM address to include token balances for
get_vault_navGet the current Net Asset Value (NAV) of an ATV vault in USD.1 params

Get the current Net Asset Value (NAV) of an ATV vault in USD.

Parameters* required
addressstring
Vault contract address
get_vault_tvlGet the current Total Value Locked (TVL) of an ATV vault in USD.1 params

Get the current Total Value Locked (TVL) of an ATV vault in USD.

Parameters* required
addressstring
Vault contract address
get_vault_apyGet the current APY breakdown (base + reward + total) for an ATV vault.1 params

Get the current APY breakdown (base + reward + total) for an ATV vault.

Parameters* required
addressstring
Vault contract address
build_deposit_txBuild the transaction steps required to deposit tokens into an ATV vault. Returns an ordered array of transactions (approve then deposit) that must be sent in order.4 params

Build the transaction steps required to deposit tokens into an ATV vault. Returns an ordered array of transactions (approve then deposit) that must be sent in order.

Parameters* required
userAddressstring
EVM address of the depositor
vaultAddressstring
Vault contract address
depositAmountstring
Human-readable deposit amount, e.g. '100' for 100 USDC
depositTokenAddressstring
ERC20 token address to deposit
build_withdraw_txBuild the transaction steps required to withdraw vault shares from an ATV vault and receive an output token.6 params

Build the transaction steps required to withdraw vault shares from an ATV vault and receive an output token.

Parameters* required
simulatestring
Pass 'true' to include a gas estimate in the response
slippagestring
Slippage tolerance as a percentage, e.g. '0.5'
userAddressstring
EVM address of the withdrawer
vaultAddressstring
Vault contract address
oTokenAddressstring
Output token address to receive
sharesToWithdrawstring
Human-readable share amount to withdraw, e.g. '100'
get_deposit_statusCheck whether deposits are currently paused on an ATV vault. Use this before building a deposit transaction to avoid sending a doomed tx.1 params

Check whether deposits are currently paused on an ATV vault. Use this before building a deposit transaction to avoid sending a doomed tx.

Parameters* required
addressstring
Vault contract address
get_withdraw_statusCheck whether withdrawals are currently paused on an ATV vault. Use this before building a withdraw transaction.1 params

Check whether withdrawals are currently paused on an ATV vault. Use this before building a withdraw transaction.

Parameters* required
addressstring
Vault contract address
get_queue_withdraw_statusCheck whether queued (delayed) withdrawals are currently paused on an ATV vault.1 params

Check whether queued (delayed) withdrawals are currently paused on an ATV vault.

Parameters* required
addressstring
Vault contract address
build_stake_txBuild the transaction steps to stake vault tokens into a timelock contract for boosted rewards. Returns an approve step (if needed) and a stake step.4 params

Build the transaction steps to stake vault tokens into a timelock contract for boosted rewards. Returns an approve step (if needed) and a stake step.

Parameters* required
stakeAmountstring
Human-readable vault token amount to stake, e.g. '100'
userAddressstring
EVM address of the staker
vaultAddressstring
Vault contract address
lockPeriodIndexstring
0-indexed lock period to select from the timelock contract (e.g. '0', '1', '2')
build_unstake_txBuild the transaction step to unstake vault tokens from a timelock contract.4 params

Build the transaction step to unstake vault tokens from a timelock contract.

Parameters* required
stakeIndexstring
0-indexed position in the user's stake array to unstake from
userAddressstring
EVM address of the staker
vaultAddressstring
Vault contract address
unstakeAmountstring
Human-readable vault token amount to unstake, e.g. '100'
build_queue_withdraw_txBuild the transaction step to initiate a queued (delayed) withdrawal from an ATV vault. The withdrawal is not instant — it must be redeemed later once processed.4 params

Build the transaction step to initiate a queued (delayed) withdrawal from an ATV vault. The withdrawal is not instant — it must be redeemed later once processed.

Parameters* required
userAddressstring
EVM address of the withdrawer
vaultAddressstring
Vault contract address
tokensToWithdrawstring
Human-readable vault share amount to queue for withdrawal
withdrawTokenAddressstring
Output token address to receive when the withdrawal is redeemed
build_unqueue_withdraw_txBuild the transaction step to cancel a pending queued withdrawal request from an ATV vault.4 params

Build the transaction step to cancel a pending queued withdrawal request from an ATV vault.

Parameters* required
requestIdstring
Specific request ID to cancel (omit to cancel the latest request)
userAddressstring
EVM address of the withdrawer
vaultAddressstring
Vault contract address
oTokenAddressstring
Output token address of the queued request to cancel
build_redeem_withdraw_txBuild the transaction step to claim (redeem) a completed queued withdrawal from an ATV vault.4 params

Build the transaction step to claim (redeem) a completed queued withdrawal from an ATV vault.

Parameters* required
oTokensstring
Human-readable amount of output tokens to redeem
userAddressstring
EVM address of the withdrawer
batchCounterstring
Batch identifier from the queue contract for this withdrawal
vaultAddressstring
Vault contract address
get_vault_balanceGet the underlying token breakdown and balance data for an ATV vault from the Aarna engine database.1 params

Get the underlying token breakdown and balance data for an ATV vault from the Aarna engine database.

Parameters* required
addressstring
Vault contract address
get_historical_navGet historical NAV (Net Asset Value) data points for an ATV vault over a specified number of days. Useful for charting price trends.2 params

Get historical NAV (Net Asset Value) data points for an ATV vault over a specified number of days. Useful for charting price trends.

Parameters* required
daysstring
Number of days of history to return (default: 30)
addressstring
Vault contract address
get_total_tvlGet the total TVL (Total Value Locked) across all ATV vaults, or for a specific vault, from the Aarna engine database.1 params

Get the total TVL (Total Value Locked) across all ATV vaults, or for a specific vault, from the Aarna engine database.

Parameters* required
addressstring
Vault contract address to filter to a single vault (omit for platform-wide TVL)
get_user_investmentsGet a user's investment portfolio and position data across ATV vaults. Optionally filter to a specific vault.2 params

Get a user's investment portfolio and position data across ATV vaults. Optionally filter to a specific vault.

Parameters* required
userAddressstring
EVM address of the user
vaultAddressstring
Vault contract address to filter to a single vault

ATV — DeFi Yield Vault MCP Server

npm version npm downloads smithery badge MCP Registry License: MIT 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

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.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

ATV_API_KEY*secret

API key for authenticating with the ATV API

Categories
Finance & Commerce
Registryactive
Package@aarna-ai/mcp-server-atv
TransportHTTP
AuthRequired
UpdatedMar 18, 2026
View on GitHub

Related Finance & Commerce MCP Servers

View all →
Shopify Subscription Reconciliation MCP (Recharge Edition)

io.github.shelvick/shopify-subscription-reconciliation

Reconcile Shopify orders against Recharge subscription charges and Stripe payouts.
Google Ads

zleventer/google-ads-mcp

MCP server for Google Ads — 22 tools for spend diagnosis, impression share, and asset performance.
1
Meok Stripe Acp Checkout Mcp

csoai-org/meok-stripe-acp-checkout-mcp

MEOK Stripe ACP Checkout MCP — ChatGPT shopping bridge. Issues + verifies + signs Stripe Agentic
Google Ads

io.github.mharnett/google-ads

Google Ads MCP with MCC support: 35 tools for campaigns, keywords, reporting, GAQL.
Stripe Billing Mcp

csoai-org/stripe-billing-mcp

stripe-billing-mcp MCP server by MEOK AI Labs
Google Ads Mcp

co.pipeboard/google-ads-mcp

Google Ads automation with AI: analyze performance, manage campaigns, optimize bids.