Start the selected remote spy
ensure-remote-spyStarts the selected capture engine (default cobalt), stops any other, and attaches one observer to record live Roblox remote calls.
Instructions
WRITES LIVE GAME STATE. Starts the selected engine (default cobalt), stopping the other spy on this client first. Cobalt is bundled; Ketamine is downloaded from a pinned upstream commit and hash-checked before loading. Ketamine requires hookfunction, hookmetamethod, getnamecallmethod, getcallbackvalue, setfenv, and crypt.hash. Idempotently attaches one capture observer. RakNet is Cobalt-only. max bounds the MCP buffer, separate from GUI history. Use remote-spy operation=restart for mode changes. Signature: { engine: "cobalt" | "ketamine"?, mode: any?, max: number?, threadContext: number? }. Phase: act; cost=medium; idempotency=contextual-write. Requires: active-client, explicit-mutation-approval. Produces: bounded-event-snapshot. Verify with: assert-state. Safety: MUTATING; changes persistent executor-side observer or hook state. On failure: inspect tool-schema for exact fields, defaults, constraints, and an invocation example.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | MCP buffer capacity, clamped to 10..5000. Omit to retain the current capacity (500 on first start). | |
| mode | No | Cobalt auto prefers supported RakNet; luau selects standard hooks. Ketamine accepts auto/luau only. Changing an active mode requires restart. | auto |
| engine | No | Remote-spy backend. Only one engine runs per client; starting another stops the current engine. Defaults to cobalt. | cobalt |
| threadContext | No | Optional Roblox thread identity for this call; omit it to use the server default. |