Remote MCP Server
Sprites runs a hosted MCP server. Connect an MCP client to it and the client can control Sprites directly. It can create and manage them, run commands, inspect checkpoints, and change network policy through standard MCP tools.
Why use it? Your MCP client gets persistent, isolated Linux environments without you pasting API tokens into a prompt. Most clients connect directly; clients without MCP OAuth support can use a local authentication bridge.
MCP server URL
Section titled “MCP server URL”Use this URL when adding the connector:
https://sprites.dev/mcpThe connector uses OAuth. During setup, you sign in with your Fly.io account, choose the organization the client should use, and approve the level of Sprites access for that connector.
Add the connector
Section titled “Add the connector”- Open your MCP client’s connector settings.
- Add a remote (or custom) MCP connector. Different clients label this differently. Look for “Remote MCP server”, “Custom connector”, or similar.
- Enter
https://sprites.dev/mcp. - Follow the browser authentication flow for Fly.io.
- Choose the Sprites organization the connector should use.
- Review the token restrictions on the consent screen and approve the connection.
Client setup
Section titled “Client setup”Choose your client for its settings location and configuration. Cline, Windsurf, Zed, and Continue connect directly to the hosted server and complete OAuth in your browser. JetBrains AI Assistant uses a local bridge for the OAuth flow.
- In the Cline panel, open MCP Servers.
- Open Configure, then select Configure MCP Servers.
- Add this server under
mcpServers:
{ "mcpServers": { "sprites": { "type": "streamableHttp", "url": "https://sprites.dev/mcp", "disabled": false, "autoApprove": [] } }}After Cline detects that authentication is required, select Authenticate for the Sprites server and complete the browser flow. Leaving autoApprove empty makes Cline ask before every Sprites tool call.
New Windsurf tabs use Devin Local. Add Sprites with the Devin CLI, then authenticate it:
devin mcp add sprites https://sprites.dev/mcpdevin mcp login spritesFor the legacy Cascade agent:
- Open the MCP server menu, or open Devin Settings → Cascade → MCP Servers.
- Edit
~/.codeium/windsurf/mcp_config.jsonand add:
{ "mcpServers": { "sprites": { "serverUrl": "https://sprites.dev/mcp" } }}Both agents support OAuth for remote HTTP servers. Complete the browser flow when asked to authenticate Sprites. A team administrator can turn off custom MCP servers or require the server ID sprites to be on the allowlist.
- Open Settings → AI → MCP Servers.
- Select Add Server → Add Remote Server, or add this entry to your Zed settings file:
{ "context_servers": { "sprites": { "url": "https://sprites.dev/mcp" } }}Do not add an Authorization header. When it is absent, Zed starts the standard MCP OAuth flow. The server indicator turns green and shows Server is active after Sprites connects.
Zed asks before tool calls by default. You can change that behavior with agent.tool_permissions, including rules for individual mcp:sprites:<tool_name> tools.
- Create
.continue/mcpServers/sprites.yamlat the root of your workspace. - Add:
name: Sprites MCPversion: 0.0.1schema: v1mcpServers: - name: Sprites type: streamable-http url: https://sprites.dev/mcpOpen Continue in Agent mode. Continue starts the OAuth flow when it first connects to Sprites; complete it in the browser. MCP tools are only available in Agent mode.
JetBrains AI Assistant supports the Streamable HTTP transport. Its MCP documentation does not include the browser OAuth flow that Sprites requires, so use mcp-remote as a local stdio bridge.
- Make sure Node.js and
npxare installed. - Open Settings → Tools → AI Assistant → Model Context Protocol (MCP).
- Select Add, choose STDIO, and enter:
{ "mcpServers": { "sprites": { "command": "npx", "args": ["-y", "mcp-remote", "https://sprites.dev/mcp"] } }}AI Assistant launches the bridge as a child process. The bridge opens the Sprites browser OAuth flow and passes the authenticated MCP connection back to the IDE; your Sprites token does not go in the configuration file.
After setup, ask your client:
List my Sprites.An empty list is still a successful authenticated response.
Permissions
Section titled “Permissions”The default token is restricted. The connector can only create Sprites whose names start with mcp-, and it can only create a limited number of them.
You can change both on the consent screen: pick a different name prefix, raise or lower the cap, or switch to full access if you want the connector to act on the whole organization without those guardrails.
Available tools
Section titled “Available tools”MCP clients see Sprites as tools. There are two layers: organization-level tools that act across your Sprites, and Sprite-level tools that act inside a specific one.
Organization tools
Section titled “Organization tools”| Tool | Access | What it does |
|---|---|---|
list_sprites | Read-only | Lists Sprites visible to the authenticated organization and token policy. |
create_sprite | Destructive | Creates a Sprite in the selected organization. |
destroy_sprite | Destructive | Permanently destroys a Sprite. |
Sprite tools
Section titled “Sprite tools”The Sprite-level tools are generated from the public Sprite environment API. The exact list may change as new Sprite environment versions ship, but commonly includes:
| Category | Examples |
|---|---|
| Exec | Run a command, list exec sessions, stop a session |
| Checkpoints | Create, list, inspect, and restore checkpoints |
| Network policy | Read or update outbound network rules |
| Services | List, create, start, stop, and inspect background services |
| Service logs | Read recent service logs |
Tools are annotated as either read-only or destructive. Your MCP client may ask for additional confirmation before using destructive tools, depending on its settings.
Safety model
Section titled “Safety model”Sprites are isolated Linux environments. That isolation is useful for agent work, but MCP tools can still perform real actions in your organization.
destroy_spritepermanently deletes a Sprite and its data. There is no undo.- Command execution can modify files, install packages, start services, or use network access allowed by the Sprite policy.
- Checkpoint restore rewinds a Sprite to a previous filesystem state. Any work done since that checkpoint is gone.
- Network policy updates can allow or block outbound access from a Sprite.
For safer workflows, use a restricted OAuth token, pick a clear name prefix such as mcp-, and create a fresh Sprite for experiments.
Example requests
Section titled “Example requests”Create a Sprite named mcp-demo, run python --version, and tell me what runtime is installed.Create a checkpoint on mcp-demo before making changes. Then install ripgrep and verify rg --version.List my Sprites with the mcp- prefix and summarize which ones are running.Troubleshooting
Section titled “Troubleshooting”The client cannot connect
Section titled “The client cannot connect”Check that the connector URL is exactly:
https://sprites.dev/mcpThe MCP endpoint is not the REST API host. Do not use https://api.sprites.dev.
Authentication loops or fails
Section titled “Authentication loops or fails”Sign out of Fly.io in your browser, sign in again, and retry the connector flow. If you belong to multiple organizations, make sure you select the one that should own Sprites created through MCP.
A Sprite is not found
Section titled “A Sprite is not found”The Sprite may belong to a different organization, may be outside the token’s allowed name prefix, or may have been destroyed. Call list_sprites and verify the exact Sprite name.
A parameter is missing
Section titled “A parameter is missing”Some tools require an existing Sprite name, service name, checkpoint ID, or exec session ID. List the relevant resource first, then retry the tool call with the exact identifier.
A Sprite is starting
Section titled “A Sprite is starting”Cold Sprites can take a moment to wake. If the client receives a retry message, wait a few seconds and run the same tool again.
REST API reference
Section titled “REST API reference”The MCP server wraps the same Sprite capabilities documented in the Sprites API reference. Use the API reference when you want endpoint schemas, SDK examples, or direct REST access instead of MCP.