MCP Server
Tools and Resources
The tools and resources the SignatureAPI MCP server exposes to agents.
The MCP server exposes a curated set of tools that map to the most common SignatureAPI operations. Each tool corresponds to a REST endpoint and is scoped to the account the user authorized.
Tools
| Tool | Operation | Description |
|---|---|---|
create_envelope | Write | Create a new envelope with documents and recipients. Maps to Create envelope. |
get_envelope | Read | Fetch an envelope by id. Maps to Get envelope. |
list_envelopes | Read | List envelopes for the account, most-recent first, with cursor pagination. Filters: status, topic. |
cancel_envelope | Write | Cancel an in-progress envelope. Recipients receive a cancellation email. |
delete_envelope | Write | Permanently delete an envelope in a final status (completed, canceled, or failed). |
upload_file | Write | Mint a short-lived signed URL the agent uses to upload a local PDF, DOCX, or PNG file. |
search_documentation | Read | Search the public SignatureAPI documentation and return ranked excerpts with source URLs. |
Tool annotations
Each tool is annotated with MCP’s standard hints so resource-aware clients can render the right confirmation UI:
| Tool | readOnlyHint | destructiveHint | idempotentHint |
|---|---|---|---|
get_envelope | true | - | - |
list_envelopes | true | - | - |
search_documentation | true | - | - |
create_envelope | false | false | false |
upload_file | false | false | false |
cancel_envelope | - | true | false |
delete_envelope | - | true | true |
Destructive tools (cancel_envelope, delete_envelope) should trigger user confirmation in any well-behaved client.
Resources
The server also exposes envelopes as an MCP resource so clients that support resources (such as Claude) can render them as chips, list them in side panels, and re-fetch them on their own.
| URI template | Description |
|---|---|
signatureapi://envelope/{envelope_id} | JSON representation of an envelope. Same payload as get_envelope. |
Listing returns up to 10 envelopes by default, sized for client pickers (for example the @ picker in Claude Code).
Pagination
list_envelopes returns 10 envelopes per page by default, with a maximum page size of 20. The response includes links.next and links.previous cursor URLs; pass the cursor query value back as the cursor parameter to paginate. API-level pagination defaults on the REST surface are unchanged.
Uploading files
upload_file does not transfer bytes. It returns a single-use signed URL the agent uses to PUT the file directly to the SignatureAPI upload subdomain.
Compute size and SHA-256
Get the file's exact byte count and its SHA-256 hash. These values are bound into the signed URL, so they must match the bytes you actually send.
Call upload_file
Provide media_type, size, and sha256. You receive:
upload_url— single-use, expires in roughly five minutes.reference— the canonicalhttps://api.signatureapi.com/v1/uploads/upl_…URL to use later.
PUT the bytes
Send the raw file body to upload_url. All three headers below are required and must match the values declared in step 2.
A 2xx response means the bytes landed and reference is now resolvable. A 4xx means the upload failed; the URL is single-use, so re-mint by calling upload_file again.
Pass the reference to create_envelope
Use the returned reference (not upload_url) as the document URL when calling create_envelope.
Supported media types
| Type | MIME | Used for |
|---|---|---|
application/pdf | Envelope documents | |
| DOCX | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Envelope documents (with optional template merge) |
| PNG | image/png | Symbol assets such as logos |
Phase one of the upload service caps individual files at roughly 5 MB. Larger files will be supported as the upload service scales.
Pure connector clients
Clients without local code execution (Claude.ai, ChatGPT in connector mode) cannot run the PUT. In that case the agent should not call upload_file. Instead, supply a URL on a host SignatureAPI already accepts (S3, Google Drive, Dropbox, and similar) and pass that URL directly to create_envelope.
Documentation search
search_documentation lets the agent look up SignatureAPI concepts, field names, enum values, and webhook events before guessing. Each result includes a title, url, and a short snippet. The tool is read-only and safe to call as often as needed; in practice, calling it once before a non-trivial create_envelope produces noticeably better results than relying on the model’s training data.