modelscope·@sensuslab/spark-mcp
暂无描述。
Production-grade Model Context Protocol (MCP) server for ByteBot's dual-API architecture, providing intelligent hybrid workflow orchestration for autonomous task execution and desktop computer control.
This MCP server integrates ByteBot's Agent API (task management) and Desktop API (computer control) into a unified interface for AI assistants like Claude. It enables:
bytebot_create_task - Create new tasks with priority levelsbytebot_list_tasks - List and filter tasks by status/prioritybytebot_get_task - Get detailed task information with message historybytebot_get_in_progress_task - Check currently running taskbytebot_update_task - Update task status or prioritybytebot_delete_task - Delete tasksMouse Operations:
bytebot_move_mouse - Move cursor to coordinatesbytebot_click - Click with left/right/middle buttonbytebot_drag - Drag from one position to anotherbytebot_scroll - Scroll in any directionKeyboard Operations:
bytebot_type_text - Type text stringsbytebot_paste_text - Paste text (for special characters)bytebot_press_keys - Keyboard shortcuts (Ctrl+C, Alt+Tab, etc.)Screen Operations:
bytebot_screenshot - Capture screen as base64 PNGbytebot_cursor_position - Get current cursor positionFile I/O:
bytebot_read_file - Read file content (base64)bytebot_write_file - Write file content (base64)System:
bytebot_switch_application - Switch to applicationbytebot_wait - Wait for specified durationbytebot_create_and_monitor_task - Create task and wait for completionbytebot_monitor_task - Monitor existing task until terminal statebytebot_intervene_in_task - Provide help when task needs interventionbytebot_execute_workflow - Multi-step workflow with automatic error recoveryhttp://localhost:9991)http://localhost:9990)# Clone or download this repository
cd bytebot-mcp-server
# Install dependencies
npm install
# Build TypeScript code
npm run build
Copy the example environment file and customize:
cp .env.example .env
.env File# ByteBot Agent API (Task Management)
BYTEBOT_AGENT_URL=http://localhost:9991
# ByteBot Desktop API (Computer Control)
BYTEBOT_DESKTOP_URL=http://localhost:9990
# WebSocket Configuration (Optional)
BYTEBOT_WS_URL=ws://localhost:9991
ENABLE_WEBSOCKET=false
# Server Configuration
MCP_SERVER_NAME=bytebot-mcp
# Timeouts (milliseconds)
REQUEST_TIMEOUT=30000
DESKTOP_ACTION_TIMEOUT=10000
# Retry Configuration
MAX_RETRIES=3
RETRY_DELAY=1000
# Monitoring Configuration
TASK_POLL_INTERVAL=2000
TASK_MONITOR_TIMEOUT=300000
# File Configuration
MAX_FILE_SIZE=10485760
# Logging
LOG_LEVEL=info
If ByteBot is running on a remote server:
BYTEBOT_AGENT_URL=http://your-server.com:9991
BYTEBOT_DESKTOP_URL=http://your-server.com:9990
BYTEBOT_WS_URL=ws://your-server.com:9991
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"bytebot": {
"command": "node",
"args": ["/absolute/path/to/bytebot-mcp-server/dist/index.js"],
"env": {
"BYTEBOT_AGENT_URL": "http://localhost:9991",
"BYTEBOT_DESKTOP_URL": "http://localhost:9990"
}
}
}
}
Add to your Zed settings:
{
"context_servers": {
"bytebot": {
"command": {
"path": "node",
"args": ["/absolute/path/to/bytebot-mcp-server/dist/index.js"]
},
"env": {
"BYTEBOT_AGENT_URL": "http://localhost:9991",
"BYTEBOT_DESKTOP_URL": "http://localhost:9990"
}
}
}
}
Add to .continue/config.json:
{
"mcpServers": [
{
"name": "bytebot",
"command": "node",
"args": ["/absolute/path/to/bytebot-mcp-server/dist/index.js"],
"env": {
"BYTEBOT_AGENT_URL": "http://localhost:9991",
"BYTEBOT_DESKTOP_URL": "http://localhost:9990"
}
}
]
}
User: Create a task for ByteBot to search Wikipedia for "quantum computing"
Claude uses: bytebot_create_task
{
"description": "Go to wikipedia.org and search for 'quantum computing'",
"priority": "MEDIUM"
}
Response:
{
"id": "task-123",
"status": "PENDING",
"priority": "MEDIUM",
"createdAt": "2024-01-15T10:30:00Z"
}
User: Create a task to log into example.com and wait for it to complete
Claude uses: bytebot_create_and_monitor_task
{
"description": "Navigate to example.com and log in with credentials from keychain",
"timeout": 60000,
"pollInterval": 2000
}
Response:
{
"taskId": "task-456",
"finalStatus": "COMPLETED",
"completedAt": "2024-01-15T10:31:45Z",
"messagesCount": 12,
"task": { ... full task details ... }
}
User: Create a task to fill out a complex form
Claude uses: bytebot_create_and_monito…