Claude Code

Manage Saturn Cloud resources from Claude Code with the Saturn Cloud plugin

The Saturn Cloud plugin for Claude Code lets Claude create, inspect, and manage your Saturn Cloud workspaces, jobs, and deployments directly from a Claude Code session. It bundles two pieces:

  • An MCP server that exposes Saturn Cloud’s API as tools Claude can call (list resources, apply recipes, start/stop, schedule jobs, fetch logs, list instance types, manage SSH keys).
  • A skill that teaches Claude the Saturn Cloud recipe schema and conventions so it can author and edit recipes correctly without trial and error.

The plugin is open source and hosted on GitHub at saturncloud/claude-plugin.

Prerequisites

  • Claude Code installed and working.
  • A Saturn Cloud account and an API token (Settings → API Tokens).
  • uv installed and on your PATH. The MCP server is launched via uvx, which provisions and caches its Python environment automatically.

Install

In a Claude Code session, add the Saturn Cloud marketplace from GitHub and install the plugin:

/plugin marketplace add saturncloud/claude-plugin
/plugin install saturn-cloud@saturn-local

Claude Code clones the plugin into its plugin directory. The MCP server entry point is registered automatically through the plugin’s bundled .mcp.json, which runs the server with uvx. The first time the server starts, uvx resolves and caches its dependencies. Subsequent starts are fast.

Restart Claude Code after install so it picks up the new MCP server registration.

Configure

The MCP server reads two environment variables:

VariableDescription
SATURN_BASE_URLYour Saturn Cloud installation URL (for example https://app.community.saturnenterprise.io, or your Saturn Enterprise URL)
SATURN_TOKENAPI token from Settings → API Tokens in the Saturn Cloud UI

Set both in your shell before launching Claude Code:

export SATURN_BASE_URL="https://app.community.saturnenterprise.io"
export SATURN_TOKEN="your-api-token"
claude

What Claude can do

Once the plugin is installed, Claude has access to the following Saturn Cloud tools:

Resource management

ToolWhat it does
saturn_list_resourcesList your workspaces, jobs, and deployments
saturn_get_resourceFetch a resource’s full recipe
saturn_apply_recipeCreate or update a resource from a recipe
saturn_delete_resourceDelete a resource
saturn_start_resource / saturn_stop_resourceControl runtime state
saturn_schedule_jobSet a cron schedule on a job
saturn_get_logsFetch logs for a resource
saturn_list_instance_typesList available compute sizes for your installation

SSH access

ToolWhat it does
saturn_ssh_setupOne-step setup: generate a Saturn-dedicated keypair locally and register the public key with your account
saturn_ssh_key_listList SSH keys registered with Saturn Cloud
saturn_ssh_key_registerRegister an existing public key with Saturn Cloud
saturn_ssh_key_deleteRemove a registered key by ID
saturn_get_ssh_urlGet the SSH URL of a running workspace or deployment (requires start_ssh: true in the recipe)

Combined with the bundled skill, this means you can ask Claude things like:

  • “Create a Jupyter workspace with a GPU and the latest PyTorch image."
  • “Schedule my nightly-etl job to run every day at 2am UTC."
  • “Stop every workspace I’m not using right now."
  • “Show me the last 100 log lines from my failing deployment."
  • “Bump the instance type on my training job to an xlarge GPU."
  • “Set up SSH to Saturn, then connect me to my dev workspace."

Claude reads the recipe schema from the skill, so it authors valid recipes and explains trade-offs (instance sizes, disk space, image choices) without you needing to remember the field names.

Updating the plugin

Update the plugin from within Claude Code:

/plugin update saturn-cloud@saturn-local

Restart Claude Code afterwards. uvx picks up the new plugin code on the next launch; if dependencies changed it will refresh its cache automatically.

Troubleshooting

  • /plugin install fails with “marketplace not found”. Make sure you ran /plugin marketplace add saturncloud/claude-plugin first.
  • The MCP server fails to start. Confirm uv is installed and on the PATH of the shell that launched Claude Code (uvx --version should succeed). The MCP server is invoked as uvx --from <plugin-dir> saturn-mcp.
  • Tools return authentication errors. Re-check SATURN_BASE_URL and SATURN_TOKEN are exported in the shell that launched Claude Code. The token must belong to the same Saturn installation as SATURN_BASE_URL.
  • saturn_get_ssh_url returns “no ssh_url”. The target resource must be running and its recipe must set start_ssh: true. Update the recipe with saturn_apply_recipe, restart the resource, and try again.

Feedback and contributions

Bug reports, feature requests, and pull requests are welcome on the GitHub repository. For general Saturn Cloud questions, email support@saturncloud.io.