Skip to main content
Glama

Create document PDF upload URL

create-document-pdf-upload-url

Create a signed URL that a single PDF can be POST-uploaded to, for later use with create-document-from-pdf-upload.

Use this tool when:

  • The user wants to create a document from an existing PDF file and you need somewhere to upload it to first

Returns a uuid (pass it to create-document-from-pdf-upload after the upload completes), a url (target of the POST request), a fields map to send as form fields in the POST body before the file itself, and an expires_at timestamp after which the URL stops working.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPerform a multipart/form-data POST request to this URL to upload the PDF
uuidNoSend this UUID to create-document-from-pdf-upload AFTER uploading the file to the given URL
fieldsNoForm fields to send in the POST body, before a final "file" field holding the PDF contents
expires_atNoWhen the URL stops being usable

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the two-step upload workflow, the fact that the URL expires (expires_at), and the required POST mechanics (fields sent as form fields before the file itself). This is rich operational context the annotations do not provide.

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 purpose, a clean usage bullet, and a returns paragraph. The returns detail partially duplicates the output schema, but it earns its place by explaining ordering and downstream usage. Minor redundancy keeps it from a 5.

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?

Given an output schema already exists, the description need not explain returns, yet it does so usefully. Combined with the workflow tie-in to create-document-from-pdf-upload, nothing an agent needs to call this correctly is missing.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description instead front-loads return-value semantics (uuid, url, fields, expires_at), which is extra but not param-focused.

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 and resource ('Create a signed URL that a single PDF can be POST-uploaded to') and explicitly ties it to the follow-up tool create-document-from-pdf-upload. An agent can immediately distinguish this from create-document-from-scratch or create-document-from-template.

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?

Provides an explicit 'Use this tool when' condition ('The user wants to create a document from an existing PDF file and you need somewhere to upload it to first') and names the downstream sibling. It lacks a 'when not to use' clause, but the routing context is clear.

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