DISCOVER
Start from the artifact
Throne reads the config, package metadata, or GitHub repository and starts the server as a user would.
throne run github.com/acme/files-mcp
methodology
Throne does not host your server or build a client. It exists to answer one release question: does this MCP server survive the live clients developers actually use?
the run sequence
DISCOVER
Throne reads the config, package metadata, or GitHub repository and starts the server as a user would.
throne run github.com/acme/files-mcp
EMULATE
Calibrated emulators model Claude Code, Cursor, and ChatGPT Desktop behavior around the parts that break releases. Every emulator is verified weekly against the real client. An emulator that has not passed parity is labeled calibrating and produces no verdicts.
live_clients = ["claude-code", "cursor", "chatgpt-desktop"]
calibrating = ["codex-cli", "zed"]
TRACE
Every result points back to raw JSON-RPC requests, responses, timings, and the emulator rule that produced the outcome.
{ "jsonrpc": "2.0", "method": "tools/call", "elapsed_ms": 812 }
SCAN
Static rules inspect dangerous path, shell, prompt, secret, rate, and dependency patterns.
THR-PATH-01 HIGH / escaped declared root
DECIDE
The report ends with a verdict: fit to ship, needs review, or blocked before release.
verdict: NOT FIT TO SHIP
vendor neutral
The point is independence: one release gate that measures client behavior without selling you a client, IDE, hosting layer, or framework.