MCP Troubleshooting
Fix the common Conbersa MCP connection and run errors: 401 missing or revoked key, 403 origin rejection, 421 host errors, and device-busy failures.
Five things break an MCP connection: a missing key, a bad key, an untrusted origin, a wrong URL, or a busy device. Here's how to tell which one you have.
Diagnosing fast
- Confirm the endpoint. It must be exactly
https://api.conbersa.ai/mcp. - Confirm the key. It starts with
cb_live_and must be current. - Test read-only. Call
list_devices. If that fails, the problem is connection or auth, not the task. - Read the status code. It tells you which layer said no.
Error reference
`401 Missing API key (X-API-Key or Bearer cb_live_...)`
No key was sent. Add X-API-Key: cb_live_... or Authorization: Bearer cb_live_... to the headers. Many clients only pick up the change after you re-save the config.
`401 Invalid or revoked API key`
The key is wrong, revoked, or from a deleted account. Make a new key in Settings → API keys and update the client. See API keys.
`403 Invalid Origin header`
The request carried an Origin the server's DNS-rebinding guard doesn't trust. Common clients — Claude, ChatGPT, Cursor — are already allowed. If you use an unusual client or a custom proxy, the origin needs to be allowlisted. Auth is separate, so this isn't a key problem.
`421 Invalid Host header`
The request hit a host the server doesn't recognize. Make sure you're calling api.conbersa.ai, not an IP or an alias. A proxy that rewrites the Host header can cause this too.
Client-to-server timeouts
Long-running tools shouldn't block. Conbersa run tools return a group_id right away; poll get_session_status from there. If your client times out waiting on a tool, it's probably calling one with a very high max_steps and expecting it to return only when finished. Lower max_steps or switch to polling.
Device and run errors
`Device busy — (held by )`
Another run holds the device. Call list_devices, filter on busy, and target free pads. Locks release when a run ends or is stopped.
`group_id ... not found` / session not found
The session doesn't exist, belongs to another user, or has aged out of memory. list_sessions shows the sessions your key can see; use a group_id from that list.
Run starts but nothing happens
Check the device's prompt_profile and the prompt you passed. Use preview_run to confirm which template and persona each device will apply. A free-form task with no persona can leave an agent guessing.
Content run fails at a platform
Content tools are experimental. Confirm the media ingested (ingest_content returned conbersa-file:// URIs), that every platform group lists valid pad_ids, and that captions aren't empty. Then retry that platform.
Client-specific notes
- ChatGPT — "Couldn't reach server" almost always means URL, key, or origin. Check all three.
- Claude — remote OAuth connectors aren't supported; use the bearer-key config in Connect Claude.
- Cursor / opencode — make sure the config file was saved and the server enabled; re-saving forces a reconnect.
Still stuck?
Share the error code, the tool name, and your client. Anything starting with 4xx is a request problem — the task never started. If a run misbehaves after a successful start, open the session link and share the group_id.