2025-06-18 and later). It wraps Cyberun’s runtime API, so any
MCP-aware client — Claude Code, Cursor, Windsurf, Codex CLI,
VS Code 1.101+, Claude Desktop — can list workflows, submit
tasks, stream progress, fetch results, and cancel runs without
hitting REST directly.
Server info
Get a credential
The server accepts integration credentials only — keys with thesk- prefix. Device (dk-) and agent (ak-) credentials
are rejected.
Issue one in Cyberun Cloud:
- Sign in at app.cyberun.cloud.
- Open Access → Integration.
- Click Create integration key and copy the value — it is shown once.
- Store it in your secret manager (1Password, macOS Keychain, environment variable, etc.).
X-Team-ID header.
Connect
Replace$CYBERUN_API_KEY with your sk-… credential or read
it from the environment.
mcp-remote shim is only needed for clients that don’t yet
support native Streamable HTTP MCP. Recent Windsurf, Cursor, and
VS Code releases all support the native form above.
After registering the server, restart the client. Cyberun tools
appear in the tool picker.
Tools
Fifteen tools are exposed. All operations are scoped to the team bound to the integration credential.Workflows
Tasks
Agents and container services
Calling container services
A team can deploy any HTTP service (Ollama, vLLM, a custom Flask app, etc.) as a container service. Once running, MCP agents discover and call it without leaving the MCP transport:list_container_services→ find a slug whoseservice_statusisrunning.get_container_servicewith that slug → readusage_prompt(free-form instructions for AI agents — e.g. “POST/api/generatewith{model, prompt}. Models available: llama3, qwen2.”) andopenapi_urlif set.call_container_servicewithservice_slug,method,path, andbody_base64for the body (base64 so binary payloads survive JSON transport — use an empty string forGET/DELETE).
body_base64 is also base64-encoded; decode it
before passing JSON back to the model.
Calling a container service requires the invoke permission on
the team’s container-service resource. Viewer-role members can
list and read services but cannot invoke them. Members and above
can invoke.
Task lifecycle
Tasks move through these states:pending, waiting, queued, or running can be
cancelled with cancel_task. Tools that block on completion
(stream_task_events) return when the task reaches completed,
failed, or cancelled.
Errors
Tool errors are surfaced inside the result envelope (not as JSON-RPC errors), following the MCP spec. When the underlying request fails with status>= 400, the tool result has
isError: true, and the upstream error body is returned both as
a text content block and as structuredContent. The body is a
flat object with a single error_message field:
401 from the server means the credential is invalid, revoked,
or expired — don’t retry; the user needs to issue a fresh key.
A 403 means the credential is valid but lacks permission for
the operation (e.g. only team admins can run some tools). A 429
means you’re being rate-limited — back off.
Streaming progress
stream_task_events honours the standard MCP progressToken.
Include one in your tools/call request and the server will
emit notifications/progress for each task status transition
until the task reaches a terminal state. Sample notification:
timeout_seconds caps how long it will
wait.
Limits
- One MCP session per credential at a time is the normal case. The server tolerates multiple parallel sessions; expect them to share the same team’s task list.
- Tool inputs are validated against their schemas. Invalid input
comes back as
isError: truerather than a JSON-RPC error. - Sessions time out after 30 minutes of inactivity. Clients re-establish transparently.
See also
- AI skill — installable agent skill that teaches AI clients to use this server correctly.
- API reference — the underlying HTTP surface MCP wraps.
- Cloud → Generate an API key — how to
create the
sk-…credential.
