# DocuSeal — how to use (mcp.ai)

Connect your DocuSeal account and use 22 tools for e-signatures straight from your AI agent. Connect with your own API key. DocuSeal is a platform that provides a powerful and easy-to-use API to implement eSignature workflows, allowing users to automate document and template management processes without relying on the web interface.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_docuseal?ms=1787291220000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `docuseal_archive_submission`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/docuseal`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/docuseal/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/docuseal/archive/submission` — Tool to archive a submission by its unique identifier. Archived submissions are not permanently deleted and can be restored.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/docuseal/archive/template` — Tool to archive a specific template by its unique identifier. Use after verifying the template ID.
  - body: { id: string }
- `POST https://api.mcp.ai/api/docuseal/clone/template2` — Tool to clone an existing template into a new template with optional custom name, folder, and external_id. Use when you need to duplicate a template with specific customization options.
  - body: { id: integer, name?: string, external_id?: string, folder_name?: string }
- `POST https://api.mcp.ai/api/docuseal/create/submission` — Tool to create signature requests (submissions) from an existing document template and send them to submitters. Use this when you have a pre-configured template and want to send it for signing to one 
  - body: { order?: string, message?: object, reply_to?: string, send_sms?: boolean, expire_at?: string, send_email?: boolean, submitters: object[], template_id: integer, bcc_completed?: string, completed_redirect_url?: string }
- `POST https://api.mcp.ai/api/docuseal/create/submission/from/docx` — Tool to create a one-off submission (signature request) from a DOCX document with dynamic content variables. Use [[variable_name]] text tags in the DOCX to define dynamic content variables and {{Field
  - body: { docx?: object, name?: string, order?: string, message?: object, docx_url?: string, reply_to?: string, send_sms?: boolean, documents?: object[], expire_at?: string, variables?: object, send_email?: boolean, submitters: object[], remove_tags?: boolean, template_ids?: integer[], bcc_completed?: string, merge_documents?: boolean, completed_redirect_url?: string }
- `POST https://api.mcp.ai/api/docuseal/create/submission/from/html` — Tool to create a one-off submission request from HTML content with embedded field tags rendered as a fillable and signable form. Use this when you want to create a signature request directly from HTML
  - body: { name?: string, order?: string, message?: object, reply_to?: string, send_sms?: boolean, documents: object[], expire_at?: string, send_email?: boolean, submitters: object[], template_ids?: integer[], bcc_completed?: string, merge_documents?: boolean, completed_redirect_url?: string }
- `POST https://api.mcp.ai/api/docuseal/create/submission/from/pdf` — Tool to create a one-off submission (signature request) from a PDF file. Use this to upload a PDF document and send it for electronic signature without creating a reusable template first. You can defi
  - body: { pdf?: object, name?: string, order?: string, fields?: object[], message?: object, pdf_url?: string, reply_to?: string, send_sms?: boolean, expire_at?: string, send_email?: boolean, submitters: object[], bcc_completed?: string, completed_redirect_url?: string }
- `POST https://api.mcp.ai/api/docuseal/create/submissions/from/emails` — Tool to create submissions for a document template and send them to specified email addresses. Use this for simplified submission creation with Zapier or other automation tools. Each email address wil
  - body: { emails: string, message?: object, send_email?: boolean, template_id: integer }
- `POST https://api.mcp.ai/api/docuseal/create/template/from/docx` — Tool to create a fillable document template from a Microsoft Word DOCX file. Use when you need to convert a DOCX document with field tags into a template.
  - body: { name?: string, documents: object[], external_id?: string, folder_name?: string, shared_link?: boolean }
- `POST https://api.mcp.ai/api/docuseal/create/template/from/html2` — Tool to create a fillable document template from HTML content with pre-defined fields. Use when you need to create a template directly from HTML with custom field tags for text, signatures, dates, and
  - body: { html?: string, name?: string, size?: string, documents?: object[], external_id?: string, folder_name?: string, html_footer?: string, html_header?: string, shared_link?: boolean }
- `POST https://api.mcp.ai/api/docuseal/create/template/from/pdf` — Tool to create a fillable document template from a PDF file. Use when you need to create a reusable template from a PDF. Fields can be defined using {{Field Name;role=Signer1;type=date}} text tags in 
  - body: { name?: string, flatten?: boolean, documents: object[], external_id?: string, folder_name?: string, remove_tags?: boolean, shared_link?: boolean }
- `POST https://api.mcp.ai/api/docuseal/get/submission` — Tool to retrieve detailed information about a specific submission. Use when you need to fetch complete submission details including submitters, documents, status, template, events, and metadata.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/docuseal/get/submission/documents` — Tool to retrieve documents for a submission. Returns partially filled documents if the submission is in progress, or final signed documents if completed. Use when you need to download submission docum
  - body: { id: integer, merge?: boolean }
- `POST https://api.mcp.ai/api/docuseal/get/submitter` — Tool to retrieve detailed information about a submitter by ID. Use when you need to fetch submitter details including documents, field values filled by the signer, submission events, and status.
  - body: { id: integer }
- `POST https://api.mcp.ai/api/docuseal/get/template` — Tool to retrieve details of a specific template by its unique identifier. Use when you need to fetch template metadata by ID.
  - body: { template_id: integer }
- `POST https://api.mcp.ai/api/docuseal/list/submissions` — List document submissions with filtering and cursor-based pagination. Use to retrieve, search, and browse existing submissions by template, status, or submitter details. Supports searching by submitte
  - body: { q?: string, slug?: string, after?: integer, limit?: integer, before?: integer, status?: string, archived?: boolean, template_id?: integer, template_folder?: string }
- `POST https://api.mcp.ai/api/docuseal/list/submitters` — Retrieve a paginated list of submitters with optional filtering. Use this tool to: - List all submitters across all submissions - Filter submitters by submission, status dates, or search query - Pagin
  - body: { q?: string, slug?: string, after?: integer, limit?: integer, before?: integer, external_id?: string, submission_id?: integer, completed_after?: string, completed_before?: string }
- `POST https://api.mcp.ai/api/docuseal/list/templates2` — Tool to retrieve a list of available document templates with pagination and filtering. Use when you need to search templates by name, slug, external_id, folder, or archived status.
  - body: { q?: string, slug?: string, after?: integer, limit?: integer, before?: integer, folder?: string, archived?: boolean, external_id?: string }
- `POST https://api.mcp.ai/api/docuseal/merge/templates` — Merge multiple DocuSeal templates into a single combined template. This action consolidates documents and fields from multiple source templates into one new template. Use this when you need to create 
  - body: { name?: string, external_id?: string, folder_name?: string, template_ids: integer[] }
- `POST https://api.mcp.ai/api/docuseal/update/submitter` — Tool to update submitter details, pre-fill or update field values, re-send signature request emails, or mark as auto-signed for automatic signing via API. Use when you need to modify submitter informa
  - body: { id: integer, name?: string, email?: string, phone?: string, fields?: object[], values?: object, message?: object, metadata?: object, reply_to?: string, send_sms?: boolean, completed?: boolean, send_email?: boolean, external_id?: string, require_phone_2fa?: boolean, completed_redirect_url?: string }
- `POST https://api.mcp.ai/api/docuseal/update/template/documents` — Tool to add, remove, or replace documents in a template with provided PDF/DOCX file or HTML content. Use when you need to modify the document structure of an existing template.
  - body: { id: integer, merge?: boolean, documents: object[] }
- `POST https://api.mcp.ai/api/docuseal/update/template2` — Tool to update a document template by moving it to a different folder, changing its name, updating submitter roles, or unarchiving it. Use when you need to modify template properties.
  - body: { id: integer, name?: string, roles?: string[], archived?: boolean, folder_name?: string }

## Example prompts
- "What can I do in DocuSeal?"
- "Show me a summary of my DocuSeal account"

## More
- Page: https://mcp.ai/docuseal
- Agent spec (llms.txt): https://mcp.ai/docuseal/llms.txt
- Postman collection: https://mcp.ai/docuseal/postman.json
