← Research

MCP tools reference

Everything Claude can do through MCP, grouped by the role it needs. Read tier on top, write tier in the middle, admin tier at the bottom — a viewer token never reaches a tool below its line.

Viewer

  • get_my_balance() — full capital tree (cash, long allocations, trading accounts, total). Non-linear — trading nav reflects PnL/margin, not allocation.
  • list_strategies() — strategies the caller can read (owned + public + everything if operator/admin).
  • get_state(strategy) — full state of one strategy: equity, drawdown, sleeves, signals, regime, weights.
  • list_trades(strategy, limit?) — recent trades.
  • get_equity_curve(strategy, days?) — equity history.
  • list_pending_approvals(strategy) — pending HIL approvals.
  • get_trading_account(strategy_id) — live trading nav, cash, margin_used, PnL. Owner-only.

Operator

  • set_mode(strategy, mode) — NORMAL / CAUTIOUS / MANUAL / PAUSED / EMERGENCY.
  • approve_trade(approval_id, decision, comment?) — resolve a pending HIL approval.
  • allocate_to_long(strategy, amount) — move USD from your cash → long allocation you own.
  • allocate_to_trading(strategy_id, amount) — move USD from your cash → trading account you own.

Admin

  • create_invite(role, email_hint?, ttl_hours?) — generate a one-shot signup link.
  • credit_cash(user_id, amount, note?) — credit a user's ledger (bootstrap balances).
  • list_users() — admin user listing.

Permission errors

If you call a tool above your role, the response carries `isError: true` and the text reads `Requires <role> role`. The skill handles this gracefully — surfaces the error and stops, doesn't retry.

Data ownership

  • Portfolio strategies (long sleeves) are owned by one user. Reads obey ownership + the `is_public` flag. Writes obey ownership + role.
  • Trading accounts are strict-owner. No public read. No cross-user writes.
  • Capital flows (`allocate_to_*`) are atomic and audited.