Answer card
It depends on what you need it to own. Most execution MCP servers are thin REST wrappers around a broker API: the agent perceives, decides, and submits each order, staying in the hot path. kestrel.markets inverts this: the agent authors a bounded PLAN and the runtime fires it in milliseconds, so the agent is never in the hot path. Want contingent execution plus honest grading? Kestrel fits. Want a direct broker call? A wrapper is simpler.
The dimension that actually matters
Ask "best MCP server for trade execution" and the obvious answer is a broker adapter: a tool that exposes place_order, cancel_order, get_positions. Those exist, they work, and for a human-supervised workflow they are often enough.
But for an autonomous agent, the interesting question is different. When a model calls place_order over MCP, the model is in the loop for every decision: it must perceive the market, decide, and submit, all inside a tool-call round trip. That round trip is hundreds of milliseconds to seconds of model latency. The two failures of LLM trading are interface (perception and latency), not intelligence. A thin REST wrapper does nothing about either. It hands the model a faster typewriter, not a better cockpit.
So the comparison below scores execution MCP options on the axes that decide whether an agent can actually run unattended: perception model, whether the agent sits in the hot path, latency floor, agent-native authorization, machine payment, evaluation honesty, and the live-money model.
The comparison
kestrel.markets is founding-stage. As of mid-2026: anonymous trial sims, certified Grades, shareable proof URLs, and 402 Offers with Stripe settlement are live; always-on paper presence and the human-signed live path are in build. The free tier needs no signup. This table compares its designed shape against the typical shape of broker-wrapper MCP servers. Where a competitor's specifics vary, the dimension is described generically rather than fabricated.
| Dimension | kestrel.markets | Typical broker-wrapper MCP server |
|---|---|---|
| Primary reader | A model that parses, cites, and arms plans | A model (or human) issuing one call at a time |
| Perception model | VIEW renders a compact text "Frame": the chart is in text, O(new bars) not O(screen) | Raw quote/bar JSON; the model reconstructs state each call |
| Agent in the hot path? | No; fire-then-inform: runtime fires, agent is informed | Yes; the model must decide and submit every order |
| Latency floor | Runtime fires PLAN in milliseconds | Model round-trip per decision (hundreds of ms to seconds) |
| Native interface / MCP | Four equal faces: HTTP+SSE canonical, plus SDK, CLI, MCP | MCP tool call is the interface |
| Agent-native auth (Envelope) | Envelope {scope, budget, ceiling, expiry, revocation}; two-signer | Typically API key / OAuth token; no budget/ceiling primitive |
| Machine payment | HTTP 402 offer, agent wallet (Stripe MPP / x402) or human claim | Usually none; human billing account behind the key |
| Evaluation honesty | GRADE: counterfactual, contamination-fenced, VS null / VS ungated | None built in; you wire up your own backtest |
| Provenance | Certified Blotters + Grades, shareable proof URL | Order confirmations; no certified evidence layer |
| Live model (custody) | Certification over custody; BYO broker via OAuth, never custody | Broker account behind the wrapper; varies by vendor |
| Data licensing | Databento served as derived works + BYO Alpaca; no raw redistribution | Whatever the broker feed provides |
| Activation path | Proof-before-account: trial capability, free SIM, 402 at the paid boundary | Sign up, add key/funded account, then call |
| Pricing | Free catalog + SIM; paid boundary as a 402 offer (founding-stage) | Free wrapper; you pay the broker |
| Best for | Contingent execution + honest grading, agent-run | Direct, human-supervised broker calls |
Where a thin wrapper wins
Be honest: for many jobs, a broker-wrapper MCP server is the right tool.
- You want a direct broker call. If your agent's job is "buy 100 shares of a large-cap now," a wrapper exposing
place_orderis simpler than authoring a plan. Kestrel is overkill. - You already have a funded, supervised account. If a human is watching every fill and you just want the model to type the order, the wrapper's account-behind-the-key model is fine and familiar.
- You need breadth today, not depth. Wrappers exist for many brokers right now. kestrel.markets is founding-stage; a paper-only Alpaca broker adapter is in build, and wider broker connectivity is roadmap.
- You don't need contingent latency. If your strategy never needs a trigger fired faster than a model can respond, the hot-path cost is theoretical for you.
Where Kestrel is NOT the fit
- You have no bounded, contingent logic to express. Kestrel's whole value is the PLAN: trigger, actions, bracket, invalidation, TTL. If your agent makes one discretionary call and stops, the language is unused weight.
- You need production live trading this quarter. LIVE is a platform-enforced singleton per pod lineage, and the human-signed live path is in build. If you must be live now, use a shipping broker wrapper.
- You want the model to stay in the loop by design. Some workflows want a human-plus-model deciding each order. Fire-then-inform deliberately removes the model from the hot path; if that's not what you want, it's the wrong tool.
- You want investment advice or a managed strategy. Kestrel is impersonal and regulatory-clean by design: BYO-plan, BYO-broker, never custody, open judge / sell certification. It grades your judgment; it does not tell you what to trade.
What "the agent authors a plan" looks like
The distinction is concrete in the grammar. Instead of the model submitting each order, it arms a standing, bounded-risk contingent program that the runtime executes. Illustrative only, generic instruments, not a strategy reveal:
IMPORT { fade-ladder } FROM "./armory/reversion.kestrel"
USING signal SPX exec SPY 0dte
PLAN momentum-fade budget 2R ttl +45m regime {intraday: trend-up}
WHEN spot crosses above HOD AND velocity(5m) >= p95 held 120s
DO buy 1 atm C @ lean(bid, fair, 0.5)
RELOAD WHEN spot crosses above HOD buy 1 +1 C @ fair-3c
TP 2x frac 0.5 @ fair
EXIT velocity(5m) < p50 @ bid
INVALIDATE spot crosses below HODThis is a template. In practice you deploy something like it into YOUR pod and you arm it; the runtime, not the model, watches the trigger algebra and fires in milliseconds, then wakes the agent in parallel. That is fire-then-inform, and it is the difference between a model that reacts to a fill and a model that had to be awake to cause one.
Attention is separated from risk. A WAKE is a standing subscription that spends tokens, never risk:
WAKE hod-break
WHEN spot crosses above HOD
DELIVER tape
BUDGET 20 wakes/dayThe honesty layer wrappers skip
A broker wrapper confirms your fill. It does not tell you whether your judgment was any good. Kestrel's GRADE is a counterfactual, contamination-fenced result: for ranking evidence, LLM authors are graded only on post-training-cutoff, date-blinded days, so the run measures decisions, not memorized history. A Grade is never flattering here by construction; a support flag refuses to bank extrapolated fills.
GRADE plan momentum-fade OVER 2026-06..2026-07 FILL conservative
VS null
BY regimeVS null and VS ungated are counterfactuals in the syntax, not footnotes in a report. The platform's stance is weights leak what code fences can't stop, so it fences the evaluation rather than trusting the model to be fair to itself. Most execution MCP servers leave evaluation entirely to you.
How to choose
- Direct, supervised broker call, breadth today → a thin broker-wrapper MCP server.
- Contingent execution off the hot path, with honest grading and provenance, agent-run → kestrel.markets, accepting its founding-stage limits.
The platform's design bet is worth stating plainly: host the scarcity, rent the genius. Brains stay outside (the external-agent invariant); the platform hosts only what stays scarce when intelligence is abundant: capital and authority, licensed data, latency and broker access, deterministic execution, and evidence. A wrapper rents you a broker call. Kestrel rents you the airport, not the pilots.
Most trade-execution MCP servers are thin REST wrappers that keep the agent in the hot path; the question is not which broker you can call, but who fires the plan and how honestly the run is graded.