Skip to main content
Glama

Sprite MCP Server

MCP server for managing Sprite VMs with interactive UI dashboards (MCP Apps).

Works with Claude.ai, Claude Desktop, Claude Code, VS Code, and any MCP-compatible client.

Features

  • List & manage Sprite VMs - Interactive dashboard with status indicators

  • Execute commands - Terminal UI with command history

  • Checkpoints - Create, list, restore filesystem snapshots

  • File transfer - Push/pull files to/from remote sprites

  • Session management - List, attach, kill sessions


Related MCP server: MCP VPS Manager

Windows Setup (Claude Desktop / Claude Code)

Prerequisites

Step 1: Install Sprite CLI

Download and install the Sprite CLI for Windows:

# Using PowerShell (run as Administrator)
irm https://sprites.dev/install.ps1 | iex

Or download manually from sprites.dev/downloads.

Step 2: Authenticate with Sprite

Get your API token from the Sprites dashboard, then:

# Authenticate with your token
sprite auth setup --token "your-org/org-id/token-id/token-value"

# Or use interactive login (opens browser)
sprite login

Verify it works:

sprite list

Step 3: Clone and Build the MCP Server

# Clone the repository
git clone https://github.com/Anansitrading/sprite-mcp-server.git
cd sprite-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

Step 4: Find Your Sprite CLI Path

# Find where sprite is installed
where sprite

This typically returns something like:

  • C:\Users\YourName\.local\bin\sprite.exe

  • C:\Users\YourName\AppData\Local\Programs\sprite\sprite.exe

Note this path - you'll need it for configuration.

Step 5: Configure Claude Desktop

Edit your Claude Desktop config file:

Location: %APPDATA%\Claude\claude_desktop_config.json

Open it with:

notepad "$env:APPDATA\Claude\claude_desktop_config.json"

Add this configuration (replace paths with your actual paths):

{
  "mcpServers": {
    "sprite": {
      "command": "node",
      "args": ["C:\\Users\\YourName\\sprite-mcp-server\\dist\\index.js"],
      "env": {
        "SPRITE_BIN": "C:\\Users\\YourName\\.local\\bin\\sprite.exe"
      }
    }
  }
}

Important: Use double backslashes (\\) in paths or forward slashes (/).

Step 6: Restart Claude Desktop

  1. Fully quit Claude Desktop (check system tray)

  2. Reopen Claude Desktop

  3. Look for the hammer icon (🔨) indicating MCP tools are available

Step 7: Test It

Ask Claude:

  • "List my sprites"

  • "Execute ls -la on my sprite"

  • "Create a checkpoint"


Claude Code Setup (Windows)

For Claude Code CLI, add to your settings:

# Open Claude Code settings
claude mcp add sprite -- node "C:\Users\YourName\sprite-mcp-server\dist\index.js"

Or edit ~/.claude/settings.json:

{
  "mcpServers": {
    "sprite": {
      "command": "node",
      "args": ["C:\\Users\\YourName\\sprite-mcp-server\\dist\\index.js"],
      "env": {
        "SPRITE_BIN": "C:\\Users\\YourName\\.local\\bin\\sprite.exe"
      }
    }
  }
}

Linux/macOS Setup

Prerequisites

  • Node.js 20+

  • Sprite CLI configured with credentials

Quick Start

# Clone & build
git clone https://github.com/Anansitrading/sprite-mcp-server.git
cd sprite-mcp-server
npm install
npm run build

# Authenticate with Sprite
sprite login
# or
sprite auth setup --token "your-token"

# Test
sprite list

Claude Desktop Configuration

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "sprite": {
      "command": "node",
      "args": ["/path/to/sprite-mcp-server/dist/index.js"],
      "env": {
        "SPRITE_BIN": "/home/youruser/.local/bin/sprite"
      }
    }
  }
}

Claude Code Configuration

claude mcp add sprite -- node /path/to/sprite-mcp-server/dist/index.js

Server Deployment (for Claude.ai web)

For hosting your own MCP server accessible from claude.ai:

Prerequisites

  • Node.js 20+

  • A domain pointing to your server (for HTTPS)

  • Caddy or nginx for reverse proxy

Deploy

# Clone & build
git clone https://github.com/Anansitrading/sprite-mcp-server.git
cd sprite-mcp-server
npm install
npm run build

# Configure
cp .env.example .env
# Edit .env:
#   PORT=3847
#   SPRITE_BIN=/home/sprite/.local/bin/sprite

# Run with systemd
sudo cp sprite-mcp.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable sprite-mcp
sudo systemctl start sprite-mcp

Caddy Reverse Proxy

mcp.yourdomain.com {
    reverse_proxy localhost:3847
}

Connect to Claude.ai

  1. Go to claude.ai/settings/integrations

  2. Add MCP Server:

    • Name: sprite-mcp

    • URL: https://mcp.yourdomain.com/sse

  3. Test by asking Claude: "List my sprites"


MCP Tools

Tool

Description

list_sprites

List all Sprite VMs (with interactive dashboard)

exec_command

Execute command on a sprite (with terminal UI)

create_checkpoint

Create filesystem snapshot

list_checkpoints

List available checkpoints

restore_checkpoint

Restore to a checkpoint

get_sprite_url

Get sprite's public URL

fetch_file

Download file from sprite

push_file

Upload file to sprite

list_sessions

List active sessions

create_sprite

Create new sprite VM

destroy_sprite

Delete a sprite VM

Interactive UIs (MCP Apps)

This server uses MCP Apps to provide interactive interfaces:

  • Dashboard (ui://sprite/dashboard) - Visual sprite management

  • Terminal (ui://sprite/terminal) - Command execution interface

These render directly in the Claude conversation when using supported clients.

Troubleshooting

Windows: "sprite is not recognized"

Add Sprite to your PATH or use the full path in SPRITE_BIN:

# Find sprite location
where sprite

# Add to PATH (PowerShell, run as admin)
$env:Path += ";C:\Users\YourName\.local\bin"
[Environment]::SetEnvironmentVariable("Path", $env:Path, [EnvironmentVariableTarget]::User)

Windows: "ENOENT" or "spawn error"

  • Ensure all paths use double backslashes or forward slashes

  • Verify the dist/index.js file exists (run npm run build first)

  • Check that SPRITE_BIN points to the actual .exe file

"Sprite CLI not authenticated"

# Re-authenticate
sprite login

# Or with token
sprite auth setup --token "your-token"

# Verify
sprite list

Check server health

# If running HTTP server
curl http://localhost:3847/health

Test MCP handshake

echo '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}' | npm start

Architecture

┌─────────────────────────────────────────────────────────┐
│                    Claude.ai / Desktop                   │
├─────────────────────────────────────────────────────────┤
│                    MCP Protocol                          │
│              (stdio or HTTP/SSE transport)               │
├─────────────────────────────────────────────────────────┤
│                  sprite-mcp-server                       │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────┐  │
│  │ MCP Tools   │  │ UI Resources│  │ Sprite CLI      │  │
│  │ (11 tools)  │  │ (Dashboard) │  │ Integration     │  │
│  └─────────────┘  └─────────────┘  └─────────────────┘  │
├─────────────────────────────────────────────────────────┤
│                    Sprite CLI                            │
│              (sprite list, exec, checkpoint...)          │
├─────────────────────────────────────────────────────────┤
│                 Sprites API / VMs                        │
└─────────────────────────────────────────────────────────┘

License

MIT

Available Tools

11 tools
create_checkpointB

Create a filesystem checkpoint/snapshot of a Sprite VM for quick restore

Inputs: sprite (required), comment, org.

create_spriteC

Create a new Sprite VM

Inputs: name (required), org.

destroy_spriteA

Destroy/delete a Sprite VM (requires confirmation)

Inputs: sprite (required), confirm (required), org.

exec_commandC

Execute a command on a remote Sprite VM

Inputs: sprite (required), command (required), org, timeout.

fetch_fileA

Download a file from a remote Sprite VM to the local filesystem

Inputs: sprite (required), remote_path (required), local_path (required), org.

get_sprite_urlB

Get the public URL for a Sprite VM

Inputs: sprite (required), org.

list_checkpointsC

List all checkpoints for a Sprite VM

Inputs: sprite (required), org.

list_sessionsC

List active sessions on a Sprite VM

Inputs: sprite (required), org.

list_spritesC

List all available Sprite VMs in the organization. Returns an interactive dashboard to manage sprites.

Inputs: org.

push_fileC

Upload a file from local filesystem to a remote Sprite VM

Inputs: sprite (required), local_path (required), remote_path (required), org.

restore_checkpointC

Restore a Sprite VM to a previous checkpoint state

Inputs: sprite (required), checkpoint_id (required), org.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 11 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. For example, create_sprite, destroy_sprite, and list_sprites handle VM lifecycle management, while fetch_file and push_file handle file transfers, and checkpoint tools manage snapshots. The descriptions clearly differentiate each tool's specific function.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern throughout (e.g., create_checkpoint, list_sessions, push_file). There are no deviations in style or convention, making the tool set predictable and easy to understand.

    Tool Count5/5

    With 11 tools, this is well-scoped for managing Sprite VMs. Each tool earns its place by covering essential operations like VM lifecycle, file management, checkpointing, and session monitoring without being excessive or insufficient.

    Completeness5/5

    The tool surface provides complete coverage for the Sprite VM domain, including CRUD operations (create, list, destroy), file management (push, fetch), checkpoint lifecycle (create, list, restore), and additional utilities (exec_command, get_sprite_url, list_sessions). There are no obvious gaps that would hinder agent workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to run, manage, and debug BSD/Illumos VMs through natural language. Supports creating FreeBSD, OpenBSD, NetBSD, and OmniOS VMs, executing commands inside them, accessing console logs, and managing snapshots.
      7
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables LLMs to securely manage Virtual Private Servers via SSH, with features including command execution, file operations, system monitoring, and service management.
      2
      MIT