Skip to main content
Glama

ToolRouter

Write File

file_write

Create or update a file. Pass mode: "create" | "update". Binary uploads: call with binary: true to get an upload_url, then PUT bytes, then call with mode: "finalize".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes"create" for new files, "update" to edit existing, "finalize" to complete a binary upload.
nameNoFile name (required for create, max 200 chars).
tagsNoTags for organization (max 10).
contentNoText content (for .md files).
contextNo"personal" (default) or "team:<id>".
file_idNoFile ID to update (required for update/finalize).
sectionNoWhich section to file under (required for create).
asset_idNoExisting asset ID to retrieve URL without re-uploading.
filenameNoOptional filename for the asset.
file_dataNoBase64-encoded binary data (for images, video).
image_urlNoPublic URL to download and host permanently.
image_dataNoBase64-encoded image. Alternative to image_url when the bytes are already local.
descriptionNoOptional summary (max 500 chars).
plan_statusNoPlan status (only for plans section).
prompt_metaNoPrompt metadata (only for prompts section).
content_typeNoMIME type. Defaults to "text/markdown" for content, "image/png" for file_data.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

B3.2/5.0
Behavior2/5

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

The description discloses a multi-step binary upload flow beyond the sparse annotations, but it instructs agents to call with 'binary: true' even though no such parameter exists in the schema. This is misleading and leaves the actual upload behavior unclear; annotations are all false and do not clarify side effects, overwrite, or auth requirements.

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

Conciseness5/5

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

Three sentences with no filler; the core purpose is front-loaded and the upload workflow is stated in minimal steps. Every sentence earns its place.

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

Completeness2/5

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

Even though the schema is detailed, the definition omits the connection between the described binary workflow and the actual schema parameters, does not describe return values (no output schema), and leaves conditional requirements (file_id, section, name) to be inferred. The missing 'binary' parameter is a critical completeness gap.

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

Parameters2/5

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

Schema coverage is 100%, so the baseline would be 3, but the description's only parameter-level addition references a nonexistent 'binary' parameter. Rather than adding useful semantics, it conflicts with the input schema and may cause an agent to attempt an invalid call.

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

Purpose4/5

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

The description names a specific action and resource ('Create or update a file') and covers the three mode variants, making the write intent clear against file_read/file_list/file_delete siblings. It lacks explicit sibling differentiation, but the scope is unambiguous.

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

Usage Guidelines4/5

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

It states when to use the tool (create/update files) and gives a conditional binary upload workflow. It does not explicitly list exclusions or alternatives, but the write-vs-read/delete context is clear from the sibling set.

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.

TDQS

B3.4/5.0
Disambiguation4/5

Tools are grouped by clear resource prefixes (account_, brain_, connector_, credential_, file_, job_, key_), and most actions have distinct purposes. A few boundaries overlap—brain_admin's lint action duplicates brain_lint, and account_preferences/setup/switch could momentarily confuse—but the descriptions resolve most ambiguity.

Naming Consistency3/5

The dominant pattern is resource_verb for actions (file_read, job_cancel, key_create) and resource_noun for state views (credits_balance, brain_settings, account_preferences), which is readable. However, exceptions like discover, use_tool, top_up_credits, and feedback_request_tool break the pattern, and the set is not consistently verb_noun.

Tool Count2/5

47 tools is well beyond the comfortable range; even though prefixes organize them, the agent faces a large selection surface with many narrowly scoped tools. A more consolidated set with action-based subcommands would be easier to navigate.

Completeness4/5

Core workflows are covered end-to-end: account setup and billing, connector and credential management, file CRUD, job polling, key lifecycle, brain knowledge management, and catalogue discovery/execution. Gaps are minor—outfit/persona/product/scene are list-only, connectors lack an update operation, and there is no explicit single-page brain get—but agents can generally work around them.