ByteBot MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (debug/info/warn/error) | info |
| MAX_RETRIES | No | Maximum retry attempts for failed requests | 3 |
| RETRY_DELAY | No | Initial retry delay (ms) | 1000 |
| MAX_FILE_SIZE | No | Maximum file size in bytes (10MB) | 10485760 |
| BYTEBOT_WS_URL | No | WebSocket endpoint for real-time updates | ws://localhost:9991 |
| MCP_SERVER_NAME | No | Server identifier | bytebot-mcp |
| REQUEST_TIMEOUT | No | HTTP request timeout (ms) | 30000 |
| ENABLE_WEBSOCKET | No | Enable WebSocket connections | false |
| BYTEBOT_AGENT_URL | No | ByteBot Agent API endpoint | http://localhost:9991 |
| TASK_POLL_INTERVAL | No | Task status polling interval (ms) | 2000 |
| BYTEBOT_DESKTOP_URL | No | ByteBot Desktop API endpoint | http://localhost:9990 |
| TASK_MONITOR_TIMEOUT | No | Maximum task monitoring duration (ms) | 300000 |
| DESKTOP_ACTION_TIMEOUT | No | Desktop action timeout (ms) | 10000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bytebot_create_taskA | Create a new task for ByteBot to execute. Returns task ID and initial status. Use this to start autonomous task execution. |
| bytebot_list_tasksB | List all tasks with optional filters. Use this to see what tasks exist and their current status. |
| bytebot_get_taskB | Get detailed information about a specific task by ID, including full message history and current status. |
| bytebot_get_in_progress_taskA | Get the currently running task, if any. Returns null if no task is currently in progress. |
| bytebot_update_taskB | Update a task's status or priority. Use this to cancel tasks, mark them for review, or change priority. |
| bytebot_delete_taskA | Delete a task by ID. This permanently removes the task and its history. Cannot be undone. |
| bytebot_move_mouseA | Move the mouse cursor to specific screen coordinates. Use this to position the cursor before clicking or dragging. |
| bytebot_clickB | Click at specific screen coordinates. Supports left, right, and middle mouse buttons, as well as double-clicks. |
| bytebot_dragB | Drag the mouse from one position to another. Useful for moving windows, selecting text, or drag-and-drop operations. |
| bytebot_scrollB | Scroll the screen in a specific direction. Use this to navigate through content. |
| bytebot_type_textA | Type text string as if typing on a keyboard. Use this for entering text in forms, search boxes, etc. |
| bytebot_paste_textA | Paste text directly (without typing). Faster than type_text and works with special characters/emojis. |
| bytebot_press_keysA | Press keyboard keys including modifiers (Ctrl, Shift, Alt, etc.). Use this for keyboard shortcuts like Ctrl+C, Ctrl+V, Alt+Tab. |
| bytebot_screenshotA | Capture a screenshot of the entire screen. Returns base64-encoded PNG image data. |
| bytebot_cursor_positionA | Get the current mouse cursor position. Returns {x, y} coordinates. |
| bytebot_read_fileB | Read a file from the filesystem. Returns base64-encoded file content. |
| bytebot_write_fileC | Write content to a file on the filesystem. Content must be base64-encoded. |
| bytebot_switch_applicationA | Switch to a specific application window. Use this to bring an app to the foreground. |
| bytebot_waitA | Wait for a specified duration. Use this to add delays between actions or wait for UI updates. |
| bytebot_create_and_monitor_taskA | Create a task and monitor its progress until completion or intervention needed. Automatically polls task status and returns when task reaches a terminal state (COMPLETED, NEEDS_HELP, NEEDS_REVIEW, FAILED, CANCELLED) or timeout is reached. This is the recommended way to execute tasks when you want to wait for results. |
| bytebot_intervene_in_taskB | Provide intervention for a task in NEEDS_HELP state. Send guidance to the task and optionally resume, cancel, or retry it. Use this when a task is stuck and needs human input to proceed. |
| bytebot_execute_workflowA | Execute a multi-step workflow with automatic task creation, monitoring, and error recovery. Each step is executed as a separate task, with automatic intervention handling. Use this for complex multi-step automation scenarios. |
| bytebot_monitor_taskA | Monitor an existing task until it reaches a terminal state or timeout. Use this when you have already created a task and want to wait for its completion. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Most tools have distinct purposes, with clear separation between mouse/keyboard actions, task management, and file operations. However, bytebot_create_and_monitor_task and bytebot_execute_workflow both handle multi-step automation with monitoring, which could cause confusion about when to use each. The task-related tools (create_task, monitor_task, get_task, etc.) are well-differentiated within their domain.
All tools follow a consistent snake_case naming convention with a clear bytebot_ prefix. The naming pattern is uniformly verb_noun (e.g., bytebot_click, bytebot_create_task, bytebot_read_file) throughout the entire set, making them predictable and easy to understand.
With 23 tools, the count feels heavy for an automation server, though not extreme. The scope covers mouse/keyboard input, task management, file operations, and system control, which justifies many tools, but some could potentially be consolidated (e.g., multiple task monitoring tools). It's borderline but manageable for the apparent domain.
The toolset provides comprehensive coverage for desktop automation, including input simulation (click, type, drag), task lifecycle management (create, monitor, update, delete), file I/O, and system interactions (screenshot, switch app). Minor gaps include lack of clipboard operations beyond paste_text and no direct window management tools, but core workflows are well-supported.