关于 Atv By Aarna
Atv By Aarna 是用于访问 Aarna 在 Ethereum 和 Base 上收益金库的 MCP 服务及 TypeScript SDK。它提供金库数据、分析、交易构建工具和用户投资信息。
主要功能
- 01发现金库及其元数据
- 02查询 NAV、TVL 和 APY
- 03查看存入与提取状态
- 04构建存入、提取和质押交易
- 05查看金库及用户投资组合
- 06查询金库历史指标
适用场景
- 01比较金库收益与表现
- 02检查金库操作是否暂停
- 03准备金库存入或提取交易
- 04查看 Aarna 金库中的投资
MCP 相关
通过 Streamable HTTP MCP 端点提供金库发现、指标、状态、分析和交易构建工具。请求需要 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
20收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| chain | string | 否 | 按链名称或 ID 筛选(例如 'ethereum'、'base'、'8453') |
| userAddress | string | 否 | 用于返回每种存款代币余额的 EVM 地址 |
详细介绍
ATV — DeFi 收益金库 MCP 服务
以 AI 为核心,访问 Aarna 在 Ethereum 和 Base 上的代币化收益金库。提供 20 个工具,用于金库发现、表现指标、交易构建和投资组合跟踪。
API 基础 URL: https://atv-api.aarna.ai
MCP 端点: https://atv-api.aarna.ai/mcp(Streamable HTTP)
API 文档: https://atv-api.aarna.ai/docs
API 访问
托管 API https://atv-api.aarna.ai 面向所有持有有效 API 密钥的用户开放。所有请求都需要 x-api-key 标头。
如需获取 API 密钥,请通过 [email protected] 联系我们。
快速开始(30 秒)
获取 API 密钥后,将配置添加到客户端:
Claude Desktop
编辑 ~/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
在项目根目录中创建 .cursor/mcp.json:
{
"mcpServers": {
"atv": {
"url": "https://atv-api.aarna.ai/mcp",
"headers": { "x-api-key": "YOUR_API_KEY" }
}
}
}
VS Code (Copilot)
添加到 .vscode/settings.json:
{
"mcp": {
"servers": {
"atv": {
"url": "https://atv-api.aarna.ai/mcp",
"headers": { "x-api-key": "YOUR_API_KEY" }
}
}
}
}
mcp-remote(仅支持 stdio 的客户端的备用方案)
{
"mcpServers": {
"atv": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://atv-api.aarna.ai/mcp", "--header", "x-api-key:YOUR_API_KEY"]
}
}
}
可用工具(19 个)
发现与元数据
| 工具 | 描述 |
|---|---|
list_vaults | 列出所有金库,可按链筛选 |
get_vault | 按地址获取指定金库的元数据 |
表现指标
| 工具 | 描述 |
|---|---|
get_vault_nav | 当前以 USD 计价的 NAV(净资产价值) |
get_vault_tvl | 当前以 USD 计价的 TVL(总锁仓价值) |
get_vault_apy | APY 明细:基础 + 奖励 + 总计 |
运行状态
| 工具 | 描述 |
|---|---|
get_deposit_status | 存款是否已暂停 |
get_withdraw_status | 提款是否已暂停 |
get_queue_withdraw_status | 排队提款是否已暂停 |
交易构建器(即时)
| 工具 | 描述 |
|---|---|
build_deposit_tx | 构建授权 + 存款交易步骤 |
build_withdraw_tx | 构建提款交易步骤 |
build_stake_tx | 构建授权 + 质押步骤(时间锁金库) |
build_unstake_tx | 构建解除质押步骤(时间锁金库) |
交易构建器(排队)
| 工具 | 描述 |
|---|---|
build_queue_withdraw_tx | 发起排队提款 |
build_unqueue_withdraw_tx | 取消待处理的排队提款 |
build_redeem_withdraw_tx | 领取已完成的排队提款 |
分析
| 工具 | 描述 |
|---|---|
get_vault_portfolio | 底层代币投资组合 |
get_historical_nav | 某一时间段内的 NAV 数据点(7、30、60、360、max) |
get_historical_tvl | 某一时间段内的 TVL 数据点(7、30、60、360、max) |
get_total_tvl | 平台整体或单个金库的 TVL |
get_user_investments | 用户投资组合和持仓 |
示例提示词
- “Base 上有哪些 DeFi 金库可用?”
- “金库 0x... 当前的 APY 是多少?”
- “构建一笔向金库 0x... 存入 1000 USDC 的交易。”
- “显示我在所有 Aarna 金库中的投资组合”
- “金库 0x... 的排队提款是否已暂停?”
REST API
所有端点都需要 x-api-key 标头,并以 /v1 为前缀。
Vault 端点
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /v1/vaults | 列出所有可用的 Vault |
| GET | /v1/vaults/tvl | 平台总 TVL |
| GET | /v1/vaults/:address | Vault 元数据 |
| GET | /v1/vaults/:address/nav | NAV 价格 |
| GET | /v1/vaults/:address/tvl | Vault TVL |
| GET | /v1/vaults/:address/apy | APY 明细 |
| GET | /v1/vaults/:address/deposit-status | 存款暂停状态 |
| GET | /v1/vaults/:address/withdraw-status | 提取暂停状态 |
| GET | /v1/vaults/:address/queue-withdraw-status | 排队提取暂停状态 |
| GET | /v1/vaults/:address/portfolio | 代币组合 |
| GET | /v1/vaults/:address/historical-nav | 历史 NAV(天数:7、30、60、360、max) |
| GET | /v1/vaults/:address/historical-tvl | 历史 TVL(天数:7、30、60、360、max) |
交易端点
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /v1/deposit-tx | 构建存款 calldata |
| GET | /v1/withdraw-tx | 构建提取 calldata |
| GET | /v1/stake-tx | 构建质押 calldata |
| GET | /v1/unstake-tx | 构建取消质押 calldata |
| GET | /v1/queue-withdraw-tx | 构建排队提取 calldata |
| GET | /v1/unqueue-withdraw-tx | 构建取消排队提取 calldata |
| GET | /v1/redeem-withdraw-tx | 构建赎回提取 calldata |
其他端点
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /v1/user-investments | 用户投资组合数据 |
| ALL | /mcp | MCP 服务(Streamable HTTP) |
无需身份验证
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /health | 健康检查 |
| GET | /openapi.json | OpenAPI 3.1 规范 |
| GET | /docs | 交互式 API 参考 |
| GET | /llms.txt | 适用于大模型的文档(llms.txt 规范) |
| GET | /.well-known/agent.json | A2A Agent 卡片 |
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');
自托管
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
必需的环境变量(在 AWS Secrets Manager 的 atv-sdk 下设置):
DATABASE_URL— PostgreSQL 连接字符串REDIS_URL— Redis 主机:端口RPC_URL_ETHEREUM— Ethereum JSON-RPC 端点RPC_URL_BASE— Base JSON-RPC 端点STRAPI_URL— CMS URLSTRAPI_API_TOKEN— CMS API 令牌ENGINE_BASE_URL— Aarna 引擎 API
开发
前置条件
- Node.js 20+
- pnpm
- PostgreSQL
- Redis
设置
pnpm install
cp .env.example apps/api/.env
# Fill in environment variables
pnpm migrate
pnpm dev
API:http://localhost:3000 | 文档:http://localhost:3000/docs
仓库结构
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
构建
pnpm build
# API: apps/api/dist/
# SDK: packages/sdk/dist/ (CJS + ESM)
客户入驻
请参阅 docs/customer-onboarding.md,了解如何生成 API 密钥、管理层级、撤销访问权限以及运行管理查询。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。