Skip to content

MCP tool reference

Reads are safe to auto-approve (they move no funds). Writes move funds or state; some are opt-in behind an env flag (the operator must enable them) and, for a trade, the off-LLM spend cap still applies.

Reads

Tool Parameters What it does
account_status The account's verification/DID status (e.g. VERIFIED, VERIFIED_MINTED,
claimable_withdrawals Withdrawals that are ready to claim on-chain for this wallet.
closed_orders Closed brokerage orders.
connection_options Explain to the user how they can let you trade, and the trade-off of each,
did_status On-chain DID gating for this wallet: token id, is_pro, is_valid. Writes
how_to task? (string) Step-by-step recipes for the common trading tasks, in terms of the exact
instrument_kind symbol (string) Classify a symbol as 'amm' (24/7) or 'oracle' (US-market-hours only).
is_halted Whether the client kill switch is currently engaged.
lp_position position_id (integer) Detail of a single AMM (V3) LP position (range, liquidity, tokens).
lp_positions AMM (V3) LP position token ids owned by this wallet.
market_open Is the US equity market open right now (oracle stocks are tradable)?
min_out_from_quote quote (string), slippage_bps? (integer) Safe min_amount_out from a quote + slippage budget (bps; default 100=1%).
onchain_balances symbol? (string) On-chain token balances for this wallet (bypasses indexer lag). With no
open_orders Open brokerage orders.
oracle_price symbol (string) Current signed oracle USD price for an oracle (price-feed) stock — the
order_cost kind (string), symbol (string), quantity (integer), price_limit? (string) Pre-trade cost preview for a brokerage order (read-only, no execution) —
order_status order_id (integer) Terminal/interim status of one brokerage order. NOTE: orders carry no
pending_ai_agents List AI subaccounts awaiting THIS (main) account's confirmation — each with
portfolio The account's custodial portfolio (positions, balances, P&L).
portfolio_history history_range (string) Portfolio value history over a range (e.g. 'day', 'week', 'month',
preview_fees position_id (integer) Collectable (stock, stablecoin) fees for an LP position (static sim).
quote symbol (string), side (string), amount (string), exact? (string) Pre-trade quote for an AMM swap (read-only). side is
session_status How the server is configured and its live per-session state, so you can
simulate symbol (string), side (string), amount_in (string), slippage_bps? (integer) Paper-trade an exact-input swap without touching account state — a static
spot_price symbol (string) Spot price of an AMM token in dUSD (slot0). AMM tokens only; for an oracle
stocks List tradable stocks and their metadata.
swappable_symbols Symbols currently swappable (fresh price / market open).

Writes

Tool Gate (env flag) Parameters What it does
add_liquidity_amm always on symbol (string), tick_lower (integer), tick_upper (integer), amount_stock_desired (string), amount_stablecoin_desired (string), amount_stock_min? (string), amount_stablecoin_min? (string) AMM (V3 concentrated) add-liquidity: mints a new LP position in the
add_liquidity_price_feed always on symbol (string), liquidity_amount (string), max_stock_amount (string), max_stablecoin_amount (string) Oracle price-feed pool add-liquidity (real-stock pools). Oracle-priced, so
approve always on token_symbol (string), spender (string), amount (string) ERC-20 approve (grant spender an allowance of amount).
burn_position always on position_id (integer) Burn an empty AMM (V3) LP position NFT.
cancel_order PRIMEDELTA_MCP_ALLOW_ORDERS=1 order_id (integer) Cancel an open brokerage order by id. Requires
claim_stablecoin_withdrawal PRIMEDELTA_MCP_ALLOW_WITHDRAWALS=1 withdrawal_id (integer) Claim a ready dUSD withdrawal on-chain (see claimable_withdrawals).
claim_stock_withdrawal PRIMEDELTA_MCP_ALLOW_WITHDRAWALS=1 withdrawal_id (integer) Claim a ready stock withdrawal on-chain (see claimable_withdrawals).
collect_fees always on position_id (integer) Collect fees on an AMM (V3) LP position (preview_fees to see amounts).
confirm_ai_agent PRIMEDELTA_MCP_ALLOW_SUBACCOUNTS=1 sub_wallet_address (string) Confirm a pending AI subaccount registered under this main account,
deposit_stablecoin PRIMEDELTA_MCP_ALLOW_DEPOSITS=1 amount (integer) Deposit dUSD from the wallet into the custodial ledger. amount is a
deposit_stock_token PRIMEDELTA_MCP_ALLOW_DEPOSITS=1 symbol (string), amount (integer) Deposit a stock token from the wallet into the custodial ledger.
halt always on Engage the client kill switch: further trade attempts raise until
increase_liquidity always on position_id (integer), amount_stock (string), amount_stablecoin (string), amount_stock_min? (string), amount_stablecoin_min? (string) Increase liquidity on an existing AMM (V3) LP position.
place_limit_order PRIMEDELTA_MCP_ALLOW_ORDERS=1 side (string), symbol (string), quantity (integer), price_limit (string), date_of_cancellation? (string) Place a REAL limit order on the brokerage ledger. Requires
place_market_sell_order PRIMEDELTA_MCP_ALLOW_ORDERS=1 symbol (string), quantity (integer) Place a REAL market SELL order on the brokerage ledger (there is no market
register_ai_account always on agent_name (string), main_wallet_address (string) Register THIS wallet as an AI subaccount of main_wallet_address. Call
reject_ai_agent PRIMEDELTA_MCP_ALLOW_SUBACCOUNTS=1 sub_wallet_address (string) Reject a pending AI subaccount registered under this main account. Requires
remove_liquidity_amm always on position_id (integer), liquidity (integer), amount_stock_min? (string), amount_stablecoin_min? (string) AMM (V3) remove-liquidity from an existing position. liquidity is the
remove_liquidity_price_feed always on symbol (string), liquidity_amount (string) Oracle price-feed pool remove-liquidity (real-stock pools). Oracle-priced:
request_stablecoin_withdrawal PRIMEDELTA_MCP_ALLOW_WITHDRAWALS=1 amount (string) Request a dUSD withdrawal from the custodial ledger to your wallet — step 1
request_stock_withdrawal PRIMEDELTA_MCP_ALLOW_WITHDRAWALS=1 symbol (string), amount (integer) Request a stock-token withdrawal from the custodial ledger to your wallet —
resume always on Release the kill switch engaged by halt().
revoke_approval always on token_symbol (string), spender (string) ERC-20 approve to zero (revoke spender's allowance).
send_del always on to (string), amount (string) Transfer native DEL to an address.
swap_exact_input always on symbol (string), side (string), amount_in (string), min_amount_out (string) Exact-INPUT swap (spend a fixed amount). side is 'STABLECOIN_TO_STOCK'
swap_exact_output always on symbol (string), side (string), amount_out (string), max_amount_in (string) Exact-OUTPUT swap (receive a fixed amount, cap the input). side is
swap_token_to_token_exact_input always on input_symbol (string), output_symbol (string), amount_in (string), min_amount_out (string) Exact-input swap between two non-dUSD tokens (routed via dUSD):
swap_token_to_token_exact_output always on input_symbol (string), output_symbol (string), amount_out (string), max_amount_in (string) Exact-output swap between two non-dUSD tokens (routed via dUSD).
unwrap_del always on amount (string) Unwrap WDEL back into native DEL.
wrap_del always on amount (string) Wrap native DEL into WDEL.

Resources

  • kms-setup — How to run the server in execute mode with an AWS KMS signer — the zero-approval custodial path where the key never leaves KMS.
  • troubleshooting — Maps the errors a trade tool can raise to what they mean and the corrective action — so a failure is actionable, not a dead end.

Prompts

  • place_swap_safely — Guide an exact-input swap through the safe order of operations: classify the instrument, protect slippage from a fresh quote, then execute.