Sprites MCP Server

Official registry Other

Manage Sprites: sandboxed compute environments with exec, services, and checkpoints.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http sprites-mcp-server 'https://sprites.dev/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "sprites-mcp-server": {
            "type": "http",
            "url": "https://sprites.dev/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Sprites MCP Server
  2. What is Sprites?
  3. Connecting
  4. Authentication
  5. Tools
  6. Registry & discovery
  7. About this repository
  8. License

Sprites MCP Server

The official Model Context Protocol server for **Sprites** — sandboxed, checkpointable compute environments you can create, run commands in, and manage services on, all from your AI agent.

This is a remote MCP server. There's nothing to install and run locally: your MCP client connects directly over HTTPS to the hosted endpoint and authenticates with OAuth. This repository is the public home for the server — its listing manifest, connection instructions, and tool reference. The server itself is operated by Fly.io as part of the Sprites platform.

What is Sprites?

A Sprite is an isolated, persistent compute environment. You can create one, execute commands inside it, run long-lived services, snapshot its full state as a checkpoint and restore later, and control its outbound network policy — all programmatically. The MCP server exposes these capabilities as tools so an AI agent can operate Sprites on your behalf.

Learn more at sprites.dev and docs.sprites.dev.

Connecting

Because it's a remote server, you point your client at the URL and complete an OAuth login in the browser the first time. No package install, no local process.

Claude Code
claude mcp add --transport http sprites https://sprites.dev/mcp

Then run /mcp inside Claude Code to complete the OAuth login.

Cursor

Click the Add sprites MCP server to Cursor button above, or add it manually to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):

{
  "mcpServers": {
    "sprites": {
      "url": "https://sprites.dev/mcp"
    }
  }
}

Cursor will prompt you to authorize via OAuth on first use.

Claude Desktop / other HTTP-native clients

Add a remote server pointing at https://sprites.dev/mcp. In a generic MCP client config that supports remote servers, that looks like:

{
  "mcpServers": {
    "sprites": {
      "url": "https://sprites.dev/mcp"
    }
  }
}

You'll be prompted to authorize via OAuth on first use.

Clients that only speak stdio

Some older MCP clients can only launch a local command over stdio and can't dial a URL directly. For those, the generic mcp-remote adapter bridges stdio to the remote endpoint (it handles the OAuth flow for you):

{
  "mcpServers": {
    "sprites": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://sprites.dev/mcp"]
    }
  }
}

mcp-remote is a third-party, off-the-shelf tool — it is not the Sprites server, just a transport shim for clients that need one.

Authentication

The server implements OAuth 2.1 with the metadata-discovery and dynamic-client-registration endpoints MCP clients expect, so most clients configure themselves automatically once you provide the URL:

EndpointPurpose
GET /.well-known/oauth-protected-resourceProtected Resource Metadata (RFC 9728)
GET /.well-known/oauth-authorization-serverAuthorization Server Metadata (RFC 8414)
POST /oauth/registerDynamic Client Registration (RFC 7591)
GET/POST /oauth/authorizeAuthorization endpoint
POST /oauth/tokenToken endpoint

Scopes: sprites:read (list/get operations) and sprites:write (create/update/destroy and command execution).

Restricted tokens. During the consent flow you can restrict a token — limit it to a sprite name prefix, cap the total number of sprites it may create, scope it to a label, or set an expiry. Restrictions are enforced on every call.

Tools

24 tools, grouped below. Access is read (safe, read-only) or write (creates, mutates, or executes). Every sprite-scoped tool takes a required sprite parameter naming the target sprite.

Sprite management
ToolAccessDescription
list_spritesreadList sprites for the authenticated organization.
create_spritewriteCreate a new sprite.
destroy_spritewriteDestroy a sprite.
Command execution
ToolAccessDescription
execwriteRun a command inside a sprite (non-TTY HTTP exec).
exec_listreadList active exec sessions.
exec_killwriteKill an exec session by ID.
Files

Read and manipulate files in a sprite's filesystem. Paths resolve against workingDir, and all access is confined to the sprite's root (symlinks are followed but cannot escape it).

ToolAccessDescription
file_readreadRead a file's contents. Returns an embedded text or binary resource.
file_listreadList the entries of a directory.
file_writewriteWrite contents to a file.
file_copywriteCopy a file or directory.
file_renamewriteRename or move a file or directory.
file_deletewriteDelete a file or directory.
Checkpoints
ToolAccessDescription
checkpoint_createwriteSnapshot the current sprite state.
checkpoint_listreadList checkpoints.
checkpoint_getreadGet details of a specific checkpoint.
checkpoint_restorewriteRestore the sprite to a checkpoint.
Services
ToolAccessDescription
service_listreadList configured services and their state.
service_getreadGet details of a specific service.
service_createwriteCreate or update a service definition.
service_startwriteStart a service.
service_stopwriteStop a running service.
service_logsreadStream logs for a service.
Network policy
ToolAccessDescription
policy_network_getreadGet the current outbound network policy.
policy_network_updatewriteUpdate the outbound network policy.
Parameters

Common: every sprite-scoped tool requires sprite (string) — the target sprite name.

  • list_sprites — prefix (string, optional), max_results (integer, optional), continuation_token (string, optional).
  • create_sprite — name (string, required), wait_for_capacity (boolean, optional).
  • destroy_sprite — name (string, required).
  • exec — cmd (string, required, repeatable for command + args), path (string, optional), stdin (boolean, optional), env (string KEY=VALUE, optional, repeatable), dir (string, optional).
  • exec_kill — session_id (string, required), signal (string, optional, default SIGTERM), timeout (string, optional, default 10s).
  • file_read — path (string, required), workingDir (string, required), encoding (string, optional, utf8 (default) or base64; utf8 returns an embedded text resource, base64 an embedded binary resource).
  • file_list — path (string, required), workingDir (string, required).
  • file_write — path (string, required), workingDir (string, required), content (string, required; literal text for utf8, base64-encoded bytes for base64), encoding (string, optional, utf8 (default) or base64), mode (string, optional, octal e.g. 0644), mkdir (boolean, optional — create parent directories).
  • file_copy — source (string, required), dest (string, required), workingDir (string, required), recursive (boolean, required), preserveAttrs (boolean, required), asRoot (boolean, required).
  • file_rename — source (string, required), dest (string, required), workingDir (string, required), asRoot (boolean, required).
  • file_delete — path (string, required), workingDir (string, required), recursive (boolean, required), asRoot (boolean, required).
  • checkpoint_create — comment (string, optional).
  • checkpoint_get — checkpoint_id (string, required, e.g. v7).
  • checkpoint_restore — checkpoint_id (string, required).
  • policy_network_update — rules (array, required; each rule has domain, action, and optional include).
  • service_get / service_start / service_stop / service_logs — service_name (string, required). service_start/service_stop take an optional duration/timeout; service_logs takes optional lines (integer) and duration (string).
  • service_create — service_name (string, required), cmd (string, required), args (array, optional), needs (array, optional), http_port (integer, optional), duration (string, optional).

The authoritative, always-current tool schemas are served by the live server via the MCP tools/list method.

Registry & discovery

This server is published to the official MCP registry as dev.sprites/mcp. Directories that ingest the registry (Smithery, Glama, the GitHub MCP registry, and others) pick it up automatically. The manifest lives in server.json.

About this repository

This repo contains public listing metadata and documentation only. The MCP server is implemented as part of the Sprites platform and served remotely at https://sprites.dev/mcp — there is no server code to run here.

License

MIT © Fly.io, Inc.

Frequently asked questions

What is Sprites MCP Server?

Manage Sprites: sandboxed compute environments with exec, services, and checkpoints.

How do I install Sprites MCP Server?

It runs as a remote server. In Claude Code: claude mcp add --transport http sprites-mcp-server 'https://sprites.dev/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Sprites MCP Server need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Sprites MCP Server open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Sprites MCP Server?

It is published by superfly. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.