Back to Browse

Arcadia Finance MCP Server

FinanceUse Caution4.8MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Concentrated liquidity on Uniswap/Aero (rebalance, compound, leverage) or single-sided lending.

About

Concentrated liquidity on Uniswap/Aero (rebalance, compound, leverage) or single-sided lending.

Remote endpoints: streamable-http: https://mcp.arcadia.finance/mcp

Security Report

4.8
Use Caution4.8High Risk

The Arcadia Finance MCP server is a DeFi read/build-transaction tool that returns unsigned transactions and does not sign or broadcast by default, which matches its stated purpose. The main concern is the optional dev_send tool that reads a raw private key from the PK environment variable and can broadcast transactions, plus an HTTP transport exposing the server publicly with no authentication on /mcp beyond an origin check and rate limiting. The visible code shows careful validation and error handling, but the truncated portions were not fully reviewed. Supply chain analysis found 5 known vulnerabilities in dependencies (2 critical, 1 high severity). Package verification found 1 issue.

6 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

database

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

RPC URL for Base (8453). Falls back to public RPC if not set.Required

Environment variable: RPC_URL_BASE

RPC URL for Unichain (130). Falls back to public RPC if not set.Required

Environment variable: RPC_URL_UNICHAIN

RPC URL for Optimism (10). Falls back to public RPC if not set.Required

Environment variable: RPC_URL_OPTIMISM

RPC URL for Robinhood (4663). Falls back to public RPC if not set.Required

Environment variable: RPC_URL_ROBINHOOD

Private key for dev-only signing (not for production).Required

Environment variable: PK

Transport mode: stdio (default) or http.Optional

Environment variable: TRANSPORT

HTTP listen port (default 3000). Only used when TRANSPORT=http.Optional

Environment variable: PORT

Comma-separated allowed Origin headers for CORS and DNS rebinding protection. Only used when TRANSPORT=http.Optional

Environment variable: ALLOWED_ORIGINS

Max requests per minute per client IP (default 600). Only used when TRANSPORT=http.Optional

Environment variable: RATE_LIMIT_RPM

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

Arcadia Finance MCP Server

npm npm downloads License: AGPL-3.0 TypeScript MCP Smithery MCP Badge arcadia-finance-mcp-server MCP server

MCP server for Arcadia Finance, a platform for concentrated liquidity on Uniswap and Aero with automated rebalancing, compounding, yield optimization, and leverage, or single-sided liquidity into lending pools. 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

ToolDescription
read_account_infoAccount overview: health factor, collateral, debt, positions, liquidation price, automation status.
read_account_historyHistorical account value over time.
read_account_pnlPnL and yield data for an account.
read_wallet_accountsList all Arcadia accounts owned by a wallet address.
read_account_aero_upgradeWhat a wallet's accounts (or one account) have to upgrade to Aero: status and counts, no calldata.
read_wallet_balancesOn-chain ERC20 balances and native ETH for a wallet address.
read_wallet_allowancesCheck ERC20 token allowances for a spender. Use before write_wallet_approve to avoid redundant approvals.
read_wallet_pointsPoints balance for a specific wallet address.
read_asset_listSupported collateral assets with addresses, types, decimals.
read_asset_pricesUSD prices for one or more asset addresses.
read_pool_listAll lending pools: TVL, APY, utilization, liquidity.
read_pool_infoSingle pool detail with APY history over time.
read_point_leaderboardPaginated Arcadia points leaderboard.
read_strategy_listLP strategies with APY, underlyings, pool info. Supports featured filter and pagination.
read_strategy_infoFull detail for a specific LP strategy: APY per range width, pool config.
read_strategy_recommendationRebalancing recommendation for an account.
read_guidesReference guides: automation setup, strategy selection, strategy templates.
read_asset_manager_intentsAutomation intents and their params; add account_address for live per-account availability.
read_asset_manager_currentAutomations enabled on an account: decoded config, mapped intents, Merkl state, superseded managers.

Write Tools

All write tools return unsigned transactions as { to, data, value, chainId }.

ToolDescription
write_wallet_approveApprove an ERC20 token for spending. Required before depositing into an account. Call read_wallet_allowances first to check if already approved.
write_wallet_upgrade_veloUpgrade wallet VELO on Optimism to the new AERO on Base (approve, then the payable deposit).
write_pool_depositLend the pool's underlying asset into an ERC-4626 tranche to earn interest. Mints tranche shares to the receiver.
write_pool_redeemRedeem tranche shares back into the underlying asset (lender exit).
write_account_createCreate a new Arcadia account via Factory.
write_account_depositDeposit ERC20 tokens into an account.
write_account_withdrawWithdraw assets from an account.
write_account_borrowBorrow from a lending pool.
write_account_repayRepay debt to a lending pool from wallet.
write_account_add_liquidityFlash-action: deposit + swap + mint LP + optional leverage, atomically.
write_account_remove_liquidityRemove/decrease LP position liquidity.
write_account_swapSwap assets within an account (backend-routed).
write_account_deleverageRepay debt by selling collateral (swap + repay in one tx).
write_account_closeAtomic close: burn LP + swap + repay debt in one tx.
write_account_stakeStake, unstake, or claim rewards for LP positions.
write_account_aero_upgradeUpgrade an account to Aero: its Slipstream positions move to Aero CL and its old AERO becomes the new AERO, in one flashAction.
write_account_automationsConfigure automations from an intents array (full desired state). Returns the unsigned setAssetManagers tx.
write_account_automations_deltaEnable/disable individual automations, leaving the rest untouched.

Dev Tools

Always registered but requires PK env var to function.

ToolDescription
dev_sendSign 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 MCPProviderModel
MCP Wallet SignerCommunityNon-custodial, routes to browser wallet (MetaMask, Rabby)
Coinbase AgentKitCoinbaseWallet-agnostic, supports multiple providers
Phantom MCPPhantomEmbedded wallet
Privy MCPPrivyWallet infrastructure
Safe MCPCommunityMulti-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:

VariableRequiredDefaultTransportDescription
RPC_URL_BASENoPublic RPCBothRPC URL for Base (8453).
RPC_URL_UNICHAINNoPublic RPCBothRPC URL for Unichain (130).
RPC_URL_OPTIMISMNoPublic RPCBothRPC URL for Optimism (10).
RPC_URL_ROBINHOODNoPublic RPCBothRPC URL for Robinhood (4663).
PKNononeBothPrivate key (hex) for dev-only dev_send tool.
TRANSPORTNostdio—Transport mode: stdio or http.
PORTNo3000HTTPListen port for HTTP transport.
ALLOWED_ORIGINSNohttps://mcp.arcadia.financeHTTPComma-separated allowed Origin headers (CORS / DNS rebinding).
RATE_LIMIT_RPMNo600HTTPMax requests per minute per client IP.
POSTHOG_KEYNononeHTTPPostHog project key. Unset = no analytics are sent.
POSTHOG_HOSTNohttps://eu.i.posthog.comHTTPPostHog ingestion host.

Supported chains: Base (8453), Unichain (130), Optimism (10), Robinhood (4663)

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:

SkillDescription
clamm-liquidityConcentrated liquidity management: concepts, intent-based automation, 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

Reviews

No reviews yet

Be the first to review this server!