Read tools are the easy half; what distinguishes this one is that a mutating call cannot happen by accident. Trading is disabled by default, per-call amount and notional caps have to be set positively before any order runs, mass-cancel needs `confirm_cancel_all=true`, and on mainnet every mutating call additionally needs `confirm_live_trade=true` — so a session configured for testnet cannot quietly hit the live book. Two things to weigh before you commit: the channel wakeup pipeline depends on an unreleased Claude Code feature surface and its contract may change, and with test mode off these tools spend real money.
An independent MCP server for Deribit, run as a long-lived container. It covers the exchange's read surface (tickers, OHLCV candles, order books, Greeks, funding, liquidations) and its mutating surface (market, limit, stop, trailing and bracket orders, combos, mass-cancel, position close), and pairs both with an alert engine and a sidecar that can push events back into a running Claude Code session as native channel notifications.
- 60+ tools covering Deribit's read and write surface, from instrument metadata to every order primitive and its edit, cancel and close counterparts
- Market data with freshness you can reason about: `get_current_price` returns `source` and `age_seconds`, and `skip_cache` forces a fresh REST fetch before a time-sensitive call — `get_current_price`, `get_ticker`, `get_instruments`, `get_instrument`
- Order books two ways — a one-shot REST read, or a WebSocket-cached snapshot plus a delta against the last one, so a tight loop does not pay per-tick latency — `get_order_book`, `get_orderbook_live`, `get_orderbook_diff`, `unsubscribe_orderbook`, `get_book_summary`
- OHLCV candles at 1/3/5/10/15/30/60/120/180/360/720-minute or daily resolution, plus the public trade tape, captured liquidations, funding history, realized volatility and options Greeks — `get_chart_data`, `get_last_trades_by_instrument`, `get_recent_liquidations`, `get_funding_rate_history`, `get_historical_volatility`, `get_greeks`
- A pre-trade audit that is enforced, not advisory: every mutating tool requires a `decision_id` minted by `record_decision` and validated against the database before the Deribit call, and the id rides through as the order label so fills join back to the reasoning
- Self-scheduling alerts — threshold, cross and percentage-change price conditions, plus time alerts the agent sets to wake itself up later — `set_price_alert`, `set_time_alert`
- An external news webhook: anything that can POST can stash a headline with a structured payload and push it into the agent's session, with `dedupe_key` making repeated aggregator posts idempotent — `news_list`
- An operator dashboard at `/dashboard/` showing health, registered sidecar consumers, positions, alerts, timers, recent decisions, order audits, outbox events and the latest news
A Deribit account with API credentials — `DERIBIT_API_KEY` and `DERIBIT_API_SECRET` — and `DERIBIT_TEST_MODE`, which defaults to true and points at test.deribit.com. Trading is off until you set `DERIBIT_TRADING_ENABLED`, and it stays off unless all four caps are positive numbers: `DERIBIT_MAX_AMOUNT_INVERSE`, `DERIBIT_MAX_AMOUNT_LINEAR`, `DERIBIT_MAX_AMOUNT_OPTION` and `DERIBIT_MAX_NOTIONAL_USD`. Transport is chosen by `MCP_TRANSPORT` — stdio for local use, http for a gateway, where `MCP_SHARED_SECRET` must be sent in the `X-Deribit-MCP-Secret` header. `DERIBIT_EVENT_ADMIN_TOKEN` guards consumer registration, the news endpoints and the dashboard. The documented path is Docker: fill `.env`, `docker compose pull`, `docker compose up -d`, and the MCP endpoint is `/mcp/` on port 8000. State lives in one SQLite file on a mounted volume.
One command plus a key — docker compose pull && docker compose up -d, then supply credentials
