Skip to main content
Glama

Subir archivos que no se pueden adjuntar (uno o una carpeta entera)

create_upload_link

Para archivos que no puedes pasar a upload_media: videos o imágenes que están en la computadora de la persona, en una carpeta que te indicó o adjuntos de Claude. Un solo enlace sirve para todos los archivos del pedido (files: cuántos, hasta 25; por ejemplo los 5 videos de una carpeta), vence en 2 horas y cada archivo entra una vez. Si puedes leer los archivos y hacer pedidos HTTP (terminal, curl, código), súbelos tú mismo con upload_api, uno por clave de idempotency_keys, sin pedirle nada a la persona; los de más de direct_max_bytes van en partes (upload_api.large_files). Si no puedes, muéstrale upload_url completo: ahí suelta todos los archivos juntos. Cada archivo puede pesar hasta 2 GB (max_file_bytes), también un video largo sólo para YouTube. Después get_upload_status devuelve un media_id por archivo para create_post o create_and_publish_post (una publicación o programación por video). No publica nada; usa la cuota de almacenamiento.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_upload_link"
  }
}

Input Schema

NameRequiredDescriptionDefault
filesNoCuántos archivos vas a subir con este enlace (por ejemplo, los videos de la carpeta)
brand_idNoID de la marca (de list_brands). Usa solo la marca que el usuario nombró; si no la nombró y hay varias, pregúntale cuál.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Adds substantial behavior beyond the annotations: the link expires in 2 hours, each file lands only once, one link covers the whole batch (up to 25 files), 2 GB per file, nothing is published, and it consumes storage quota. Annotations only declare readOnlyHint=false and destructiveHint=false, so this context is what actually tells the agent the link is short-lived and that a human hand-off step is required. It stops short of saying what the returned link looks like or whether link creation can be repeated, but the operational profile is well covered.

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?

Purpose and the upload_api alternative are front-loaded, and almost every clause carries real information (expiry, batch size, size cap, next step). It is still a dense single-paragraph wall of text with mild redundancy between 'un solo enlace sirve para todos los archivos' and 'ahí suelta todos los archivos juntos', which a couple of line breaks would fix.

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?

No output schema exists, yet the description explains the full lifecycle: create link, person drops files, then get_upload_status returns one media_id per file for create_post or create_and_publish_post, one post or scheduled post per video. For a two-parameter tool with no return schema, nothing an agent needs in order to call it correctly 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%, so both parameters are already documented in the input schema. The description restates the files semantics ('cuántos, hasta 25; por ejemplo los 5 videos de una carpeta') without adding format or edge-case meaning, and never mentions brand_id at all. Baseline 3 is the right ceiling when the schema does the heavy lifting.

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?

Opens with a precise scope statement: a link for files that can't go through upload_media (videos/images on the person's computer, a folder they pointed to, Claude attachments). It names the sibling it replaces and the resource it produces (an upload_url), so an agent can pick it apart from upload_media and import_video_from_url without reading either 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?

Gives explicit branching: if you can read files and make HTTP requests, use upload_api yourself (one per idempotency_keys entry, large_files for anything over direct_max_bytes) instead of bothering the person; if you can't, show them the full upload_url. That is a genuine when-to-use / when-not-to / use-this-alternative decision tree, not implied guidance.

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