Skip to content
Seal
Esc
navigateopen⌘Jpreview
On this page

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 response
  • document_id (string, optional): Filter entries for a specific document
  • action (string, optional): Filter by action type (e.g. recipient.signed, document.completed)
  • created_after (string, optional): ISO 8601 timestamp lower bound
  • created_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 cursor
  • status (string, optional): Filter by status — active, inactive, or lead
  • search (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 name
  • last_name (string, required): Last name
  • email (string, required): Email address
  • phone (string, optional): Phone number
  • company (string, optional): Company or organization
  • title (string, optional): Job title
  • status (string, optional): active, inactive, or lead (default: active)
  • notes (string, optional): Free-form notes
  • tags (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 response
  • status (string, optional): Filter by status — draft, sent, in_progress, completed, cancelled, declined
  • title_search (string, optional): Case-insensitive substring match on document title
  • created_after (string, optional): ISO 8601 timestamp — return documents created after this date
  • created_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 ID
  • include_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 title
  • storage_id (string, required): Storage ID from a prior seal_upload_file or seal_upload_file_content call
  • file_size (number, required): File size in bytes
  • file_type (string, optional): MIME type (default application/pdf)
  • description (string, optional): Document description
  • page_count (number, optional): Number of pages
  • deadline (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 ID
  • title (string, optional): New document title
  • description (string, optional): New document description
  • deadline (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 ID
  • message (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 ID
  • reason (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 ID
  • sharing_mode (string, required): private (owner only), workspace (all members, Pro), or specific (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, or viewer

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 (from seal_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 ID
  • id (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 ID
  • email (string, required): Recipient email address
  • name (string, required): Recipient display name
  • role (string, required): signer, approver, or viewer
  • order (number, optional): Signing order for sequential workflows
  • message (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 ID
  • id (string, required): Recipient ID
  • name (string, optional): New display name
  • role (string, optional): New recipient role
  • order (number, optional): New signing order
  • message (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 ID
  • id (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 ID
  • id (string, required): Recipient ID
  • message (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 ID
  • recipients (array, required): Array of recipient objects — each with email, name, role, and optional order and message

Returns: { added, failed, total_requested, recipients[] }

seal_update_recipients_bulk

Update multiple recipients for a document at once.

Parameters:

  • document_id (string, required): Document ID
  • updates (array, required): Array of update objects — each with id and optional name, 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_text
  • notifications (object, optional): reminder_schedule, expiration_alert_days, send_completion_email, send_viewed_notification
  • ai (object, optional): enabled, auto_analyze
  • security (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 response
  • status (string, optional): Filter by status — active or archived

Returns: Paginated array of template objects

seal_get_template

Get detailed information about a template.

Parameters:

  • id (string, required): Template ID
  • include_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 ID
  • name (string, required): Template name
  • description (string, optional): Template description

Returns: { id: string } — the new template ID

seal_update_template

Update template metadata.

Parameters:

  • id (string, required): Template ID
  • name (string, optional): New template name
  • description (string, optional): New template description
  • status (string, optional): New status — active or archived

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 ID
  • title (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 ID
  • id (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 ID
  • limit (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 URL
  • events (array, required): Event types to subscribe to — pass an empty array to receive all events
  • description (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 ID
  • name (string, optional): New friendly name
  • url (string, optional): New HTTPS delivery URL
  • events (array, optional): New set of event types
  • description (string, optional): New description
  • status (string, optional): active, paused, or disabled

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 signing

Use 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 signing

Track 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 recipients

Verify 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 URL

Set 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 compromised

Error 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 parameters
  • NOT_FOUND — Resource doesn’t exist or you lack access
  • PERMISSION_DENIED — Insufficient permissions
  • RATE_LIMIT_EXCEEDED — Too many requests
  • AUTH_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

Was this page helpful?