Skip to main content
Glama

EQVPS — VPS and code sandboxes for AI agents

Upload a file into a sandbox

upload_file

Write a file into the sandbox at an absolute path (parent directories are created). Give content for UTF-8 text OR content_base64 for binary. Limit 5 MB per file inline — for bigger files call get_upload_url and PUT the bytes to the link (no base64 through this chat). Optional mode like "755". Requires: token + live sandbox_id. Max 5 MB.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNo
pathYes
contentNo
sandbox_idYesSandbox id as returned by create_sandbox / list_sandboxes, e.g. "sb_3f2a…".
content_base64No

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose key traits: parent directories are auto-created, there is a hard 5 MB inline limit, and a token plus live sandbox_id are required. It does not say whether an existing file is overwritten or what is returned, which leaves a real gap for a write operation.

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?

Dense, imperative and front-loaded: the core action, the alternative-parameter rule, the limit and the fallback path all appear in the first three clauses. The 5 MB cap is stated twice ('Limit 5 MB per file inline' and trailing 'Max 5 MB'), a small redundancy.

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 5-param write tool with no output schema and no annotations, the definition covers prerequisites, size limits, encoding choice and the escalation path. The main omission is the return value / overwrite behavior, which matters for confirming a successful upload.

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 only 20%, so the description must compensate, and it largely does: content vs content_base64 is disambiguated by encoding, path is described as absolute (matching the ^\/ pattern), and mode is exemplified as '755'. Only sandbox_id semantics are left to the schema description.

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?

States a specific verb and resource ('Write a file into the sandbox at an absolute path') and pins down the scope (inline, 5 MB cap). It also names the sibling get_upload_url as the route for larger files, so an agent can separate it from download_file/get_upload_url without opening any 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?

Explicit when-to-use routing: use this for files up to 5 MB, and 'for bigger files call get_upload_url and PUT the bytes to the link'. Prerequisites are stated ('Requires: token + live sandbox_id'), and the 'no base64 through this chat' note excludes a misuse path.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.