write_file
Write base64-encoded content to a file on a browser session's machine.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| session_id | Yes | ||
| content_base64 | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Write base64-encoded content to a file on a browser session's machine.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| session_id | Yes | ||
| content_base64 | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full behavioral disclosure. It states a write operation but does not mention whether it overwrites existing files, creates parent directories, enforces size limits, or any side effects. It also fails to describe the return value or error behavior, leaving the agent without crucial safety and outcome information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is direct and front-loaded with the primary action and object. Every word adds value, with no redundancy or filler, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown), the description lacks essential context for a write operation: overwrite semantics, permissions, side effects, and error handling. The lack of annotations increases the burden, and the terse description does not sufficiently compensate, leaving the agent uncertain about the tool's full behavior and expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero descriptions, but the parameter names (session_id, path, content_base64) are self-explanatory. The description adds that content must be base64-encoded and that the path is on the browser session's machine, which partially compensates for the lack of schema documentation. However, it doesn't explain path format, encoding requirements beyond base64, or how session_id is used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Write'), the object (file), and the specific context (on a browser session's machine). It also clarifies the content format (base64-encoded), which distinguishes it from sibling tools like read_file and list_files that operate on the same resource but with different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal context about when to use this tool, mentioning 'browser session's machine' but no explicit prerequisites, such as needing an active session, or guidance on when to choose this over alternative tools. There are no exclusions or conditions specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool targets a distinct resource and action: session lifecycle (run, cancel, wait, message, share), file operations (list, read, write), and agent discovery. No two tools have overlapping purposes; even the session-related tools are clearly separated by their verb.
All tool names follow a consistent verb_noun snake_case pattern (cancel_session, list_files, run_agent, etc.). The pattern is uniform across session, file, and agent operations, making the API highly predictable.
With 9 tools, the server is well-scoped for a computer-use agent API. It covers agent discovery, session lifecycle, messaging, sharing, and file access without unnecessary bloat, fitting comfortably in the ideal 3-15 range.
The tool set covers the core workflow: list agents, run them, wait for results, send follow-ups, cancel, share, and access files. Minor gaps exist (e.g., no list_sessions or delete_file), but they do not block the primary use case.