mcp-server
Manage Uniswap and Aerodrome liquidity positions with leverage, automated rebalancing, and yield optimization on Base and Unichain.
README
Arcadia Finance MCP Server
MCP server for Arcadia Finance, a platform to manage Uniswap and Aerodrome concentrated liquidity positions with built-in leverage, automated rebalancing, and yield optimization. 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. Pass account_address or wallet_address. |
read.account_history |
Historical account value over time. |
read.account_pnl |
PnL and yield data for an account. |
read.assets |
Supported collateral assets with addresses, types, decimals. Optional USD price lookup. |
read.wallet_balances |
On-chain ERC20 balances and native ETH for a wallet address. |
read.allowance |
Check ERC20 token allowances for a spender. Use before write.approve to avoid redundant approvals. |
read.points |
Points balance for a wallet, or leaderboard. |
read.lending_pools |
Pool data: TVL, APY, utilization, liquidity. Optional single-pool detail with APY history. |
read.strategies |
LP strategies with APY, underlyings, pool info. Optional detail or featured filter. |
read.recommendation |
Rebalancing recommendation for an account. |
read.guide |
Reference guides: automation setup, strategy selection, strategy templates. |
Write Tools
Direct calldata encoding via viem. Each returns { to, data, value, chainId }.
| Tool | Description |
|---|---|
write.approve |
Approve an ERC20 token for spending. Required before depositing into an account. Call read.allowance first to check if already approved. |
write.create_account |
Create a new Arcadia account via Factory. |
write.deposit |
Deposit ERC20 tokens into an account. |
write.withdraw |
Withdraw assets from an account. |
write.borrow |
Borrow from a lending pool. |
write.repay |
Repay debt to a lending pool. |
write.set_asset_manager |
Grant or revoke an asset manager contract's permission on a V3/V4 account. For full setup with config, use write.configure_asset_manager. |
write.configure_asset_manager |
Enable AND configure an asset manager in one tx for V3/V4 accounts: sets initiator, fee limits, and strategy parameters (trigger thresholds, compound mode, recipients). |
Dev Tools
Always registered but requires PK env var to function.
| Tool | Description |
|---|---|
dev.sign_and_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. |
Advanced Tools
Proxied via backend API. Handles swap routing, Tenderly simulation, optimal ratios.
| Tool | Description |
|---|---|
advanced.add_liquidity |
Flash-action: deposit + swap + mint LP + optional leverage, atomically. |
advanced.remove_liquidity |
Remove/decrease LP position liquidity. |
advanced.swap |
Swap assets within an account (backend-routed). |
advanced.repay_with_collateral |
Repay debt by selling collateral (swap + repay in one tx). |
advanced.close_position |
Atomic close: burn LP + swap + repay debt in one tx. |
advanced.position_action |
Stake, unstake, or claim rewards for LP positions. |
Transaction Signing
All write and advanced 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 infrastructure (recommended for production): Use your existing wallet setup — MPC wallets (Fireblocks, Dfns, Turnkey), smart accounts (Safe, Biconomy), or embedded wallets (Privy, Dynamic). 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.* or advanced.* tool
const hash = await client.sendTransaction(tx);
Built-in dev.sign_and_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 | Description |
|---|---|---|
RPC_URL_BASE |
No | RPC URL for Base (8453). Falls back to public RPC if not set. |
RPC_URL_OPTIMISM |
No | RPC URL for Optimism (10). Falls back to public RPC if not set. |
RPC_URL_UNICHAIN |
No | RPC URL for Unichain (130). Falls back to public RPC if not set. |
PK |
No | Private key (hex) for dev-only dev.sign_and_send tool. |
Supported chains: Base (8453), Optimism (10), 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
- Smithery: smithery.ai/@arcadia-finance/mcp-server
- PulseMCP: pulsemcp.com
- MCP Market: mcpmarket.com
- awesome-mcp-servers (punkpeye): github.com/punkpeye/awesome-mcp-servers
- awesome-mcp-servers (wong2): github.com/wong2/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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。