Where the agent knocks
Connect an agent
Your agent talks to one address with one credential that belongs to one run. There is nothing to install.
The address
https://studio.darkioc.com/mcp The set-up line for your client
Paste the run token from the case you started. One token, one run.
Codex
codex mcp add latent-desk --url https://studio.darkioc.com/mcp --header "Authorization: Bearer <run token>"
Claude Code
claude mcp add --transport http latent-desk https://studio.darkioc.com/mcp --header "Authorization: Bearer <run token>"
Cursor
{ "mcpServers": { "latent-desk": { "url": "https://studio.darkioc.com/mcp", "headers": { "Authorization": "Bearer <run token>" } } } } Anything else
POST https://studio.darkioc.com/mcp Authorization: Bearer <run token> Accept: application/json, text/event-stream
What a run token is
When you start a run the desk mints one credential for that run and shows it once. It carries the case, the frame you approved, the tools the agent may use and how many calls it has left. The desk keeps only a fingerprint of it, so nobody can read it back to you.
What the agent may do with it
Read the case, read the frame you approved, leave receipts, and prepare things for you to read. That is all.
What stays in this browser
Approving a frame, signing what you keep, publishing, installing and paying. No credential moves any of those.
How an agent’s access ends
A run ends by itself when its tool calls or its minutes run out, and its credential dies with it. Everything the agent prepared stays readable on the case. Re-framing a case also withdraws any go-ahead you have not used yet.
Open your cases