mcp-server

mcp-server

Manage Uniswap and Aerodrome liquidity positions with leverage, automated rebalancing, and yield optimization on Base and Unichain.

Category
Visit Server

README

Arcadia Finance MCP Server

npm npm downloads smithery badge License: AGPL-3.0 TypeScript MCP MCP Badge Glama

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

Install in VS Code Install in Cursor

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

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured