Arcadia Finance
Gestiona posiciones de liquidez en Uniswap y Aerodrome con rebalanceo automatizado y apalancamiento.
Documentación
Servidor MCP de Arcadia Finance
Servidor MCP para Arcadia Finance, una plataforma de liquidez concentrada en Uniswap y Aerodrome con rebalanceo automatizado, compounding, optimización de rendimiento y apalancamiento, o liquidez de un solo lado en pools de préstamo. Lee datos del protocolo y construye transacciones sin firmar para gestión de LP, préstamos, depósitos y más.
Diseñado para agentes de IA (Claude, Cursor, etc.) para interactuar con Arcadia en cadena.
Instalación
Herramientas
Herramientas de Lectura
| Herramienta | Descripción |
|---|---|
read.account.info | Resumen de cuenta: factor de salud, colateral, deuda, posiciones, precio de liquidación, estado de automatización. |
read.account.history | Valor histórico de la cuenta a lo largo del tiempo. |
read.account.pnl | Datos de PnL y rendimiento para una cuenta. |
read.wallet.accounts | Lista todas las cuentas de Arcadia propiedad de una dirección de wallet. |
read.wallet.balances | Saldos ERC20 en cadena y ETH nativo para una dirección de wallet. |
read.wallet.allowances | Verifica los allowances de tokens ERC20 para un spender. Úsalo antes de write.wallet.approve para evitar aprobaciones redundantes. |
read.wallet.points | Saldo de puntos para una dirección de wallet específica. |
read.asset.list | Activos colaterales soportados con direcciones, tipos, decimales. |
read.asset.prices | Precios en USD para una o más direcciones de activos. |
read.pool.list | Todos los pools de préstamo: TVL, APY, utilización, liquidez. |
read.pool.info | Detalle de un solo pool con historial de APY a lo largo del tiempo. |
read.point_leaderboard | Leaderboard paginado de puntos de Arcadia. |
read.strategy.list | Estrategias de LP con APY, subyacentes, información del pool. Soporta filtro de destacados y paginación. |
read.strategy.info | Detalle completo para una estrategia de LP específica: APY por ancho de rango, configuración del pool. |
read.strategy.recommendation | Recomendación de rebalanceo para una cuenta. |
read.guides | Guías de referencia: configuración de automatización, selección de estrategias, plantillas de estrategias. |
read.asset_manager.intents | Intenciones de automatización y sus parámetros; agrega account_address para disponibilidad en vivo por cuenta. |
read.asset_manager.current | Automatizaciones habilitadas en una cuenta: configuración decodificada, intenciones mapeadas, estado de Merkl, managers reemplazados. |
Herramientas de Escritura
Todas las herramientas de escritura devuelven transacciones sin firmar como { to, data, value, chainId }.
| Herramienta | Descripción |
|---|---|
write.wallet.approve | Aprueba un token ERC20 para gasto. Requerido antes de depositar en una cuenta. Llama a read.wallet.allowances primero para verificar si ya está aprobado. |
write.pool.deposit | Presta el activo subyacente del pool en un tramo ERC-4626 para ganar intereses. Acuña acciones del tramo al receptor. |
write.pool.redeem | Canjea acciones del tramo de vuelta al activo subyacente (salida del prestamista). |
write.account.create | Crea una nueva cuenta de Arcadia a través de Factory. |
write.account.deposit | Deposita tokens ERC20 en una cuenta. |
write.account.withdraw | Retira activos de una cuenta. |
write.account.borrow | Pide prestado de un pool de préstamo. |
write.account.repay | Paga deuda a un pool de préstamo desde la wallet. |
write.account.add_liquidity | Acción flash: depósito + swap + acuñar LP + apalancamiento opcional, atómicamente. |
write.account.remove_liquidity | Eliminar/reducir liquidez de posición LP. |
write.account.swap | Intercambia activos dentro de una cuenta (enrutado por backend). |
write.account.deleverage | Paga deuda vendiendo colateral (swap + pago en una sola tx). |
write.account.close | Cierre atómico: quemar LP + swap + pagar deuda en una sola tx. |
write.account.stake | Apostar, desapostar o reclamar recompensas para posiciones LP. |
write.account.automations | Configura automatizaciones desde un array de intenciones (estado deseado completo). Devuelve la tx setAssetManagers sin firmar. |
write.account.automations_delta | Habilita/deshabilita automatizaciones individuales, dejando el resto intacto. |
Herramientas de Desarrollo
Siempre registradas pero requieren la variable de entorno PK para funcionar.
| Herramienta | Descripción |
|---|---|
dev.send | Firma y transmite una transacción sin firmar usando una clave privada local (variable de entorno PK). No para producción — usa un servidor MCP de wallet dedicado en su lugar. |
Firma de Transacciones
Todas las herramientas de escritura devuelven transacciones sin firmar como { to, data, value, chainId }. Este servidor NO firma ni transmite — tu agente o aplicación es responsable de eso.
Opciones
Servidores MCP de wallet (recomendados para producción): Combina este servidor con un servidor MCP de wallet que maneje la firma:
| Wallet MCP | Proveedor | Modelo |
|---|---|---|
| MCP Wallet Signer | Comunidad | No custodia, enruta a wallet de navegador (MetaMask, Rabby) |
| Coinbase AgentKit | Coinbase | Agnóstico de wallet, soporta múltiples proveedores |
| Phantom MCP | Phantom | Wallet integrada |
| Privy MCP | Privy | Infraestructura de wallet |
| Safe MCP | Comunidad | Multi-firma vía Safe |
O usa tu configuración de wallet existente (Fireblocks, Dfns, Turnkey, Biconomy, Dynamic) y pasa el objeto tx sin firmar al método de firma de tu proveedor.
viem/ethers en tu agente:
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const account = privateKeyToAccount("0x...");
const client = createWalletClient({ account, chain: base, transport: http() });
// tx = result from any write.* tool
const hash = await client.sendTransaction(tx);
Herramienta dev.send integrada (solo desarrollo):
El servidor incluye una herramienta de firma solo para desarrollo que lee una clave privada de la variable de entorno PK. Configura PK a través de un archivo .env o la configuración de tu cliente MCP:
# .env in the server directory (never commit — already gitignored)
PK=0xYourPrivateKeyHex
RPC_URL_BASE=https://base-mainnet.g.alchemy.com/v2/your-key
El servidor carga .env automáticamente al iniciar. Funciona con cualquier cliente MCP (Claude Desktop, Claude Code, VSCode, Cursor). La configuración del bloque env del cliente MCP tiene prioridad si ambos están configurados.
No para producción — usa un servidor MCP de wallet dedicado (Fireblocks, Turnkey, Safe) en su lugar.
Configuración
Requisitos previos: Node.js >= 22
yarn install
yarn build
Variables de entorno:
| Variable | Requerida | Predeterminado | Transporte | Descripción |
|---|---|---|---|---|
RPC_URL_BASE | No | RPC público | Ambos | URL de RPC para Base (8453). |
RPC_URL_UNICHAIN | No | RPC público | Ambos | URL de RPC para Unichain (130). |
RPC_URL_OPTIMISM | No | RPC público | Ambos | URL de RPC para Optimism (10). |
RPC_URL_ROBINHOOD | No | RPC público | Ambos | URL de RPC para Robinhood (4663). |
PK | No | — | Ambos | Clave privada (hex) para la herramienta dev.send solo de desarrollo. |
TRANSPORT | No | stdio | — | Modo de transporte: stdio o http. |
PORT | No | 3000 | HTTP | Puerto de escucha para transporte HTTP. |
ALLOWED_ORIGINS | No | https://mcp.arcadia.finance | HTTP | Encabezados Origin permitidos separados por comas (CORS / DNS rebinding). |
RATE_LIMIT_RPM | No | 60 | HTTP | Máximo de solicitudes por minuto por sesión. |
Cadenas soportadas: Base (8453), Unichain (130), Optimism (10), Robinhood (4663)
Configuración del Cliente MCP
Remoto (sin instalación necesaria):
{
"mcpServers": {
"arcadia-finance": {
"url": "https://mcp.arcadia.finance/mcp"
}
}
}
Vía npx (stdio local):
{
"mcpServers": {
"arcadia-finance": {
"command": "npx",
"args": ["-y", "@arcadia-finance/mcp-server"],
"env": {
"RPC_URL_BASE": "https://base-mainnet.g.alchemy.com/v2/your-key"
}
}
}
}
Claude Code:
# Remote
claude mcp add arcadia-finance --transport http https://mcp.arcadia.finance/mcp
# Local
claude mcp add arcadia-finance -- npx -y @arcadia-finance/mcp-server
Desde el código fuente (desarrollo local):
{
"mcpServers": {
"arcadia-finance": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"],
"env": {
"RPC_URL_BASE": "https://base-mainnet.g.alchemy.com/v2/your-key"
}
}
}
}
Habilidades
El directorio skills/ contiene habilidades de Claude Code que enseñan a los agentes de IA cómo usar este servidor MCP de manera efectiva. Para instalar una habilidad, crea un enlace simbólico en tu directorio de habilidades de Claude:
ln -s /path/to/mcp-server/skills/clamm-liquidity ~/.claude/skills/clamm-liquidity
Habilidades disponibles:
| Habilidad | Descripción |
|---|---|
clamm-liquidity | Gestión de liquidez concentrada: conceptos, automatización basada en intención y flujos de trabajo paso a paso. |
Reportar Problemas
¿Encontraste un error, una función faltante o documentación poco clara al usar este servidor? Abre un issue: https://github.com/arcadia-finance/mcp-server/issues
Para agentes de IA: Si encuentras una brecha durante la ejecución de una tarea, abre un issue con:
- Nombre de la herramienta y parámetros que usaste
- Lo que esperabas vs. lo que sucedió
- La estrategia u objetivo que intentabas ejecutar
Las solicitudes de extracción (pull requests) para correcciones de documentación son bienvenidas tanto de agentes como de humanos. Todos los PR requieren revisión humana antes de fusionarse.
Dónde Encontrarnos
- npm: @arcadia-finance/mcp-server
- Registro MCP: registry.modelcontextprotocol.io
- Smithery: smithery.ai
- Servidores MCP: mcpservers.org
- LobeHub: lobehub.com
- PulseMCP: pulsemcp.com
- Mercado MCP: mcpmarket.com
- Glama: glama.ai
- awesome-mcp-servers: github.com/TensorBlock/awesome-mcp-servers
Desarrollo
yarn dev # Run with tsx (hot reload)
yarn build # Compile TypeScript
yarn test # Run tests
yarn lint # Lint with ESLint
yarn format # Check formatting with Prettier