Sprites MCP Server
Manage Sprites: sandboxed compute environments with exec, services, and checkpoints.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http sprites-mcp-server 'https://sprites.dev/mcp'
{
"mcpServers": {
"sprites-mcp-server": {
"type": "http",
"url": "https://sprites.dev/mcp"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
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.
- Endpoint:
https://sprites.dev/mcp - Transport: Streamable HTTP (JSON-RPC 2.0)
- Auth: OAuth 2.1 (
sprites:read/sprites:writescopes) - Registry:
dev.sprites/mcpin the official MCP registry - Docs: https://docs.sprites.dev/integrations/remote-mcp/
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:
| Endpoint | Purpose |
|---|---|
GET /.well-known/oauth-protected-resource | Protected Resource Metadata (RFC 9728) |
GET /.well-known/oauth-authorization-server | Authorization Server Metadata (RFC 8414) |
POST /oauth/register | Dynamic Client Registration (RFC 7591) |
GET/POST /oauth/authorize | Authorization endpoint |
POST /oauth/token | Token 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
| Tool | Access | Description |
|---|---|---|
list_sprites | read | List sprites for the authenticated organization. |
create_sprite | write | Create a new sprite. |
destroy_sprite | write | Destroy a sprite. |
Command execution
| Tool | Access | Description |
|---|---|---|
exec | write | Run a command inside a sprite (non-TTY HTTP exec). |
exec_list | read | List active exec sessions. |
exec_kill | write | Kill 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).
| Tool | Access | Description |
|---|---|---|
file_read | read | Read a file's contents. Returns an embedded text or binary resource. |
file_list | read | List the entries of a directory. |
file_write | write | Write contents to a file. |
file_copy | write | Copy a file or directory. |
file_rename | write | Rename or move a file or directory. |
file_delete | write | Delete a file or directory. |
Checkpoints
| Tool | Access | Description |
|---|---|---|
checkpoint_create | write | Snapshot the current sprite state. |
checkpoint_list | read | List checkpoints. |
checkpoint_get | read | Get details of a specific checkpoint. |
checkpoint_restore | write | Restore the sprite to a checkpoint. |
Services
| Tool | Access | Description |
|---|---|---|
service_list | read | List configured services and their state. |
service_get | read | Get details of a specific service. |
service_create | write | Create or update a service definition. |
service_start | write | Start a service. |
service_stop | write | Stop a running service. |
service_logs | read | Stream logs for a service. |
Network policy
| Tool | Access | Description |
|---|---|---|
policy_network_get | read | Get the current outbound network policy. |
policy_network_update | write | Update 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(stringKEY=VALUE, optional, repeatable),dir(string, optional).exec_kill—session_id(string, required),signal(string, optional, defaultSIGTERM),timeout(string, optional, default10s).file_read—path(string, required),workingDir(string, required),encoding(string, optional,utf8(default) orbase64;utf8returns an embedded text resource,base64an embedded binary resource).file_list—path(string, required),workingDir(string, required).file_write—path(string, required),workingDir(string, required),content(string, required; literal text forutf8, base64-encoded bytes forbase64),encoding(string, optional,utf8(default) orbase64),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 hasdomain,action, and optionalinclude).service_get/service_start/service_stop/service_logs—service_name(string, required).service_start/service_stoptake an optionalduration/timeout;service_logstakes optionallines(integer) andduration(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.
الأسئلة الشائعة
ما هو Sprites MCP Server؟
Manage Sprites: sandboxed compute environments with exec, services, and checkpoints.
كيف أثبّت Sprites MCP Server؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http sprites-mcp-server 'https://sprites.dev/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Sprites MCP Server إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Sprites MCP Server مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Sprites MCP Server؟
ينشره superfly. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.