Skip to main content
Glama

Prepare and send free signature document

prepare_and_send_free_signature_document
Destructive

Prepare a NEW free-signature document from one PDF, add placements, and send it in one workflow. Accept Base64, a public HTTPS download URL, an existing SELISE storage file ID, a reference from the binary upload endpoint, or a ChatGPT attachment through chatgptFile. Uploads new bytes or reuses the existing storage file. Use only when sending is requested and all participant details and actual PDF placements are known. For an already prepared document, use send_prepared_signature_document instead. This tool does not itself sign the PDF. Provide exactly ONE file source: documentBase64 (raw standard Base64), documentUrl (public HTTPS PDF download URL, including a temporary signed URL), storageFileId (an existing SELISE storage PDF accessible to this server), uploadId (the exact short-lived reference returned by this server's HTTP POST /uploads), or chatgptFile (the host-provided file object for a PDF attached in ChatGPT). In ChatGPT, use chatgptFile via the declared file-input integration for a user attachment; its download_url and file_id are supplied by the host. Do not combine sources, invent file content or IDs, or pass local paths to the server. A bare ChatGPT attachment ID is not a documentUrl or storageFileId. Other clients can continue using the four generic sources. For binary upload, POST multipart/form-data with one file part named file to /uploads on this server's HTTP deployment, then use the returned uploadId before expiresAt; uploading does not prepare or send a document. Raw application/pdf uploads with a fileName query parameter are also accepted. The uploadId is valid for one hour; keep it private. Source PDFs are validated consistently. documentUrl must return PDF bytes without additional authentication headers; the server does not use browser cookies, login pages, or private-network URLs. It follows at most three public HTTPS redirects. Storage files and upload references are reused without a second upload. Supply fileName ending in .pdf and the normal preparation fields for every method. A file reference is not a documentId and does not mean preparation has completed. Maximum actual PDF size for every source on this server: 26214400 bytes, excluding Base64 encoding or multipart overhead. PDFs must be readable, unencrypted, and have supported page geometry. File-source retrieval and validation happen before preparation. Never fabricate file content. ownerEmail must match one of the signatories' emails. Signatory emails must be unique (case-insensitive). Provide a positive integer signingOrder for every signatory or omit it for all; role defaults to signer. Ask for missing participant details; do not invent people or change their intended roles to satisfy validation. Role values and behavior: signer signs the contract; reviewer is a view-only participant who can see the contract but has no action to perform; approver reviews and approves the contract without signing. Map a requested viewer to reviewer, and a requested reviewer who must approve to approver. The literal value viewer is not accepted. If the intended action is unclear, ask before choosing a role. Set coordinateSystem to page_percent. ALL field types use the same page-relative percentages: (0,0) is the top-left of the visible page, x increases rightward, y increases downward; 100 is the full page width or height, not 1. pageNumber is zero-based (0 is the first page). x/width are percentages of page width; y/height are percentages of page height. Positions must be >= 0, sizes > 0, x + width <= 100 and y + height <= 100. Example: x=10,y=80,width=30,height=10 starts 10% from the left and 80% from the top, covering 30% of page width and 10% of its height. The server reads each PDF page and handles backend units and field-specific conversions. Do not supply pixels, PDF points, or backend coordinates, or guess a placement from an unrelated image. Use the actual visible page and the user's intended field location. Unrepresentable placements, unreadable PDFs, 180-degree rotated placement pages, and text fields on rotated/cropped pages are rejected before sending; provide a flattened PDF if requested by the error. Provide at least one signatureCoordinates entry; optional coordinate arrays default to empty. Every coordinate's signatoryEmail must identify a participant in this document. Every signatory with role signer (including the default role) must have at least one signatureCoordinates entry, and every signature coordinate email must appear in signatories. The reviewer (view-only) and approver (approval without signing) roles do not sign and are not subject to this MCP signer-coverage check; do not invent signature placements for them. Every coordinate array applies to the selected source PDF. If placements are missing, obtain them; use prepare_free_signature_document only when preparation alone is intended. Returns sent when rollout succeeds, or pending when accepted but unconfirmed. sent does not mean completed signing. A failed combined workflow may already have uploaded or prepared a document; inspect its status before choosing a follow-up action. Keep returned documentId, fileId, operationId, and trackingId when present. pending means accepted but completion is unconfirmed: check get_signature_document_status with documentId instead of resubmitting. UNKNOWN_OUTCOME, a timeout, or a lost response may follow a successful submission; do not automatically repeat a preparation or send call. Inspect status when an ID is available; an empty status list does not make a retry safe. INVALID_REQUEST means inputs need correction; REQUEST_FAILED gives a referenceId for diagnosis. If the cause is unclear, ask for clarification or use the referenceId rather than guessing. Repeating a preparation can create another document. Use only the declared fields. Ask for missing facts instead of inventing values. Service credentials are configured on the server and must not be included in tool arguments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesDocument title; required and nonempty after trimming.
fileNameYesPDF filename, 1-255 characters, ending in .pdf (case-insensitive). Required for every source. Use a filename, not a path or URL.
languageNoDocument workflow language. Supported values: en, en-US, de, de-DE. Defaults to en-US; this does not translate the uploaded PDF.en-US
uploadIdNoFile source option 4: exact signed reference returned by this server's POST /uploads endpoint. Valid for one hour, until its expiresAt; do not alter it or replace it with a storage ID. Omit the other sources. Use only to begin a new preparation; it does not make preparation/send calls idempotent. An accepted/pending document must not be prepared again.
ownerEmailYesDocument owner's valid email, without surrounding whitespace. Must match an email in signatories after lowercase normalization. Being the owner does not automatically make someone a signer; preserve their intended role.
chatgptFileNoFile source option 5: actual user-attached PDF supplied through ChatGPT's file-input integration. Use the host-provided file object with download_url and file_id. Omit all other file sources; do not copy a /mnt/data path into documentUrl or invent file metadata. Supply the separate fileName and normal contract fields. The server downloads and validates the PDF; expired URLs require a fresh host-provided file reference.
documentUrlNoFile source option 2: public HTTPS link that returns the actual PDF, optionally with a short-lived signed query string. No login page, browser cookies, custom authentication headers, local/private address, or data/file URL. Omit all other file sources. The server downloads and size-checks the file. For a ChatGPT attachment, use chatgptFile through the host file-input integration.
signatoriesYesComplete participant list, including the owner; at least one entry. ownerEmail must match one of the signatories' emails. Signatory emails must be unique (case-insensitive). Provide a positive integer signingOrder for every signatory or omit it for all; role defaults to signer. Ask for missing participant details; do not invent people or change their intended roles to satisfy validation. Role values and behavior: signer signs the contract; reviewer is a view-only participant who can see the contract but has no action to perform; approver reviews and approves the contract without signing. Map a requested viewer to reviewer, and a requested reviewer who must approve to approver. The literal value viewer is not accepted. If the intended action is unclear, ask before choosing a role.
storageFileIdNoFile source option 3: exact existing SELISE storage file ID accessible using this server's configured credentials. It is not a documentId, client-specific attachment ID, or uploadId. Use an original PDF intended for a NEW document; for an already prepared document use send_prepared_signature_document. Omit all other file sources. The PDF is validated and reused without uploading again.
documentBase64NoFile source option 1: actual PDF bytes encoded as raw standard Base64. Whitespace is ignored; no data URL, placeholder, local path, or fabricated content. Omit all other file sources when using this option.
coordinateSystemYesRequired: page_percent. All positions and sizes use 0-100 percentages of the visible PDF page, from its top-left. This explicit marker prevents old pixel/backend coordinates from being misinterpreted. Do not relabel old values; calculate their page percentages first.
receiveRolloutEmailNoWhether the document owner should receive the rollout email when the document is sent. Defaults to true. Setting this during preparation does not send the document.
signatureCoordinatesYesRequired nonempty signature-placement list for this PDF. In the combined tool, every signer needs at least one entry and every entry must refer to a supplied participant. For send-only, use the prepared document's participants and placements.
textFieldCoordinatesNoOptional text placements for this PDF; omit or use [] when none are requested. Each entry requires propertyName and participant/page/position/size fields.
simpleImageCoordinatesNoOptional simple-image placements for this PDF; defaults to []. Each entry requires a verified type and participant/page/position/size fields.
stampPostInfoCoordinatesNoOptional post-signing information placements for this PDF; defaults to []. Each entry requires verified entityName/propertyName and participant/page/position/size fields.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

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?

Far exceeds the annotations: it discloses the 26,214,400-byte cap, one-hour uploadId lifetime and privacy requirement, the absence of auth-header/cookie/private-network support for documentUrl, the three-redirect limit, pre-send rejection cases (unreadable, rotated, cropped), and the fact that a failed combined workflow may already have uploaded or prepared a document. It also explains the sent vs pending outcomes and warns against retrying on UNKNOWN_OUTCOME or timeouts, directly complementing idempotentHint=false and destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded well, but the description is enormously long and heavily duplicative: the role definitions, the page_percent coordinate explanation, the one-source rule, and the signer-coverage rule all appear multiple times within the description and again in the nested schema property descriptions. Many sentences do not earn their place because the same content is already carried by the 100%-covered schema.

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 16-parameter, nested, mutation tool with an output schema, the description covers everything an agent needs: file-source selection, participant rules, coordinate semantics, rollback/retry hazards, and the meaning of sent/pending statuses. Nothing material is left for the agent to infer.

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 a baseline of 3 is warranted, but the description goes beyond it by enumerating the exactly-one file-source rule, stating ownerEmail must match a signatory, requiring all-or-nothing signingOrder, and defining the page_percent coordinate convention with a worked example. It still largely restates schema text rather than adding new cross-field constraints for every parameter, so it stops short of 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?

The opening sentence states a precise compound verb ('Prepare', 'add placements', 'send'), the resource (a NEW free-signature document from one PDF), and the workflow scope. It explicitly distinguishes itself from siblings: 'For an already prepared document, use send_prepared_signature_document instead' and 'use prepare_free_signature_document only when preparation alone is intended.' An agent can route among all three siblings without opening a 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 an explicit entry condition ('Use only when sending is requested and all participant details and actual PDF placements are known'), names the two alternative tools and the conditions selecting them, and adds exclusion guidance such as not combining sources and asking for missing facts rather than inventing them. Role-selection guidance (viewer→reviewer, reviewer-who-approves→approver) is spelled out.

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