Skip to main content
Glama

Upload session file

upload_session_file
Destructive

Upload a file into a session's input namespace; the response returns the stored path to pass as file_name in that session's attachments when sending a message.

Instructions

Upload a file into a session's input namespace so it can be attached to a message. The response returns the stored path — pass it as file_name in the attachments array when sending a message on the same session.

Files are base64 encoded in the request body and limited to 200MB (decoded). Uploaded files are scoped to the session they were uploaded to and cannot be attached to messages on other sessions. Explicit confirmation is required for this exact account operation. Runs can spend credits or trigger downstream actions; never resubmit unknown outcomes automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountNoNamed private Gumloop account; selects private credentials and user/team identity.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Preserves current endpoint fields and values.
file_nameNoName of the file. Directory components are stripped; the base name is sanitized before storage.
media_typeNoMIME type of the file. Echoed back in the response.
session_idYesID of the session to upload the file to.
file_contentNoBase64-encoded file contents. Maximum decoded size is 200MB.
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.0.0
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for this exact requested account change, agent/flow execution, upload or deletion."New value: +"Set true only when the user asked for exactly this action."
  2. First observedv2.0.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, so the safety profile is covered. The description adds real context beyond that: 200MB decoded limit, base64 encoding, session scoping of stored files, mandatory confirmation, and a caution against automatic resubmission. The credits sentence is somewhat generic boilerplate, which keeps it from a 5.

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?

Three short paragraphs, front-loaded with the action and the return-value contract. The trailing confirmation/credits sentences are somewhat generic and repeat a policy that the `confirm` parameter description already implies.

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?

No output schema exists, and the description compensates by stating what the response returns and how to use it. Limits, scoping, and confirmation are all covered; only the payload/payload_file/body-flag selection is left to the schema, which documents it.

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 100%, so the baseline is 3, but the description adds cross-tool meaning: the returned stored path is consumed as `file_name` in the `attachments` array of send_message. That linkage is not derivable from this tool's own schema and is genuinely useful.

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 (upload) and resource (file into a session's input namespace), and pins the purpose to a concrete downstream use (attaching to a message). An agent can distinguish it from sibling upload_file/upload_files/upload_brain_files because the session scoping and message-attachment framing are explicit.

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?

Explains when to use it (to get a path that can be attached to a message on the same session) and states the confirmation prerequisite. It does not explicitly name or exclude the sibling upload tools (upload_file, upload_files), so the routing guidance is clear but not complete.

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

Deploy Server

Other Tools