Why MCP and not more buttons
We replaced six dashboard pages with one chat window. The cost was an hour of engineering; the saving was the entire long tail of UI we never had to build.
A trading control plane is a tree of small decisions. Pause this strategy. Approve that rebalance. Move 50k from cash into balanced. Show me yesterday’s drawdown for paper_levels_bob. Each one a button somewhere. After a year you have ninety pages, twelve dropdowns, and an operator who clicks the wrong one at 3am.
We tried the obvious thing first: better information architecture. Tabs. Search. Keyboard shortcuts. Helped. Didn’t fix the underlying issue, which is that no fixed UI fits the long tail of one-shot questions. “Show me trades over $10k this week from sleeves that flipped phase” doesn’t earn its own page. So you don’t ask. So you don’t see.
What MCP actually changes
The Model Context Protocol exposes server-side tools to Claude. We wrote
14 of them — get_state, set_mode, approve_trade, allocate_to_long,
and so on. Each one wraps an existing service in our codebase. Each one is
role-gated (viewer / operator / admin) by the same RBAC the web UI uses.
You install once, generate a bearer token, and paste a 4-line config into Claude Desktop. After that the tree of decisions becomes a chat:
show me current state of balanced
Claude detects the strateg-overview skill, calls get_state, surfaces
equity / drawdown / regime / mode / pending approvals. One sentence in.
Five lines out.
set balanced to CAUTIOUS
Claude detects the strateg-set-mode skill, asks you to confirm,
calls set_mode(strategy="balanced", mode="CAUTIOUS"), reads back the
new state to verify. Two messages, one tool call, idempotent audit log.
move 50k from cash into trading on paper_levels_bob
Claude calls get_my_balance to fetch your capital tree, formats the
proposed move (“cash $100,000 → $50,000; trading paper_levels_bob $0 →
$50,000”), waits for “yes”, calls allocate_to_trading. The tool returns
{ok: true, audit_ref, balance} and Claude reads back the new totals.
What we didn’t have to build
- A “search by date range and sleeve and side” page.
- A “move money between buckets with safety checks and balance preview” wizard.
- A “compare strategies side by side” view.
- 14 modal dialogs for confirmation flows.
Claude does all of that for free. Skills tell it which tool to use and what to confirm before writing. The skills are markdown files in your config — you can edit them, fork them, ban us from updating them.
What we did keep
The dashboard isn’t going anywhere. There are still seven UI pages: cockpit, strategies grid, trades, control panel, approvals queue, settings, account. Cards-and-charts beat chat for monitoring — your eye picks up regime shifts faster than any LLM. Chat wins for editing — typing a sentence beats hunting a menu.
We just stopped trying to design a UI for every possible action. We designed seven monitoring pages and let MCP handle the rest.
The audit-grade part
Every tool call writes an audit_log row with the operator id, action,
old + new value, and idempotency key. Capital flows have an audit_ref so
retries don’t double-spend. Mode changes append to mode_history with
“via mcp:user#7” tagged. The chat is convenient; the trail is the same as
clicking buttons.
If a regulator asks “who paused trading at 03:14 on April 22nd”, the answer
is in audit_log, not in your Slack history.
Try it
curl -fsSL https://inite.fund/install.sh | sh
Generate a token at /account, paste the MCP config into Claude Desktop, and ask: show me current state of balanced. Three minutes from zero.
- 2026-05-11A ledger you can't quietly rewrite
Every capital flow, every approval, every mode change lands in an audit log with a hash chain. Why this matters in trading software, and how to verify integrity in under a minute.
- 2026-05-09When the engine stops
The algorithm runs itself. But in three cases it asks the operator, and in one more it simply lies down. A walk-through of how the HIL queue, strategy modes, and the kill switch fit together — and where the line between them is.
- 2026-05-06Drawdown as a throttle, not a brake
Why the long sleeve cuts risk at −8% — well before the −15% target band — and why the cut is partial rather than total. The math, the philosophy, and the edge cases that broke our first three designs.