- Public mode — no credentials; read-only market data, orderbook, and trades are available immediately.
- Authenticated mode — add your wallet private key, client ID, and network to enable authenticated tools. Which tools are enabled is bounded by a capability profile: supplying a key does not blindly unlock everything. The default profile is read-only; trading requires opting in to
market-maker, and fund movement (deposits, withdrawals, reward transfers) requiresfull.
The MCP server is a command and snapshot plane: it places, replaces, and cancels orders and takes one-shot reads (
get_orders, get_positions, get_balances, get_orderbook). It has no streaming or subscription tools — every read is a point-in-time snapshot. For live fills, cancels, book movement, and position/risk changes, pair it with the Core SDK WebSocket state plane. If you are running a market maker or any continuously-managed strategy, follow the Market-Maker Runbook.Add the MCP server
MONACO_CAPABILITY=market-maker to place and cancel orders, and MONACO_CAPABILITY=full for vault fund movement. Full per-client setup, authenticated config, capability profiles, and the complete tool list are below.
Point your AI at the docs
These docs are LLM-readable, so any model or agent can ingest them directly:
Every page also has Copy page and Open in ChatGPT / Claude buttons in the top-right, and appending
.md to any docs URL returns the raw Markdown.
Drive Monaco in natural language
Once the MCP server is connected, just ask:What’s the current ETH/USDC orderbook on Monaco, and how does the mid price compare to the last few trades?In authenticated mode the agent can place and cancel real orders. Start on
staging (testnet) and review what it proposes before confirming trades.
Trading with MCP
Authenticated mode lets an MCP-compatible assistant act through the wallet configured byMONACO_PRIVATE_KEY, within the bounds of the active capability profile. The default read profile lets the agent inspect balances, open orders, and fees only. Set MONACO_CAPABILITY=market-maker to let it request testnet funds, place spot or perp orders, replace orders, and cancel orders. Moving funds through the Monaco vault tools (deposit, withdraw) and transferring rewards require the full profile — they are off unless explicitly enabled.
Use this mode when you want an assistant to operate Monaco directly from natural language, for example:
- “Check my balances, then place a small ETH/USDC limit buy 5% below mid.”
- “Cancel my stale open orders before placing a new quote.”
- “Simulate fees for this order before submitting it.”
Capability profiles
Authenticated mode is scoped byMONACO_CAPABILITY. The profile bounds which tools the server registers — a tool outside the active profile (and not named in MONACO_TOOL_ALLOWLIST) is never registered. This is an authorization control, not an advisory annotation.
The default
read profile cannot mutate anything — order placement, cancel, replace, and close require MONACO_CAPABILITY=market-maker or higher. Fund-movement and privilege tools additionally require full; enable them by setting MONACO_CAPABILITY=full, or opt a single tool in with MONACO_TOOL_ALLOWLIST (e.g. MONACO_TOOL_ALLOWLIST=vault_withdraw). MONACO_TOOL_DENYLIST removes tools and wins over both the profile and the allowlist.
Also note: when a private key is configured, MONACO_NETWORK is required — the server refuses to default an authenticated session to mainnet.
Delegated owner mode
SetMONACO_DELEGATED_OWNER_USER_ID to run the server on behalf of a delegated owner account instead of the configured wallet’s own account. The wallet in MONACO_PRIVATE_KEY is the agent: on startup it authenticates as itself, then adopts an owner-scoped delegated session (loginAsDelegatedOwner). Every subsequent tool call — reads and trades — acts on the owner account, with the agent wallet preserved as the actor for audit. The owner must have registered this agent wallet with an active delegation policy; the server cannot self-assert ownership, and adoption fails if the agent is not authorized for that owner.
MONACO_DELEGATED_OWNER_USER_ID requires MONACO_PRIVATE_KEY and MONACO_CLIENT_ID (the agent must authenticate as itself first), a blank value is rejected, and if owner adoption fails the server does not silently fall back to trading as the agent’s own account. The delegated session inherits withdrawal restrictions from the policy — fund-movement tools still require the full capability, and delegated sessions cannot withdraw owner collateral. Raw delegated-session creation is intentionally not exposed as a tool; owner adoption is a startup option, not an autonomous agent action.
IDE setup
Follow the setup instructions below for your client. Some clients use an MCP config file; Claude Code can be configured via the CLI.- Claude Code (CLI)
- Claude Desktop (macOS)
- Claude Desktop (Windows)
- Cursor
- Windsurf
Claude Code registers MCP servers from the command line — no config file to edit.Public mode:Authenticated mode:
For security, avoid pasting Verify it registered with
MONACO_PRIVATE_KEY into your shell history; prefer a secret manager or environment variable.claude mcp list, then start a session with claude.Configuration
string
Network to connect to (
mainnet, development, staging, local). Set to staging for testnet. Required when MONACO_PRIVATE_KEY is set — the server refuses to default an authenticated session to mainnet. Public-only mode defaults to mainnet.string
Your wallet’s private key in
0x... format. Required for authenticated tools. If omitted, only public tools are available.string
Your Monaco application client ID. Required when
MONACO_PRIVATE_KEY is set. Contact [email protected] to obtain one.string
default:"read"
Capability profile for authenticated mode:
read, market-maker, or full. See capability profiles. Defaults to read (no write authority); market-maker adds order management, and full adds fund movement.string
Comma-separated tool names to enable on top of the active profile — an explicit per-tool opt-in, including for
full-only fund-movement tools (e.g. vault_withdraw).string
Comma-separated tool names to disable. Wins over both the profile and the allowlist.
string
Sei RPC endpoint URL. Defaults to
https://evm-rpc-testnet.sei-apis.com when MONACO_NETWORK=staging. The default is a public testnet RPC — rate limits may vary and it is not suitable for production. Override with a dedicated private RPC provider for better reliability.string
Run the server on behalf of a delegated owner account instead of the configured wallet’s own account. The
MONACO_PRIVATE_KEY wallet is the agent: on startup it authenticates as itself, then adopts an owner-scoped session (loginAsDelegatedOwner) so every tool call acts on the owner, with the agent wallet preserved as the audit actor. Fail-closed — requires MONACO_PRIVATE_KEY and MONACO_CLIENT_ID, rejects a blank value, and never falls back to trading as the agent’s own account. See delegated owner mode.Available tools
Public tools require no credentials. Authenticated tools requireMONACO_PRIVATE_KEY, MONACO_CLIENT_ID, and MONACO_NETWORK, and are further gated by the active capability profile — the profile column below shows the minimum profile each tool needs.
Search
Market
Perp market data
Orderbook
Trades
Trading
Order reads (get_orders, get_order) are available under read; the mutations below require market-maker or higher.
Positions
Position reads are available underread; close_position requires market-maker, and margin add/reduce move collateral and require full.
Portfolio
Margin accounts
Reads and risk simulations are available underread; collateral transfers move funds and require the full profile (or an explicit allowlist entry).
Profile
Fees
Vault
Fund-movement tools require thefull profile (or an explicit allowlist entry); the allowance and pending-withdrawal reads are available under read.
Faucet
Testnet only — the faucet tools are never registered onmainnet.
Trader codes & rewards
Copy trading
The leaderboard, leader profiles and closed trades are public. Your own reads are available underread; registering as a leader and stopping a follow require market-maker; following (which moves the allocation into a copy account) and adding margin to a copy position (which moves copy account collateral into the position) require full.
Market pulse
Example prompts
Once the server is connected, drive Monaco entirely in natural language. Your AI assistant picks the right tools and chains them together. Public — no credentials needed:What’s the current ETH/USDC orderbook on Monaco, and how does the mid price compare to the last few trades?
Pull the last 24 hours of hourly candlesticks for BTC/USDC and summarize the trend.Authenticated — requires
MONACO_PRIVATE_KEY, MONACO_CLIENT_ID, and MONACO_NETWORK (and MONACO_CAPABILITY=market-maker to place orders):
Request test tokens from the faucet, then place a limit buy for 0.1 ETH/USDC at 5% below the current mid price.
Check my open orders and balances, then cancel any resting buy orders older than I’d expect to still be unfilled.
Simulate the fees for a 1 ETH/USDC market sell before I place it.

