Skip to main content
Glama

Create a document from an uploaded PDF

create_document_from_upload

Turn a PDF you PUT to a create_upload_url url into a GoodSign document. Call this only after the PUT has finished successfully. GoodSign discovers any text tags in the PDF (see create_upload_url for the full TAG REFERENCE and rules) and creates one field per tag plus one signer per distinct signer key automatically. This does NOT send anything or email anyone — the result behaves like a template: check it with get_document, then send it with send_from_template. The created document can only be sent once — to send the same PDF again, upload it again with create_upload_url and call this tool a second time. If the response includes warnings about unreadable tags, fix the tag text in the source document, re-export the PDF, call create_upload_url again and retry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
doc_nameNoOptional name for the document, e.g. "SoW - Acme Q3". Defaults to "document".
upload_idYesThe 40-character hex upload_id returned by create_upload_url, after the PUT to its upload_url has succeeded.

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?

The annotations are generic boolean hints and provide little behavioral color, so the description carries full disclosure weight. It reveals non-obvious behaviors: automatic tag discovery, one field per tag, one signer per signer key, template-like non-sending behavior, one-time-only sending, and warning-driven retry. No annotation contradiction exists.

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?

The description is appropriately sized, with each sentence contributing distinct information: the core action, automatic tag/signer creation, template and one-time-send behavior, and warning recovery. The main action is front-loaded and there is no filler.

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

Completeness4/5

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

The description covers the full workflow: prerequisites, automatic field/signer creation, template behavior, one-time sending, and warning recovery. The only gap is that with no output schema, it never states the shape of a successful response (e.g., returned document_id), so an agent must infer how to locate and send the created document via get_document.

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 description coverage is 100%, so the schema already documents upload_id as a 40-character hex string and doc_name as optional with a default. The description mostly restates that upload_id must come from a successful PUT, which the schema already says, and adds little new semantic value for the parameters.

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?

The first sentence names a specific operation: turning a PDF uploaded via create_upload_url into a GoodSign document, with the PUT as an explicit prerequisite. It also separates itself from send_from_template by stating it does not send anything, which clearly differentiates this tool from its siblings.

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?

The description gives an unambiguous workflow: PUT first, then call this tool, then check with get_document, then send with send_from_template. It also tells the agent when to retry (after unreadable-tag warnings) and when to re-upload the same PDF, leaving no ambiguity about the intended sequence.

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