Skip to main content
Glama

Upload File (small, inline)

upload_file

Store a small file in the user's oriiion account by passing its bytes inline as base64, and get back a permanent URL for the post tools. HARD LIMIT 1MB — the whole file travels as tool-call text, so this is only for things like a logo or a one-page PDF. For anything bigger (video especially): create_media_upload_url → PUT the bytes → finalize_media_upload if you can make HTTP requests; import_media_from_url if the file is at a public link; otherwise create_upload_link. Clients that hold the raw API key may also POST up to 4MB to https://oriiion.ai/api/mcp/upload.

Input Schema

NameRequiredDescriptionDefault
cropNoImages only: crop to 1080x1350 portrait for social posts. Leave false to keep the original framing.
filenameYesOriginal filename including extension, e.g. 'logo.png'
contentBase64YesThe file contents, base64-encoded (a data: URL prefix is accepted and stripped)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only say this is a non-readonly, non-destructive, non-open-world write. The description adds the substantive operating constraints: a hard 1MB ceiling, that bytes travel as tool-call text (cost/latency implication), the raw-API-key 4MB escape hatch, and the return value (permanent URL). This is exactly the kind of context annotations cannot carry.

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?

Front-loaded with the primary action and the hard limit in caps before the fallback routing. Dense but every sentence carries a decision-relevant fact (limit, alternatives, endpoint) with no filler.

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?

For a 3-parameter mutation tool with annotations and no output schema, this covers everything an agent needs: size ceiling, input encoding, fallback paths, and what comes back (URL). The only minor omission is idempotency behavior (repeat calls create separate files), which is a small gap against everything else provided.

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 coverage is 100%, so filename, contentBase64 and crop are already documented, and the baseline would be 3. The description adds real semantic weight to contentBase64 by stating the 1MB hard limit and that a data: URL prefix is tolerated in spirit, but it does not touch crop or the filename/extension convention, so it falls just short of a 5.

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 (store a small file in the user's account) plus the mechanism (bytes inline as base64) and the outcome (permanent URL for post tools). This clearly separates it from create_media_upload_url, import_media_from_url and create_upload_link, which handle other upload paths.

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 ('only for things like a logo or a one-page PDF'), when-not ('anything bigger, video especially'), and per-alternative routing: create_media_upload_url → PUT → finalize_media_upload for HTTP clients, import_media_from_url for public links, create_upload_link otherwise. The agent never has to guess which sibling applies.

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