什么是 Arcadia Finance?
管理Uniswap与Aerodrome的流动性仓位,支持自动再平衡与leverage,提升资金运作效率。
README
Arcadia Finance MCP Server
MCP server for Arcadia Finance, a platform to manage concentrated liquidity positions on Uniswap and Aerodrome with automated rebalancing, compounding, yield optimization, and leverage. Read protocol data and build unsigned transactions for LP management, borrowing, deposits, and more.
Designed for AI agents (Claude, Cursor, etc.) to interact with Arcadia onchain.
Install
Tools
Read Tools
| Tool | Description |
|---|---|
read.account.info | Account overview: health factor, collateral, debt, positions, liquidation price, automation status. |
read.account.history | Historical account value over time. |
read.account.pnl | PnL and yield data for an account. |
read.wallet.accounts | List all Arcadia accounts owned by a wallet address. |
read.wallet.balances | On-chain ERC20 balances and native ETH for a wallet address. |
read.wallet.allowances | Check ERC20 token allowances for a spender. Use before write.wallet.approve to avoid redundant approvals. |
read.wallet.points | Points balance for a specific wallet address. |
read.asset.list | Supported collateral assets with addresses, types, decimals. |
read.asset.prices | USD prices for one or more asset addresses. |
read.pool.list | All lending pools: TVL, APY, utilization, liquidity. |
read.pool.info | Single pool detail with APY history over time. |
read.point_leaderboard | Paginated Arcadia points leaderboard. |
read.strategy.list | LP strategies with APY, underlyings, pool info. Supports featured filter and pagination. |
read.strategy.info | Full detail for a specific LP strategy: APY per range width, pool config. |
read.strategy.recommendation | Rebalancing recommendation for an account. |
read.guides | Reference guides: automation setup, strategy selection, strategy templates. |
read.asset_manager.intents | Available automation intents with tool names, required params, and supported chains. |
Write Tools
All write tools return unsigned transactions as { to, data, value, chainId }.
| Tool | Description |
|---|---|
write.wallet.approve | Approve an ERC20 token for spending. Required before depositing into an account. Call read.wallet.allowances first to check if already approved. |
write.account.create | Create a new Arcadia account via Factory. |
write.account.deposit | Deposit ERC20 tokens into an account. |
write.account.withdraw | Withdraw assets from an account. |
write.account.borrow | Borrow from a lending pool. |
write.account.repay | Repay debt to a lending pool from wallet. |
write.account.add_liquidity | Flash-action: deposit + swap + mint LP + optional leverage, atomically. |
write.account.remove_liquidity | Remove/decrease LP position liquidity. |
write.account.swap | Swap assets within an account (backend-routed). |
write.account.deleverage | Repay debt by selling collateral (swap + repay in one tx). |
write.account.close | Atomic close: burn LP + swap + repay debt in one tx. |
write.account.stake | Stake, unstake, or claim rewards for LP positions. |
write.asset_manager.rebalancer | Encode rebalancer automation args (strategy config, triggers, compound mode). |
write.asset_manager.compounder | Encode standalone compounder args. |
write.asset_manager.compounder_staked | Encode compounder + CowSwap coupled args (sell rewards, buy target token). |
write.asset_manager.yield_claimer | Encode yield claimer args (claim fees to recipient). |
write.asset_manager.yield_claimer_cowswap | Encode yield claimer + CowSwap coupled args. |
write.asset_manager.cow_swapper | Encode direct CowSwap mode args (Base only). |
write.asset_manager.merkl_operator | Encode Merkl operator args (claim external rewards). |
write.account.set_asset_managers | Build unsigned setAssetManagers tx from encoded intent args. Combine multiple intents by merging arrays. |
Dev Tools
Always registered but requires PK env var to function.
| Tool | Description |
|---|---|
dev.send | Sign and broadcast an unsigned transaction using a local private key (PK env var). Not for production — use a dedicated wallet MCP server instead. |
Transaction Signing
All write tools return unsigned transactions as { to, data, value, chainId }. This server does NOT sign or broadcast — your agent or application is responsible for that.
Options
Wallet MCP servers (recommended for production): Pair this server with a wallet MCP server that handles signing:
| Wallet MCP | Provider | Model |
|---|---|---|
| MCP Wallet Signer | Community | Non-custodial, routes to browser wallet (MetaMask, Rabby) |
| Coinbase AgentKit | Coinbase | Wallet-agnostic, supports multiple providers |
| Phantom MCP | Phantom | Embedded wallet |
| Privy MCP | Privy | Wallet infrastructure |
| Safe MCP | Community | Multi-sig via Safe |
Or use your existing wallet setup (Fireblocks, Dfns, Turnkey, Biconomy, Dynamic) and pass the unsigned tx object to your provider's signing method.
viem/ethers in your agent:
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);
Built-in dev.send tool (development only):
The server includes a dev-only signing tool that reads a private key from the PK environment variable. Set PK via a .env file or your MCP client config:
# .env in the server directory (never commit — already gitignored)
PK=0xYourPrivateKeyHex
RPC_URL_BASE=https://base-mainnet.g.alchemy.com/v2/your-key
The server loads .env automatically on startup. Works with any MCP client (Claude Desktop, Claude Code, VSCode, Cursor). MCP client env block settings take precedence if both are set.
Not for production — use a dedicated wallet MCP server (Fireblocks, Turnkey, Safe) instead.
Setup
Prerequisites: Node.js >= 22
yarn install
yarn build
Environment variables:
| Variable | Required | Default | Transport | Description |
|---|---|---|---|---|
RPC_URL_BASE | No | Public RPC | Both | RPC URL for Base (8453). |
RPC_URL_UNICHAIN | No | Public RPC | Both | RPC URL for Unichain (130). |
PK | No | — | Both | Private key (hex) for dev-only dev.send tool. |
TRANSPORT | No | stdio | — | Transport mode: stdio or http. |
PORT | No | 3000 | HTTP | Listen port for HTTP transport. |
ALLOWED_ORIGINS | No | https://mcp.arcadia.finance | HTTP | Comma-separated allowed Origin headers (CORS / DNS rebinding). |
RATE_LIMIT_RPM | No | 60 | HTTP | Max requests per minute per session. |
Supported chains: Base (8453), Unichain (130)
MCP Client Configuration
Remote (no install needed):
{
"mcpServers": {
"arcadia-finance": {
"url": "https://mcp.arcadia.finance/mcp"
}
}
}
Via npx (local stdio):
{
"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
From source (local development):
{
"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
The skills/ directory contains Claude Code skills that teach AI agents how to use this MCP server effectively. To install a skill, symlink it into your Claude skills directory:
ln -s /path/to/mcp-server/skills/clamm-liquidity ~/.claude/skills/clamm-liquidity
Available skills:
| Skill | Description |
|---|---|
clamm-liquidity | Concentrated liquidity management: concepts, asset managers (rebalancers, compounders), and step-by-step workflows. |
Reporting Issues
Found a bug, missing feature, or unclear documentation while using this server? Open an issue: https://github.com/arcadia-finance/mcp-server/issues
For AI agents: If you hit a gap during task execution, open an issue with:
- Tool name and parameters you used
- What you expected vs what happened
- The strategy or goal you were trying to execute
Pull requests for documentation fixes are welcome from agents and humans alike. All PRs require human review before merging.
Where to Find Us
- 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
Development
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
常见问题
Arcadia Finance 是什么?
管理Uniswap与Aerodrome的流动性仓位,支持自动再平衡与leverage,提升资金运作效率。
相关 Skills
面试体系设计
by alirezarezvani
按岗位、级别和团队设计面试流程,生成能力矩阵、题库与评分标准,分析面试官偏差并校准招聘门槛,适合搭建或优化企业招聘体系。
✎ 团队招人没章法时,用它快速搭建岗位化面试流程、题库与评分标准,还能兼顾校准面试偏差,招聘更稳更准。
抽认卡
by BytesAgain
Spaced repetition study tool with deck management. Use when you need flashcard.
教程文档
by anderskev
Tutorial patterns for documentation - learning-oriented guides that teach through guided doing
相关 MCP Server
by boosted-chat
Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.
by jjlabsio
Search company disclosures and financial statements from the Korean market. Retrieve stock profiles, market classifications, and historical trading data across major exchanges. Accelerate equity research with accurate, date-specific insights for Korean securities.
✎ 做韩国股研时,用它能一站查公司披露、财报和历史行情,按日期精确追溯关键信息,比手动翻交易所高效太多。
by jjlabsio
检索韩国市场公司的披露文件与财务报表,并获取股票概况等关键信息。
✎ 想研究韩股公司时,它能一站式拉取披露、财报和股票概况,省去跨站查资料的麻烦,对跨境投研尤其省时。