Arcadia Finance
Gerencie posições de liquidez na Uniswap e Aerodrome com rebalanceamento automatizado e alavancagem.
Documentação
Servidor MCP Arcadia Finance
Servidor MCP para Arcadia Finance, uma plataforma de liquidez concentrada na Uniswap e Aerodrome com rebalanceamento automatizado, compostos, otimização de rendimento e alavancagem, ou liquidez de um lado só em pools de empréstimo. Leia dados do protocolo e construa transações não assinadas para gerenciamento de LP, empréstimos, depósitos e muito mais.
Projetado para agentes de IA (Claude, Cursor, etc.) interagirem com Arcadia onchain.
Instalação
Ferramentas
Ferramentas de Leitura
| Ferramenta | Descrição |
|---|---|
read.account.info | Visão geral da conta: health factor, colateral, dívida, posições, preço de liquidação, status de automação. |
read.account.history | Valor histórico da conta ao longo do tempo. |
read.account.pnl | Dados de PnL e rendimento de uma conta. |
read.wallet.accounts | Lista todas as contas Arcadia pertencentes a um endereço de carteira. |
read.wallet.balances | Saldos ERC20 onchain e ETH nativo para um endereço de carteira. |
read.wallet.allowances | Verifica allowances de tokens ERC20 para um gastador. Use antes de write.wallet.approve para evitar aprovações redundantes. |
read.wallet.points | Saldo de pontos para um endereço de carteira específico. |
read.asset.list | Ativos colaterais suportados com endereços, tipos, decimais. |
read.asset.prices | Preços em USD para um ou mais endereços de ativos. |
read.pool.list | Todas as pools de empréstimo: TVL, APY, utilização, liquidez. |
read.pool.info | Detalhe de pool individual com histórico de APY ao longo do tempo. |
read.point_leaderboard | Leaderboard de pontos Arcadia paginado. |
read.strategy.list | Estratégias de LP com APY, subjacentes, informações da pool. Suporta filtro de destaque e paginação. |
read.strategy.info | Detalhe completo para uma estratégia de LP específica: APY por largura de faixa, configuração da pool. |
read.strategy.recommendation | Recomendação de rebalanceamento para uma conta. |
read.guides | Guias de referência: configuração de automação, seleção de estratégia, modelos de estratégia. |
read.asset_manager.intents | Intents de automação e seus parâmetros; adicione account_address para disponibilidade ao vivo por conta. |
read.asset_manager.current | Automações habilitadas em uma conta: configuração decodificada, intents mapeados, estado Merkl, gerenciadores substituídos. |
Ferramentas de Escrita
Todas as ferramentas de escrita retornam transações não assinadas como { to, data, value, chainId }.
| Ferramenta | Descrição |
|---|---|
write.wallet.approve | Aprovar um token ERC20 para gasto. Necessário antes de depositar em uma conta. Chame read.wallet.allowances primeiro para verificar se já foi aprovado. |
write.pool.deposit | Empreste o ativo subjacente da pool em uma tranche ERC-4626 para ganhar juros. Emite shares da tranche para o receptor. |
write.pool.redeem | Resgata shares da tranche de volta para o ativo subjacente (saída do credor). |
write.account.create | Cria uma nova conta Arcadia via Factory. |
write.account.deposit | Deposita tokens ERC20 em uma conta. |
write.account.withdraw | Retira ativos de uma conta. |
write.account.borrow | Empresta de uma pool de empréstimo. |
write.account.repay | Paga dívida a uma pool de empréstimo a partir da carteira. |
write.account.add_liquidity | Ação flash: depósito + swap + mint de LP + alavancagem opcional, atomicamente. |
write.account.remove_liquidity | Remove/diminui liquidez da posição LP. |
write.account.swap | Troca ativos dentro de uma conta (roteado pelo backend). |
write.account.deleverage | Paga dívida vendendo colateral (swap + pagamento em uma tx). |
write.account.close | Fechamento atômico: burn de LP + swap + pagamento de dívida em uma tx. |
write.account.stake | Stake, unstake ou reivindica recompensas para posições LP. |
write.account.automations | Configura automações a partir de um array de intents (estado desejado completo). Retorna a tx setAssetManagers não assinada. |
write.account.automations_delta | Habilita/desabilita automações individuais, deixando o restante intacto. |
Ferramentas de Desenvolvimento
Sempre registradas, mas requerem a variável de ambiente PK para funcionar.
| Ferramenta | Descrição |
|---|---|
dev.send | Assina e transmite uma transação não assinada usando uma chave privada local (variável de ambiente PK). Não para produção — use um servidor MCP de carteira dedicado. |
Assinatura de Transações
Todas as ferramentas de escrita retornam transações não assinadas como { to, data, value, chainId }. Este servidor NÃO assina nem transmite — seu agente ou aplicação é responsável por isso.
Opções
Servidores MCP de carteira (recomendados para produção): Combine este servidor com um servidor MCP de carteira que lida com assinatura:
| Carteira MCP | Provedor | Modelo |
|---|---|---|
| MCP Wallet Signer | Comunidade | Não custodial, roteia para carteira de navegador (MetaMask, Rabby) |
| Coinbase AgentKit | Coinbase | Agnóstico de carteira, suporta múltiplos provedores |
| Phantom MCP | Phantom | Carteira incorporada |
| Privy MCP | Privy | Infraestrutura de carteira |
| Safe MCP | Comunidade | Multi-assinatura via Safe |
Ou use sua configuração de carteira existente (Fireblocks, Dfns, Turnkey, Biconomy, Dynamic) e passe o objeto tx não assinado para o método de assinatura do seu provedor.
viem/ethers no seu 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);
Ferramenta dev.send integrada (somente desenvolvimento):
O servidor inclui uma ferramenta de assinatura somente para desenvolvimento que lê uma chave privada da variável de ambiente PK. Defina PK via arquivo .env ou na configuração do seu 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
O servidor carrega .env automaticamente na inicialização. Funciona com qualquer cliente MCP (Claude Desktop, Claude Code, VSCode, Cursor). As configurações do bloco env do cliente MCP têm precedência se ambos estiverem definidos.
Não para produção — use um servidor MCP de carteira dedicado (Fireblocks, Turnkey, Safe) em vez disso.
Configuração
Pré-requisitos: Node.js >= 22
yarn install
yarn build
Variáveis de ambiente:
| Variável | Obrigatória | Padrão | Transporte | Descrição |
|---|---|---|---|---|
RPC_URL_BASE | Não | RPC Público | Ambos | URL RPC para Base (8453). |
RPC_URL_UNICHAIN | Não | RPC Público | Ambos | URL RPC para Unichain (130). |
RPC_URL_OPTIMISM | Não | RPC Público | Ambos | URL RPC para Optimism (10). |
RPC_URL_ROBINHOOD | Não | RPC Público | Ambos | URL RPC para Robinhood (4663). |
PK | Não | — | Ambos | Chave privada (hex) para a ferramenta dev.send somente de desenvolvimento. |
TRANSPORT | Não | stdio | — | Modo de transporte: stdio ou http. |
PORT | Não | 3000 | HTTP | Porta de escuta para transporte HTTP. |
ALLOWED_ORIGINS | Não | https://mcp.arcadia.finance | HTTP | Cabeçalhos Origin permitidos separados por vírgula (CORS / DNS rebinding). |
RATE_LIMIT_RPM | Não | 60 | HTTP | Máximo de requisições por minuto por sessão. |
Chains suportadas: Base (8453), Unichain (130), Optimism (10), Robinhood (4663)
Configuração do Cliente MCP
Remoto (sem instalação):
{
"mcpServers": {
"arcadia-finance": {
"url": "https://mcp.arcadia.finance/mcp"
}
}
}
Via 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
A partir do código-fonte (desenvolvimento 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"
}
}
}
}
Skills
O diretório skills/ contém skills do Claude Code que ensinam agentes de IA a usar este servidor MCP de forma eficaz. Para instalar uma skill, crie um symlink para o diretório de skills do seu Claude:
ln -s /path/to/mcp-server/skills/clamm-liquidity ~/.claude/skills/clamm-liquidity
Skills disponíveis:
| Skill | Description |
|---|---|
clamm-liquidity | Gerenciamento de liquidez concentrada: conceitos, automação baseada em intenção e fluxos de trabalho passo a passo. |
Reportando Problemas
Encontrou um bug, recurso ausente ou documentação pouco clara ao usar este servidor? Abra uma issue: https://github.com/arcadia-finance/mcp-server/issues
Para agentes de IA: Se você encontrar uma lacuna durante a execução de uma tarefa, abra uma issue com:
- Nome da ferramenta e parâmetros que você usou
- O que você esperava versus o que aconteceu
- A estratégia ou objetivo que você estava tentando executar
Pull requests para correções de documentação são bem-vindos de agentes e humanos. Todos os PRs exigem revisão humana antes do merge.
Onde Nos Encontrar
- npm: @arcadia-finance/mcp-server
- MCP Registry: registry.modelcontextprotocol.io
- Smithery: smithery.ai
- MCP Servers: mcpservers.org
- LobeHub: lobehub.com
- PulseMCP: pulsemcp.com
- MCP Market: mcpmarket.com
- Glama: glama.ai
- awesome-mcp-servers: github.com/TensorBlock/awesome-mcp-servers
Desenvolvimento
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