Skip to main content
Glama

Documents Upload File

documents.upload_file

Uploads and saves a user-selected ChatGPT PDF attachment from an approved HTTPS file host. With tableSlug, attempts to create an extraction job immediately, returning job on success or job_error on failure. Without tableSlug, automatic processing uses project routing rules or an active splitter. Returns document identifiers and processing details. Maximum file size: 8 MiB.

Input Schema

NameRequiredDescriptionDefault
fileYes
tableSlugNo
project_slugNoSlug of an owned project. Optional only when the account has exactly one visible project; required for accounts with multiple visible projects.

Output Schema

NameRequiredDescriptionDefault
jobYes
fileIdYes
statusYes
file_idYes
uploadIdYes
job_errorNo
document_idYes
next_actionYes
routing_modeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / project_slug / description
      Added value: +"Slug of an owned project. Optional only when the account has exactly one visible project; required for accounts with multiple visible projects."
  2. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description adds genuinely non-obvious behavior: conditional job creation, the job/job_error return outcomes, fallback to project routing rules or an active splitter, and an 8 MiB size limit. It omits auth requirements for the approved host, but the added context is substantial.

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?

Five compact sentences, front-loaded with the core action and followed by the conditional behavior, return shape, and size limit. Each sentence contributes; nothing is padded or repeated.

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

Completeness3/5

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

An output schema exists, so return-value detail is not required, and annotations cover the safety profile. The remaining gap is the failure to distinguish this tool from documents.upload and the unaddressed nested file object, which leaves an agent without enough to confidently choose between the two upload tools.

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 only 33%, so the description carries extra burden. It does add real meaning for tableSlug (immediate extraction job vs. automatic project routing/splitter), but says nothing about the required file object's download_url/file_id fields, which the schema leaves undocumented.

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?

The description names a specific verb and resource ('Uploads and saves a user-selected ChatGPT PDF attachment from an approved HTTPS file host'), which is concrete and actionable. However, it never distinguishes itself from the near-identically named sibling documents.upload, so an agent cannot tell which upload path to pick from the text alone.

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?

It explains the two behavioral branches ('With tableSlug... Without tableSlug...'), which is useful routing context, but it never states when to choose this tool over documents.upload or any other sibling. Usage is implied through parameter behavior rather than explicitly stated.

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.