MCP Tools Reference
Complete reference for all 57 Seal MCP tools, 6 guided prompts, and knowledge resources
MCP Tools Reference
The Seal MCP server provides 57 tools, 6 pre-built workflow prompts, and a knowledge base of product documentation — giving AI assistants complete, confident access to your Seal account.
Guided Prompts
Prompts are pre-built workflow templates. Instead of knowing which tools to call, just ask Claude to use one of these — it will guide you through each step.
| Prompt | What it does |
|---|---|
send-document | Upload a PDF → create document → add recipients → send for signing |
check-signing-status | Find documents → check who signed → optionally send reminders |
use-template | Browse templates → create document → add recipients → send |
verify-document | Verify cryptographic integrity → audit trail → download URL |
setup-webhooks | Browse events → create endpoint → save signing secret |
void-document | Find document → confirm → provide reason → cancel |
Example: "Use the send-document prompt" or "Help me send a contract using the Seal prompt"
Knowledge Resources
The MCP server exposes Seal product documentation as readable resources at seal://docs/{topic}.
| Resource URI | Topic |
|---|---|
seal://docs | Index of all topics |
seal://docs/overview | What Seal is and how it works |
seal://docs/document-states | State machine and lifecycle |
seal://docs/recipient-roles | signer vs approver vs viewer |
seal://docs/field-types | All field types and properties |
seal://docs/sequential-signing | How ordered signing groups work |
seal://docs/webhooks | Events, payload format, signature verification |
seal://docs/limits | Rate limits, file limits, quotas |
seal://docs/authentication | API keys, scopes, security best practices |
Claude reads these automatically when you ask product questions like "how does sequential signing work?" or "what events can I subscribe to?"
Account Tools
seal_get_account_info
Get information about the current Seal workspace — organization name, member counts, document counts by status, signing settings, and whether AI features are enabled.
Parameters: None
Returns: Organization details, member/document counts, and settings summary
Analytics Tools
seal_get_analytics
Get document signing analytics and metrics for your workspace. Returns document counts, completion rate, and median signing time for a configurable date range.
Parameters:
from(string, optional): Start of date range as ISO 8601 timestamp (default: 30 days ago)to(string, optional): End of date range as ISO 8601 timestamp (default: now)
Returns: Period-filtered document metrics + live workspace snapshot by status
Audit Log Tools
seal_list_audit_log
List organization-wide audit log entries. Returns a chronological history of all actions — document sends, signings, settings changes, member management, and more.
Parameters:
limit(number, optional): Number of entries (1–100, default 20)cursor(string, optional): Pagination cursor from previous responsedocument_id(string, optional): Filter entries for a specific documentaction(string, optional): Filter by action type (e.g.recipient.signed,document.completed)created_after(string, optional): ISO 8601 timestamp lower boundcreated_before(string, optional): ISO 8601 timestamp upper bound
Returns: { entries: ApiAuditLogEntry[], has_more, next_cursor? }
Contact Tools
seal_list_contacts
List contacts in your workspace contact directory with optional filtering by status or search term.
Parameters:
limit(number, optional): Number of results (1–100, default 20)cursor(string, optional): Pagination cursorstatus(string, optional): Filter by status —active,inactive, orleadsearch(string, optional): Case-insensitive search by name or email
Returns: { contacts: ApiContact[], has_more, next_cursor? }
seal_get_contact
Get full details for a specific contact by ID.
Parameters:
id(string, required): Contact ID
Returns: Full contact object
seal_create_contact
Add a new contact to your workspace directory.
Parameters:
first_name(string, required): First namelast_name(string, required): Last nameemail(string, required): Email addressphone(string, optional): Phone numbercompany(string, optional): Company or organizationtitle(string, optional): Job titlestatus(string, optional):active,inactive, orlead(default:active)notes(string, optional): Free-form notestags(array, optional): Array of tag strings
Returns: { id: string } — the new contact ID
seal_delete_contact
Permanently delete a contact from the directory. Cannot be undone.
Parameters:
id(string, required): Contact ID
Returns: { success: boolean }
Document Tools
seal_list_documents
List documents in your workspace with optional filtering by status, title search, or creation date range.
Parameters:
limit(number, optional): Number of results (1–100, default 20)cursor(string, optional): Pagination cursor from previous responsestatus(string, optional): Filter by status —draft,sent,in_progress,completed,cancelled,declinedtitle_search(string, optional): Case-insensitive substring match on document titlecreated_after(string, optional): ISO 8601 timestamp — return documents created after this datecreated_before(string, optional): ISO 8601 timestamp — return documents created before this date
Returns: Paginated array of document objects
Example:
User: "Find all completed documents from last month"
Claude: [Calls seal_list_documents with status=completed and created_after/created_before]seal_get_document
Get detailed information about a specific document.
Parameters:
id(string, required): Document IDinclude_recipients(boolean, optional): Include recipient details in response
Returns: Document object with optional recipients
seal_create_document
Create a new document in draft status.
Parameters:
title(string, required): Document titlestorage_id(string, required): Storage ID from a priorseal_upload_fileorseal_upload_file_contentcallfile_size(number, required): File size in bytesfile_type(string, optional): MIME type (defaultapplication/pdf)description(string, optional): Document descriptionpage_count(number, optional): Number of pagesdeadline(string, optional): Signing deadline as ISO 8601 timestamp
Returns: { id: string } — the new document ID
seal_update_document
Update document metadata. Only works for documents in draft status.
Parameters:
id(string, required): Document IDtitle(string, optional): New document titledescription(string, optional): New document descriptiondeadline(string, optional): New signing deadline as ISO 8601 timestamp
Returns: { success: boolean }
seal_delete_document
Delete a document. Only draft documents can be deleted. Use seal_void_document for sent documents.
Parameters:
id(string, required): Document ID
Returns: { success: boolean }
seal_send_document
Send a document to recipients for signing. The document must be in draft status and have at least one recipient.
Parameters:
id(string, required): Document IDmessage(string, optional): Custom message to include in the signing email
Returns: { success: boolean }
seal_void_document
Cancel a document and prevent further signing. All recipients will be notified.
Parameters:
id(string, required): Document IDreason(string, required): Reason for voiding the document
Returns: { success: boolean }
seal_download_document
Get the download URL for a document. Returns the signed PDF if available, otherwise the original.
Parameters:
id(string, required): Document ID
Returns: { url: string } — signed download URL
seal_get_document_access
Get the sharing/access mode for a document.
Parameters:
id(string, required): Document ID
Returns: { document_id, sharing_mode } — one of private, workspace, or specific
seal_update_document_access
Update the sharing/access mode for a document.
Parameters:
id(string, required): Document IDsharing_mode(string, required):private(owner only),workspace(all members, Pro), orspecific(granted users, Pro)
Returns: { success: boolean }
seal_bulk_send_documents
Send multiple draft documents for signing at once. Each must have recipients.
Parameters:
document_ids(array, required): Array of document IDs to send (max 50)message(string, optional): Custom message for signing invitation emails
Returns: { succeeded, failed, total_requested, results[] } with per-document status
seal_bulk_void_documents
Void multiple documents at once. Cannot void completed, already-cancelled, or declined documents.
Parameters:
document_ids(array, required): Array of document IDs to void (max 50)reason(string, required): Reason for voiding
Returns: { succeeded, failed, total_requested, results[] } with per-document status
Member Tools
seal_list_members
List all members of your Seal workspace with their role and status.
Parameters:
role(string, optional): Filter by role —owner,admin,member, orviewer
Returns: Array of member objects sorted by role hierarchy
seal_get_member
Get detailed information about a specific workspace member.
Parameters:
id(string, required): Membership record ID (fromseal_list_members)
Returns: Member object with name, email, role, status, and join date
Recipient Tools
seal_list_recipients
List all recipients for a document.
Parameters:
document_id(string, required): Document ID
Returns: { recipients: ApiRecipient[] }
seal_get_recipient
Get detailed information about a specific recipient.
Parameters:
document_id(string, required): Document IDid(string, required): Recipient ID
Returns: Recipient object
seal_add_recipient
Add a new recipient to a document. The document must be in draft status.
Parameters:
document_id(string, required): Document IDemail(string, required): Recipient email addressname(string, required): Recipient display namerole(string, required):signer,approver, orviewerorder(number, optional): Signing order for sequential workflowsmessage(string, optional): Custom message for this recipient
Returns: { id: string } — the new recipient ID
seal_update_recipient
Update a recipient's details. The document must be in draft status.
Parameters:
document_id(string, required): Document IDid(string, required): Recipient IDname(string, optional): New display namerole(string, optional): New recipient roleorder(number, optional): New signing ordermessage(string, optional): New custom message
Returns: { success: boolean }
seal_remove_recipient
Remove a recipient from a document. The document must be in draft status.
Parameters:
document_id(string, required): Document IDid(string, required): Recipient ID
Returns: { success: boolean }
seal_send_reminder
Send a reminder email to a recipient who hasn't signed yet.
Parameters:
document_id(string, required): Document IDid(string, required): Recipient IDmessage(string, optional): Custom reminder message
Returns: { success: boolean }
seal_add_recipients_bulk
Add multiple recipients to a document at once. Processes in batches of 5 with partial failure reporting.
Parameters:
document_id(string, required): Document IDrecipients(array, required): Array of recipient objects — each withemail,name,role, and optionalorderandmessage
Returns: { added, failed, total_requested, recipients[] }
seal_update_recipients_bulk
Update multiple recipients for a document at once.
Parameters:
document_id(string, required): Document IDupdates(array, required): Array of update objects — each withidand optionalname,role,order,message
Returns: { updated, failed, total_requested, recipients[] }
Settings Tools
seal_get_settings
Get all organization settings for your workspace. Returns signing behavior, notification preferences, AI configuration, and security settings.
Parameters: None
Returns: Settings object with signing, notifications, ai, and security categories
seal_update_settings
Update organization settings. All categories and all fields within each category are optional — only provide what you want to change.
Parameters:
signing(object, optional):allowed_signature_types,default_deadline_days,esign_consent_textnotifications(object, optional):reminder_schedule,expiration_alert_days,send_completion_email,send_viewed_notificationai(object, optional):enabled,auto_analyzesecurity(object, optional):ip_allowlist,allow_api_access,require_mfa,session_timeout_minutes
Returns: { success: boolean }
Template Tools
seal_list_templates
List all templates in your organization.
Parameters:
limit(number, optional): Number of results (1–100, default 20)cursor(string, optional): Pagination cursor from previous responsestatus(string, optional): Filter by status —activeorarchived
Returns: Paginated array of template objects
seal_get_template
Get detailed information about a template.
Parameters:
id(string, required): Template IDinclude_fields(boolean, optional): Include field definitions in response
Returns: Template object
seal_get_template_fields
Get all field definitions for a template. Fields define where signatures and data entry points are located.
Parameters:
id(string, required): Template ID
Returns: { fields: ApiTemplateField[] }
seal_create_template
Create a new template from an existing document. The document's field layout is copied to the template.
Parameters:
document_id(string, required): Source document IDname(string, required): Template namedescription(string, optional): Template description
Returns: { id: string } — the new template ID
seal_update_template
Update template metadata.
Parameters:
id(string, required): Template IDname(string, optional): New template namedescription(string, optional): New template descriptionstatus(string, optional): New status —activeorarchived
Returns: { success: boolean }
seal_delete_template
Soft-delete a template. The template will be marked as deleted but not removed from the database.
Parameters:
id(string, required): Template ID
Returns: { success: boolean }
seal_use_template
Create a new document from a template. The new document inherits the template's field layout.
Parameters:
id(string, required): Template IDtitle(string, optional): Title for the new document (defaults to template name)description(string, optional): Description for the new document
Returns: { id: string } — the new document ID
Signature Tools
seal_list_signatures
List all signatures for a document.
Parameters:
document_id(string, required): Document ID
Returns: { signatures: ApiSignature[] }
seal_get_signature
Get detailed information about a specific signature.
Parameters:
document_id(string, required): Document IDid(string, required): Signature ID
Returns: Signature object with method, timestamp, and cryptographic hash
seal_verify_document
Verify the cryptographic integrity of all signatures on a document. Returns whether each signature is valid and the document hasn't been tampered with.
Parameters:
document_id(string, required): Document ID
Returns: Verification result with per-signature validity status
seal_get_audit_trail
Get the complete audit trail for a document. Shows all events including views, signatures, and modifications with timestamps.
Parameters:
document_id(string, required): Document IDlimit(number, optional): Maximum number of entries to return (1–100)
Returns: { entries: ApiAuditEntry[] }
Upload Tools
seal_upload_file
Upload a PDF file from a local file path. Only available in stdio mode — not accessible when using the HTTP transport since it reads files from the server's filesystem.
Parameters:
file_path(string, required): Absolute path to the PDF file
Returns: { storage_id, file_name, file_size } — use storage_id with seal_create_document
seal_upload_file_content
Upload a PDF using base64-encoded content. Works in both stdio and HTTP modes.
Parameters:
file_name(string, required): Original filename (e.g.,contract.pdf)content_base64(string, required): Base64-encoded PDF content
Returns: { storage_id, file_name, file_size } — use storage_id with seal_create_document
Webhook Tools
seal_list_webhooks
List all webhook endpoints configured for your organization, including delivery statistics.
Parameters: None
Returns: Array of webhook endpoint objects with stats
seal_get_webhook
Get details for a specific webhook endpoint.
Parameters:
id(string, required): Webhook endpoint ID
Returns: Webhook endpoint object with delivery statistics
seal_create_webhook
Create a new webhook endpoint. The signing secret is returned only once — store it securely.
Parameters:
name(string, required): Friendly name (max 100 chars)url(string, required): HTTPS delivery URLevents(array, required): Event types to subscribe to — pass an empty array to receive all eventsdescription(string, optional): Description of this endpoint
Returns: { id, secret } — the endpoint ID and signing secret
Example:
User: "Create a webhook for document completions on https://myapp.com/hooks/seal"
Claude: [Calls seal_list_webhook_event_types to find event name, then seal_create_webhook]seal_update_webhook
Update a webhook endpoint's configuration. Only provide fields you want to change.
Parameters:
id(string, required): Webhook endpoint IDname(string, optional): New friendly nameurl(string, optional): New HTTPS delivery URLevents(array, optional): New set of event typesdescription(string, optional): New descriptionstatus(string, optional):active,paused, ordisabled
Returns: { success: boolean }
seal_delete_webhook
Permanently delete a webhook endpoint and all its delivery history. Cannot be undone.
Parameters:
id(string, required): Webhook endpoint ID
Returns: { success: boolean }
seal_rotate_webhook_secret
Rotate the signing secret for a webhook endpoint. The old secret stops working immediately — update your server before rotating.
Parameters:
id(string, required): Webhook endpoint ID
Returns: { secret: string } — the new signing secret
seal_list_webhook_event_types
List all available webhook event types with descriptions. Use this before creating webhooks to discover subscribable events.
Parameters: None
Returns: Array of { type, category, description } objects
Available event types:
| Event | Category | Description |
|---|---|---|
document.created | Documents | A new document was created |
document.sent | Documents | A document was sent for signing |
document.viewed | Documents | A document was viewed by a recipient |
document.completed | Documents | All recipients have signed |
document.voided | Documents | A document was voided/cancelled |
document.expired | Documents | A document deadline passed |
document.declined | Documents | A recipient declined to sign |
recipient.added | Recipients | A recipient was added |
recipient.viewed | Recipients | A recipient viewed the document |
recipient.signed | Recipients | A recipient signed |
recipient.approved | Recipients | A recipient approved |
recipient.declined | Recipients | A recipient declined |
recipient.reminded | Recipients | A reminder was sent |
template.created | Templates | A new template was created |
template.updated | Templates | A template was modified |
template.used | Templates | A document was created from a template |
Tool Categories
| Category | Tool Count | Description |
|---|---|---|
| Account | 1 | Workspace info, member counts, document stats |
| Analytics | 1 | Document metrics, completion rates, signing trends |
| Audit Log | 1 | Organization-wide event history with filters |
| Contacts | 4 | Workspace contact directory (list, get, create, delete) |
| Documents | 12 | Create, manage, send, search, access, and bulk operations |
| Members | 2 | List and view workspace team members |
| Recipients | 8 | Manage document recipients, reminders, and bulk operations |
| Settings | 2 | Read and update workspace configuration |
| Templates | 7 | Create and use document templates |
| Signatures | 4 | Verify signatures and access audit trails |
| Uploads | 2 | Upload PDF files for document creation |
| Webhooks | 7 | Configure and manage webhook endpoints |
Common Workflows
Create and Send Document
1. seal_upload_file / seal_upload_file_content — upload PDF
2. seal_create_document — create document with the storage_id
3. seal_add_recipient / seal_add_recipients_bulk — add recipients
4. seal_send_document — send for signingUse a Template
1. seal_list_templates — find the template
2. seal_get_template_fields — inspect required fields
3. seal_use_template — create a new document from the template
4. seal_add_recipients_bulk — add recipients
5. seal_send_document — send for signingTrack Document Status
1. seal_list_documents — get all documents (filter by status)
2. seal_get_document — get specific document with recipients
3. seal_list_recipients — check each recipient's signing status
4. seal_send_reminder — send nudges to pending recipientsVerify Signed Document
1. seal_verify_document — verify cryptographic integrity
2. seal_get_audit_trail — get full activity history
3. seal_download_document — get the signed PDF URLSet Up Webhooks
1. seal_list_webhook_event_types — discover available events
2. seal_create_webhook — create endpoint with chosen events
3. seal_list_webhooks — verify configuration and check stats
4. seal_rotate_webhook_secret — rotate secret if compromisedError Handling
All tools return errors in a consistent RFC 7807 format:
{
"type": "VALIDATION_ERROR",
"status": 400,
"title": "Invalid email format",
"details": { "email": ["Must be a valid email address"] }
}Common error types:
VALIDATION_ERROR— Invalid or missing parametersNOT_FOUND— Resource doesn't exist or you lack accessPERMISSION_DENIED— Insufficient permissionsRATE_LIMIT_EXCEEDED— Too many requestsAUTH_ERROR— Missing or invalid authentication
Rate Limits
MCP tools share the same rate limits as the REST API:
- 60 requests per minute
- 1,000 requests per hour
Next Steps
- MCP Authentication — OAuth setup guide
- API Reference — Detailed REST API documentation
- Quick Start — Integration tutorial
Last updated on