MCP Server
The Sp00ky Cloud MCP server lets any Model Context Protocol
client — Claude Code, Cursor, VS Code, and others — drive your Sp00ky Cloud account in natural
language. Your AI assistant can list projects, deploy, tail logs, manage environment variables,
trigger backups, and more — all through the same API the spky CLI uses.
It’s a remote server hosted at https://api.sp00ky.cloud/v1/mcp (Streamable HTTP), authenticated
with a dedicated MCP token. Nothing to install or run locally.
Quick start
Get connected in under a minute.
spky mcp token walks you through picking scopes (default: read-only), prints your token once,
and offers to register the server with your editor automatically. Then just ask your assistant:
“List my Sp00ky projects.”
When the claude CLI is on your PATH, spky mcp token runs
claude mcp add for you. For other editors it prints a ready-to-paste config.
Add to your editor
Already have a token? Use spky mcp install, or drop the config in by hand.
Claude Code
Register the server at user scope (available in every project):
Verify it’s connected:
Cursor
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
VS Code
Add to .vscode/mcp.json in your workspace:
Any MCP client
The server speaks Streamable HTTP. Point any client at the endpoint and send the token as a bearer header:
Tokens
MCP access uses dedicated mcp_live_ tokens — separate from your CLI session and from spk_live_
API keys, so you can issue and revoke them independently. Create them with spky mcp token:
The full token is shown only once, right after creation. Store it like a password — if you lose it, revoke it and create a new one.
List and revoke tokens at any time:
| Flag | Description |
|---|---|
--read-only | Shortcut for the mcp:read scope |
--scopes | Comma-separated scopes, skips the interactive picker |
--name | A label so you can tell tokens apart in spky mcp tokens |
--install | Register the server with an editor right after creating the token |
--client | Which editor to register with: claude, cursor, or vscode |
--yes | Non-interactive (read-only unless --scopes is given) |
Scopes & safety
Tokens are read-only by default — your assistant can look but not touch until you grant write scopes. Each tool requires a single scope, and the server only advertises the tools your token is allowed to use.
| Scope | Grants |
|---|---|
projects:read / projects:write | List/inspect projects · create, destroy |
deployments:read / deployments:write | Deployment status · deploy, rollback, restart, scale, tear down |
logs:read | Read recent project logs |
env:read / env:write | List variables · set, delete, bulk-load |
vault:read / vault:write | Vault status · init, CI access |
backups:read / backups:write | List/inspect backups · create, restore, delete, configure |
domains:read / domains:write | List custom domains · add, remove |
links:read / links:write | Repo link status & runs · set up, trigger, unlink |
tenants:read / tenants:write | List teams & members · create, invite, manage |
billing:read / billing:write | Usage · checkout, change plan, billing portal |
mcp:read | Convenience: every *:read scope |
mcp:full | Convenience: every read and write scope (excludes secrets:reveal) |
secrets:reveal | Unmask secret values (env values, vault material) |
Environment variable values and vault material are redacted in tool responses unless the token
carries secrets:reveal. Grant it only when you intend the assistant to read raw
secrets — and never to mcp:full alone, which deliberately does not include it.
What your assistant can do
Once connected, these capabilities are available (gated by the scopes above). Tools marked destructive delete or tear down resources.
- Projects — list, get details, create, destroy
- Deployments — status, deploy, finalize, rollback, restart, scale, tear down
- Logs — fetch recent project logs (bounded, non-streaming)
- Environment variables — list, set, delete, bulk-load
- Vault — status, init, enable/disable CI access
- Backups — list, create, restore, check restore status, delete, configure, reset
- Custom domains — list, add, remove
- Repo links — status, recent runs, set up, update, trigger a build, unlink
- Teams — list teams & members, create, invite, remove members/invitations
- Billing — usage, checkout, change plan, billing portal
By default tools act in your personal tenant. Most tools accept an optional tenant_id to act
within a specific team/organization.
Example prompts
Things you can ask once the server is connected:
- “Deploy the latest build of my
apiproject.” - “Show me the last 200 log lines for
web, filtered to thesspservice.” - “What environment variables are set on
api? (values stay masked)” - “Restart
weband then tell me its deployment status.” - “List the backups for
apiand create a fresh one.”
Troubleshooting
- 401 Unauthorized — the token is missing, malformed, or expired. Mint a new one with
spky mcp tokenand re-add it. The header must be exactlyAuthorization: Bearer mcp_live_…. - No tools show up — your token’s scopes are too narrow. Create a token with
mcp:read(ormcp:fullfor writes). The server only lists tools your scopes allow. claude: command not found— install the Claude Code CLI, or paste theclaude mcp add …command / editor config manually (see Add to your editor).- Secret values come back as
***REDACTED— that’s expected withoutsecrets:reveal. Issue a token with that scope if the assistant genuinely needs raw secrets.
You can sanity-check connectivity from a terminal: