Skip to main content
Glama

sandbox_type

Simulates typing plain text into a sandbox VM's focused keyboard input. Click the target field first, then send keystrokes; use sandbox_key for shortcuts and special keys.

Instructions

Type text on a sandbox's keyboard, as if a person typed it.

The text goes to whatever has keyboard focus on the sandbox's screen, so click the right field first (sandbox_click) and check with sandbox_screenshot. A line break in the text presses Enter, a tab presses Tab. Only plain English keyboard characters can be typed (letters, digits, common symbols), at most 10,000 at a time. For shortcuts and special keys use sandbox_key.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "sandbox_id": "<sandbox_id>",
      "text": "<text>"
    },
    "name": "sandbox_type"
  }
}

Input Schema

NameRequiredDescriptionDefault
textYes
sandbox_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does substantial work: it explains that input goes to whatever holds keyboard focus, that a line break presses Enter and a tab presses Tab, that only plain English keyboard characters are accepted, and that there is a 10,000-character cap per call. The only real gap is that it says nothing about what the call returns or whether typing is synchronous, though a separate output schema exists to cover the return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the core action, then layers prerequisites, character-level semantics, and the alternative tool in a logical order. Every sentence contributes information; a small amount of tightening is possible in the focus explanation, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter input tool with an output schema already describing return values, the definition covers the mechanics that matter: focus targeting, character encoding, input limits, and sibling routing. The missing piece is failure behavior (e.g., what happens when a non-English character is sent or the limit is exceeded), which keeps it short of full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does for the important parameter: the meaning and encoding of `text` (newline/tab behavior, allowed character set, 10,000-char limit) goes well beyond the bare "Text" title in the schema. The `sandbox_id` parameter is never discussed, but its meaning is self-evident from the other sandbox_* tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ("Type text on a sandbox's keyboard") and immediately qualifies it with "as if a person typed it," which sets it apart from programmatic execution siblings like sandbox_run. It also explicitly names sandbox_key as the tool for shortcuts and special keys, so an agent can distinguish the two without inspecting either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete pre-condition workflow (click the right field with sandbox_click, verify with sandbox_screenshot) and an explicit alternative for a different case ("For shortcuts and special keys use sandbox_key"). This covers both when to use this tool and when to route elsewhere.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.