Skip to main content
Glama

Upload a small file

upload_file_base64

Upload file bytes (base64, up to ~5 MB) — e.g. an image you generated. Same kinds and result as upload_file_from_url.

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": {
      "data_base64": "<data_base64>",
      "content_type": "<content_type>",
      "name": "<name>",
      "kind": "<kind>"
    },
    "name": "upload_file_base64"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindYes
nameYes
data_base64Yes
content_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the mutation/safety profile is covered structurally. The description adds genuinely operational detail beyond that: the ~5 MB practical limit with the '~' uncertainty marker, the base64 encoding requirement, and the claim that the result matches upload_file_from_url. It stops short of saying what happens on duplicate names or what permissions the upload requires.

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?

A single sentence plus a trailing clause, front-loaded with the verb and the size constraint, with no filler. Every element (encoding, limit, example, sibling equivalence) carries information an agent needs.

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?

For a four-required-parameter write tool with no output schema and zero schema description coverage, the description leaves three parameters completely unexplained and only gestures at return behavior via 'same result as upload_file_from_url'. An agent could call it, but only by guessing at content_type formatting, name semantics and which kind value to pick.

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 description coverage is 0% across four required parameters, so the description must carry the load, yet it only explains data_base64 (base64 encoding, size cap). It says nothing about content_type format, name conventions, or the meaning of the gift/image/media enum values for kind.

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?

Names a specific verb and resource (upload file bytes) and pins down the transport (base64), the size envelope (~5 MB) and a concrete example use case ('an image you generated'). It also anchors itself to the sibling upload_file_from_url by declaring equivalent kinds and results, which lets an agent see the two are interchangeable in output though it never states the selection rule directly.

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

Usage Guidelines3/5

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

The example ('an image you generated') and the size cap imply when this tool is appropriate, and mentioning upload_file_from_url hints at the alternative. However, the routing rule is never made explicit (e.g. use this when you hold bytes, use the URL variant when the file is already hosted), and there is no stated when-not beyond the ~5 MB ceiling.

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.

Resources