taw-computer
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCKER_CPUS | No | CPUs per container | 2 |
| DOCKER_IMAGE | No | Base image | taw-computer-base |
| SANDBOX_TYPE | No | auto / docker / firecracker | auto |
| MAX_SANDBOXES | No | Max concurrent VMs | 3 |
| DOCKER_MEMORY_MB | No | RAM per container | 4096 |
| DESKTOP_RESOLUTION | No | Screen resolution | 1280x720 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vm_createA | Create a new sandbox (isolated Ubuntu mini-computer with shell, Chrome + CDP, VNC, xfce4). IMPORTANT: Before creating, check if the user has saved snapshots by looking at the |
| vm_listA | List active sandboxes created in this MCP session. |
| vm_destroyA | Destroy a sandbox and free its ports. By default the VM filesystem is saved as a snapshot so recreating with the same label resumes where you left off. Set save_snapshot to false to destroy without saving (e.g. when the VM contains sensitive data the user does not want persisted). Use vm_reset to also delete any previously saved snapshot. |
| vm_resetA | Reset a VM to a clean state. Destroys the current VM AND deletes its saved snapshot, so the next vm_create with the same label starts fresh from the base image. |
| vm_restartA | Restart a sandbox. Stops and starts the container — all files, databases, and installed packages are preserved. Only processes are restarted. |
| vm_statusA | Get resource usage (CPU, memory, disk, uptime, top processes) and port mappings for a sandbox. Use to diagnose OOM, high CPU, or check available disk space. |
| vm_renameA | Rename a running VM by changing its label. The label is used for snapshot naming — renaming does NOT migrate existing snapshots (they stay under the old label). |
| snapshot_listA | List all saved snapshots. Each snapshot can be resumed by calling vm_create with the same label and use_snapshot=true. |
| snapshot_deleteA | Delete a saved snapshot by label. This frees disk space and means the next vm_create with this label will start fresh. |
| execA | Run a shell command inside the sandbox. Returns combined stdout+stderr. Use for any CLI work: git, npm, pip, apt, curl, etc. |
| fs_writeB | Write content to a file inside the sandbox (creates parent dirs as needed). |
| fs_readC | Read a file inside the sandbox. |
| fs_editA | Replace a string in a file. Fails if old_string is not found. Set replace_all=true to replace every occurrence. |
| fs_listA | List files in a directory (ls -la, or recursive find with depth 3). |
| fs_searchB | grep -rn for a pattern in a directory. |
| code_searchA | Search codebase content using ripgrep. Much faster and smarter than fs_search — supports regex, file type filters, context lines, and higher result limits. |
| desktop_screenshotA | Take a JPEG screenshot of the sandbox desktop (xfce4) and return as image content. |
| desktop_clickC | Click at (x,y) on the sandbox desktop. button=1 left, 2 middle, 3 right. |
| desktop_typeC | Type text into the focused window via xdotool. |
| desktop_keyC | Press a key combo via xdotool, e.g. "Return", "ctrl+l", "alt+Tab". |
| desktop_scrollD | Scroll at (x,y). |
| desktop_dragB | Drag from (from_x, from_y) to (to_x, to_y) on the sandbox desktop. |
| browser_openB | Open Chrome inside the sandbox (or navigate the existing tab) at the given URL, then return a JPEG screenshot. |
| browser_closeC | Kill all Chrome processes inside the sandbox. |
| browser_navigateB | Navigate the sandbox Chrome to a URL via CDP (Playwright). Returns final URL and page title. |
| browser_snapshotA | Inject numbered overlays on every visible interactive element (Set-of-Mark prompting), screenshot the page, return both the screenshot and element refs. Use browser_click_ref / browser_type_ref to interact. |
| browser_click_refC | Click an element by its ref number from the most recent browser_snapshot. |
| browser_type_refB | Focus an element by ref and type text into it. Set submit=true to press Enter after. |
| browser_extractA | Read text content from the page. With selector: returns innerText of matching elements. Without: full page text. |
| browser_evalC | Run a JavaScript expression in the page context and return the result. |
| browser_wait_forB | Wait until a condition holds (selector visible, text appears, or network idle). |
| browser_console_logsC | Return captured browser console logs (errors, warnings, info) from the current page. |
| browser_network_errorsC | Return captured network request failures (404s, CORS errors, etc.). |
| browser_run_testB | Run a Playwright test script against the browser inside a VM. Has |
| web_searchC | Search Google and return up to 8 organic results as {title, url, snippet}. |
| file_uploadB | Upload a file into a VM. Pass content as base64 string (max 50MB). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tawgroup/taw-computer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server