Sprite虚拟机管理服务器

用于管理Sprite虚拟机的服务器,提供交互式UI仪表盘和多种管理功能。

  • by Anansitrading
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Anansitrading/sprite-mcp-server

使用说明

Sprite MCP服务器

用于管理Sprite虚拟机的MCP服务器 交互式UI仪表板 (MCP应用程序)。

适用于Claude.ai、Claude Desktop、Claude Code、VS Code和任何兼容MCP的客户端。

特性

  • 列出并管理Sprite虚拟机 -带有状态指示器的交互式仪表板
  • 执行命令 -带有命令历史记录的终端用户界面
  • 检查点 -创建、列出、恢复文件系统快照
  • 文件传输 -向远程精灵推送文件/从远程精灵拉取文件
  • 会话管理 -列出、附加、终止会话

Windows安装程序(克劳德桌面/Claude代码)

先决条件

步骤1:安装Sprite CLI

下载并安装适用于Windows的Sprite CLI:

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

或从以下网址手动下载 sprites.dev/downloads.

第二步:使用Sprite进行身份验证

从“精灵”面板获取您的API令牌,然后:

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

# Or use interactive login (opens browser)
sprite login

验证它是否有效:

sprite list

步骤3:克隆并构建MCP服务器

# 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

步骤4:查找Sprite CLI路径

# Find where sprite is installed
where sprite

这通常会返回类似以下内容:

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

注意此路径 -您需要它进行配置。

步骤5:配置Claude桌面

编辑您的Claude Desktop配置文件:

地点: %APPDATA%\Claude\claude_desktop_config.json

打开它:

notepad "$env:APPDATA\Claude\claude_desktop_config.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"
      }
    }
  }
}

重要提示: 使用双反睫毛(\\)在路径或正斜杠中(/).

步骤6:重新启动克劳德桌面

  1. 完全退出Claude Desktop(检查系统托盘)
  2. 重新打开克劳德桌面
  3. 寻找锤子图标(🔨) 表明MCP工具可用

第7步:测试

问克劳德:

  • “列出我的精灵”
  • “执行 ls -la 在我的精灵”
  • “创建检查点”

克劳德代码设置(Windows)

对于Claude Code CLI,请添加到您的设置中:

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

或编辑 ~/.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安装程序

先决条件

  • Node.js 20+
  • 配置了凭据的Sprite CLI

快速开始

# 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桌面配置

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代码配置

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

服务器部署(用于Claude.ai web)

为了托管您自己的MCP服务器,可以从claude.ai访问:

先决条件

  • Node.js 20+
  • 指向您的服务器的域(适用于HTTPS)
  • Caddy或nginx用于反向代理

部署

# 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反向代理

mcp.yourdomain.com {
    reverse_proxy localhost:3847
}

连接到Claude.ai

  1. 首选 claude.ai/设置/集成
  2. 添加MCP服务器:
    • 名字: sprite-mcp
    • 统一资源定位符: https://mcp.yourdomain.com/sse
  3. 通过问克劳德来测试:“列出我的精灵”

MCP工具

工具 说明
list_sprites 列出所有Sprite虚拟机(带交互式仪表板)
exec_command 在精灵上执行命令(使用终端UI)
create_checkpoint 创建文件系统快照
list_checkpoints 列出可用检查点
restore_checkpoint 还原到检查点
get_sprite_url 获取sprite的公共URL
fetch_file 从sprite下载文件
push_file 将文件上传到sprite
list_sessions 列出活动会话
create_sprite 创建新的精灵虚拟机
destroy_sprite 删除精灵虚拟机

交互式用户界面(MCP应用程序)

此服务器使用 MCP应用程序 提供交互式界面:

  • 仪表盘 (ui://sprite/dashboard)-视觉精灵管理
  • 终端 (ui://sprite/terminal)-命令执行界面

当使用受支持的客户端时,这些直接在Claude对话中呈现。

故障排除

Windows:“无法识别精灵”

将Sprite添加到PATH中,或在中使用完整路径 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”或“生成错误”

  • 确保所有路径都使用双反斜杠或正斜杠
  • 验证 dist/index.js 文件存在(运行 npm run build 第一)
  • 检查一下 SPRITE_BIN 指向实际 .exe 文件

“Sprite CLI未通过身份验证”

# Re-authenticate
sprite login

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

# Verify
sprite list

检查服务器运行状况

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

测试MCP握手

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

建筑

┌─────────────────────────────────────────────────────────┐
│                    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                        │
└─────────────────────────────────────────────────────────┘

许可证

麻省理工学院