Skip to main content
Glama

Upload Attached File

upload_attached_file

ChatGPT only: upload an image or video the user attached in ChatGPT. Other clients: use open_upload_box (user picks files from their device), create_upload_url (if you can run curl) or upload_media_from_url instead. Call it once per file; for a carousel, upload each file and pass the returned media IDs to create_post in carousel order. For public links use upload_media_from_url. Supports: JPEG, PNG, GIF, WebP, MP4, MOV, PDF. Returns a media ID that can be attached to a post.

Input Schema

NameRequiredDescriptionDefault
fileYesThe file the user attached in chat

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the safety profile (not read-only, non-destructive, closed-world), so the bar is lower. The description still adds real context the annotations cannot: supported formats, the returned media ID, and the once-per-file/carousel sequencing. It does not cover auth or rate-limit behavior, but the return value and workflow details are valuable.

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?

Front-loaded with the critical 'ChatGPT only' scoping constraint, and every sentence carries routing or workflow information. Minor redundancy: upload_media_from_url is named twice (once as a client alternative, once for public links).

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

Completeness5/5

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

There is no output schema, and the description compensates by stating the return value (a media ID attachable to a post) and detailing the carousel handoff. For a one-param write tool with full schema coverage, nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100% and the single nested 'file' object is fully documented (file_id, download_url, file_name, mime_type), so the schema carries the parameter burden. The description adds no field-level syntax or constraints beyond it, making the baseline 3 appropriate.

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+resource (upload an attached file/image or video) and a precise scope (ChatGPT only). It distinguishes itself from sibling upload tools by name, so an agent can route 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?

Explicitly says when to use (ChatGPT attachments) and when not to, naming three alternatives (open_upload_box, create_upload_url, upload_media_from_url) with the condition that selects each. It also specifies per-file invocation and the carousel workflow that feeds create_post.

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