Seal Docs

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.

PromptWhat it does
send-documentUpload a PDF → create document → add recipients → send for signing
check-signing-statusFind documents → check who signed → optionally send reminders
use-templateBrowse templates → create document → add recipients → send
verify-documentVerify cryptographic integrity → audit trail → download URL
setup-webhooksBrowse events → create endpoint → save signing secret
void-documentFind 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 URITopic
seal://docsIndex of all topics
seal://docs/overviewWhat Seal is and how it works
seal://docs/document-statesState machine and lifecycle
seal://docs/recipient-rolessigner vs approver vs viewer
seal://docs/field-typesAll field types and properties
seal://docs/sequential-signingHow ordered signing groups work
seal://docs/webhooksEvents, payload format, signature verification
seal://docs/limitsRate limits, file limits, quotas
seal://docs/authenticationAPI 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:

EventCategoryDescription
document.createdDocumentsA new document was created
document.sentDocumentsA document was sent for signing
document.viewedDocumentsA document was viewed by a recipient
document.completedDocumentsAll recipients have signed
document.voidedDocumentsA document was voided/cancelled
document.expiredDocumentsA document deadline passed
document.declinedDocumentsA recipient declined to sign
recipient.addedRecipientsA recipient was added
recipient.viewedRecipientsA recipient viewed the document
recipient.signedRecipientsA recipient signed
recipient.approvedRecipientsA recipient approved
recipient.declinedRecipientsA recipient declined
recipient.remindedRecipientsA reminder was sent
template.createdTemplatesA new template was created
template.updatedTemplatesA template was modified
template.usedTemplatesA document was created from a template

Tool Categories

CategoryTool CountDescription
Account1Workspace info, member counts, document stats
Analytics1Document metrics, completion rates, signing trends
Audit Log1Organization-wide event history with filters
Contacts4Workspace contact directory (list, get, create, delete)
Documents12Create, manage, send, search, access, and bulk operations
Members2List and view workspace team members
Recipients8Manage document recipients, reminders, and bulk operations
Settings2Read and update workspace configuration
Templates7Create and use document templates
Signatures4Verify signatures and access audit trails
Uploads2Upload PDF files for document creation
Webhooks7Configure 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

Last updated on

On this page