# Documenso — MCP server on mcp.ai > Connect your Documenso account and use 77 tools for e-signatures straight from your AI agent. Connect with your own API key. Documenso is an open-source electronic signature platform that allows users to create, send, and sign documents digitally. By: mcp.ai · official Page: https://mcp.ai/documenso ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_documenso?ms=1787293500000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/documenso/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/documenso/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/documenso/skill.md Postman collection (v2.1): https://mcp.ai/documenso/postman.json ## Tools - documenso_create_document_beta(meta?: object, title: string, folderId?: string, externalId?: string, formValues?: object, recipients?: object[], visibility?: string, attachments?: object[], globalAccessAuth?: string[], globalActionAuth?: string[]) — Tool to create a new document using the beta endpoint that returns a presigned URL for file upload. After calling this action, upload the PDF file to the returned uploadUrl using a PUT request. Use wh - documenso_create_document_field(field: object, documentId: integer) — Tool to create a single field for a document. Use when you need to add a signature, initials, text, or other field type to a specific location on a document page. The document must be in DRAFT status - documenso_create_document_fields_bulk(fields: object[], documentId: integer) — Tool to create multiple fields on a document in a single operation. Use when you need to add signature fields, text fields, or other input fields to a DRAFT document. This bulk operation is more effic - documenso_create_document_recipient(recipient: object, documentId: integer) — Tool to create a single recipient for a document. Use when you need to add a new recipient (signer, viewer, approver, etc.) to an existing document. - documenso_create_document_recipients_bulk(documentId: integer, recipients: object[]) — Tool to create multiple recipients for a document at once. Use when you need to add multiple recipients (signers, approvers, viewers, etc.) to a document in a single operation. The document must be in - documenso_create_embedding_presign_token_v2_beta(expiresInSeconds?: integer) — Create a presign token for Documenso embedded authoring sessions. Use this tool to generate a token that authorizes embedding document/template creation and editing interfaces in your application. The - documenso_create_envelope(meta?: object, type: string, files?: object[], title: string, folderId?: string, externalId?: string, formValues?: object, recipients?: object[], visibility?: string, attachments?: object[], globalAccessAuth?: string[], globalActionAuth?: string[], delegatedDocumentOwner?: string) — Tool to create a new envelope in Documenso. Use when you need to create a document or template envelope with optional file uploads, recipients, and configuration settings. The envelope can be configur - documenso_create_envelope_attachment(data: object, envelopeId: string) — Create a new attachment for an envelope in Documenso. Use this action to add supporting documents or files to an existing envelope. The file must be provided as a base64-encoded data URI in the format - documenso_create_envelope_items_bulk(files?: object[], envelopeId: string) — Tool to create multiple items for an envelope with optional file attachments. Use when you need to add items (documents) to an existing envelope in Documenso. - documenso_create_envelope_recipients_bulk(data: object[], envelopeId: string) — Tool to create multiple recipients for an envelope in bulk. Use when you need to add several recipients to an existing envelope at once. Each recipient must have an email, name, and role (SIGNER, APPR - documenso_create_folder(name: string, type?: string, parentId?: string) — Create a new folder in Documenso to organize documents or templates. Use this action when you need to create a folder for organizing files, either as a top-level folder or nested within an existing fo - documenso_create_template_beta(meta?: object, type?: string, title: string, folderId?: string, externalId?: string, visibility?: string, attachments?: object[], publicTitle?: string, globalAccessAuth?: string[], globalActionAuth?: string[], publicDescription?: string) — Tool to create a new template using the beta endpoint that returns a presigned URL for file upload. After calling this action, upload the PDF file to the returned uploadUrl using a PUT request. Use wh - documenso_create_template_field(field: object, templateId: integer) — Tool to create a single field for a template. Use when you need to add a signature, initials, text, or other field type to a specific location on a template page. - documenso_create_template_fields_bulk(fields: object[], templateId: integer) — Tool to create multiple fields on a template in a single operation. Use when you need to add signature fields, text fields, or other input fields to a template. This bulk operation is more efficient t - documenso_create_template_recipient(recipient: object, templateId: integer) — Tool to create a single recipient for a template. Use when you need to add a new recipient (signer, viewer, approver, etc.) to an existing template. - documenso_create_template_recipients_bulk(recipients: object[], templateId: integer) — Tool to create multiple recipients for a template at once. Use when you need to add multiple recipients (signers, approvers, viewers, etc.) to a template in a single operation. - documenso_delete_document(documentId: integer) — Tool to delete a document. Use when you need to permanently remove a document from Documenso. The deletion is irreversible. - documenso_delete_document_attachment(id: string) — Tool to delete an attachment from a document. Use when you need to remove a previously uploaded attachment from a document. The deletion is permanent. - documenso_delete_document_field(fieldId: integer) — Tool to delete a single document field by ID. Use when you need to remove a specific field from a document. - documenso_delete_document_fields(fieldIds: integer|integer[], documentId: integer|string) — Tool to delete one or more fields from a document. Use when you have confirmed the field IDs to remove. Supports single-field and batch deletion. - documenso_delete_document_recipient(recipientId: integer|string) — Tool to delete a recipient from a document. Use when you need to remove a recipient from a document's signing workflow. - documenso_delete_envelope(envelopeId: string) — Tool to permanently delete an envelope. Use when you need to remove an envelope from Documenso. The deletion is irreversible and will remove all associated data. - documenso_delete_envelope_attachment(id: string) — Tool to delete an attachment from an envelope. Use when you need to remove a file attachment from a Documenso envelope. - documenso_delete_envelope_field(fieldId: integer) — Tool to delete a field from an envelope. Use when you need to remove an existing field from a document envelope. - documenso_delete_envelope_item(envelopeId: string, envelopeItemId: string) — Tool to delete an item from an envelope. Use when you need to remove an existing item from a document envelope. - documenso_delete_envelope_recipient(recipientId: integer) — Tool to delete a recipient from an envelope. Use when you need to remove a recipient from an envelope's signing workflow. - documenso_delete_folder(folderId: string) — Tool to permanently delete a folder. Use when you need to remove a folder from Documenso. The deletion is irreversible and will remove all associated data. - documenso_delete_template(id: integer) — Permanently delete a template by its ID. Use this action when you need to remove an existing document template from your Documenso account. The deletion is irreversible. Returns success=true with HTTP - documenso_delete_template_direct_link(templateId: integer) — Delete a direct link for a template. Use this action when you need to remove public direct access to a template. - documenso_delete_template_recipient(recipientId: integer|string) — Tool to delete a recipient from a template. Use when you need to remove a recipient from a template's configuration. - documenso_delete_template_v2(templateId: integer) — Tool to permanently delete a template using the v2 API. Use when you need to remove a template from Documenso. The deletion is irreversible. - documenso_distribute_document_v2(documentId: integer, recipients?: integer[]) — Tool to distribute a document for signing. Use when you need to send a DRAFT document to recipients for the first time. The document must have recipients with signature fields configured before distri - documenso_distribute_envelope(meta?: object, envelopeId: string) — Tool to distribute an envelope to recipients for signing. Use when you need to send an envelope to recipients for the first time. The envelope must have recipients with required signature fields confi - documenso_download_envelope_item(version?: string, fileName?: string, envelopeItemId: string) — Download an envelope item as PDF. Use this to retrieve the original or signed version of a document within an envelope. The "signed" version includes all signatures and is available after recipients h - documenso_download_signed_document(id: integer, fileName?: string) — Download a completed/signed document as PDF. Use this to retrieve the finalized PDF after all recipients have signed. Important: Only documents with status 'COMPLETED' can be downloaded successfully; - documenso_duplicate_document_v2(documentId: integer) — Tool to duplicate a document. Use when you need to create an exact copy of an existing document. Ensure the source document ID is valid before calling. - documenso_duplicate_envelope_v2(envelopeId: string) — Tool to duplicate an envelope with all its settings. Use when you need to create an exact copy of an existing envelope including recipients, fields, and configuration. - documenso_duplicate_template(templateId: integer) — Tool to duplicate a template with all its settings. Use when you need to create an exact copy of an existing template including fields, recipients, and configuration. - documenso_find_documents(page?: integer, query?: string, source?: string, status?: string, perPage?: integer, folderId?: string, templateId?: integer, orderByColumn?: string, orderByDirection?: string) — Find documents based on search criteria with filtering and pagination. Use when searching for documents by title, status, template, folder, or source. Supports pagination for retrieving large result s - documenso_find_documents_v2(page?: integer, query?: string, status?: string, teamId?: integer, orderBy?: string, perPage?: integer, orderDirection?: string) — Retrieve a paginated list of documents with optional filtering and sorting. Use this action to list documents, search by title, or filter by status (DRAFT, PENDING, COMPLETED). Commonly used to obtain - documenso_find_envelopes(page?: integer, type?: string, query?: string, source?: string, status?: string, perPage?: integer, folderId?: string, templateId?: integer, orderByColumn?: string, orderByDirection?: string) — Tool to find envelopes based on search criteria, filters, and pagination. Use this action to search and filter envelopes by query, type, status, source, template ID, or folder ID. Commonly used to ret - documenso_find_folders(page?: integer, type?: string, query?: string, perPage?: integer, parentId?: string) — Tool to find folders based on search criteria and filters. Use this action to search folders by name, filter by type (DOCUMENT or TEMPLATE), or retrieve subfolders by parent ID. Commonly used to organ - documenso_find_templates(page?: integer, type?: string, query?: string, perPage?: integer, folderId?: string) — Retrieve a paginated list of templates with optional filtering and search. Use this action to find templates, search by title/content, or filter by type (PUBLIC, PRIVATE) or folder. Commonly used to o - documenso_get_document_by_id(documentId: integer) — Retrieve complete information about a document by its ID. Returns full document details including metadata, recipients, fields, and signing status. Use find_documents_v2 first to get valid document ID - documenso_get_document_field(fieldId: integer) — Tool to retrieve a document field by its ID. Use when you need to fetch details about a specific field including its type, position, recipient assignment, and metadata. Useful for inspecting field pro - documenso_get_document_recipient(recipientId: integer) — Tool to retrieve detailed information about a document recipient by their ID. Use when you need to check the status, fields, or other details of a specific recipient. - documenso_get_documents_by_ids(documentIds: integer[]) — Retrieve multiple documents by their IDs in a single request. Use when you need to fetch detailed information for specific documents. This is more efficient than calling individual get document endpoi - documenso_get_envelope_attachment(token?: string, envelopeId: string) — Tool to find all attachments for a specific envelope. Use this when you need to retrieve attachment information including IDs, types, labels, and data for all attachments associated with an envelope. - documenso_get_envelope_audit_log(page?: integer, perPage?: integer, envelopeId: string, orderByColumn?: string, orderByDirection?: string) — Tool to retrieve audit logs for an envelope. Use this to track all actions performed on an envelope, including who accessed it, when, and from where. Useful for compliance, tracking document history, - documenso_get_envelope_by_id(envelopeId: string) — Retrieve complete information about an envelope by its ID. Returns full envelope details including metadata, recipients, fields, and signing status. Use find_envelopes first to get valid envelope IDs. - documenso_get_envelope_field(fieldId: integer) — Tool to fetch an envelope field by ID. Use this to retrieve detailed information about a specific field in an envelope, including its type, position, dimensions, and metadata configuration. - documenso_get_envelope_recipient(recipientId: integer) — Tool to retrieve detailed information about an envelope recipient by their ID. Use when you need to check the status, fields, or other details of a specific recipient. - documenso_get_envelopes_by_ids(ids: object) — Tool to retrieve multiple envelopes by their IDs. Use this action when you need to fetch multiple envelopes in a single request using envelope IDs, document IDs, or template IDs. Specify the ID type a - documenso_get_template_by_id(templateId: integer) — Retrieve complete information about a template by its ID. Returns full template details including metadata, recipients, fields, and configuration settings. Use find_templates or list_templates first t - documenso_get_template_field(fieldId: integer) — Tool to fetch a template field by ID. Use this to retrieve detailed information about a specific field in a template, including its type, position, dimensions, and metadata configuration. - documenso_get_template_recipient(recipientId: integer) — Tool to retrieve detailed information about a template recipient by their ID. Use when you need to check the status, fields, or other details of a specific template recipient. - documenso_get_templates_by_ids(templateIds: integer[]) — Retrieve multiple templates by their IDs in a single request. Use when you need to fetch detailed information for specific templates. This is more efficient than calling individual get template endpoi - documenso_list_templates(page?: integer, perPage?: integer) — Tool to list templates. Use when fetching available templates with optional pagination. - documenso_move_document_v2(teamId?: integer, documentId: integer) — Tool to move a document to a team. Use when transferring documents between personal and team accounts. - documenso_redistribute_document_v2(documentId: integer, recipients: integer[]) — Re-send signing request emails to specified recipients of a document. Use this when recipients haven't received or lost their signing emails, or when you need to remind them to sign. The document must - documenso_redistribute_envelope(envelopeId: string, recipients: integer[]) — Tool to redistribute an envelope to recipients who have not actioned it. Use when recipients haven't received or lost their signing emails, or when you need to remind them to sign. The envelope must b - documenso_remove_team_member_v1(team_id: integer, member_id: integer) — Remove a member from a Documenso team. This action removes an existing member from the specified team. The caller must have appropriate permissions (typically team owner or manager) to remove members. - documenso_update_document_attachment(id: string, data: object) — Tool to update an existing document attachment. Use when you need to change the label or file URL of an attachment. Requires the attachment ID and updated data (label and URL). - documenso_update_document_field(field: object, documentId: integer) — Tool to update a single document field's properties in Documenso v2 API. Use when you need to modify position, size, or type of an existing field. The field type must always be provided even when upda - documenso_update_document_fields_bulk(fields: object[], documentId: integer) — Tool to update multiple document fields in a single operation. Use when you need to modify properties (position, size, type) of multiple fields at once. This is more efficient than updating fields ind - documenso_update_document_recipient_v2(recipient: object, documentId: integer) — Tool to update a document recipient using the v2 API. Use to change recipient name, email, role, signing order, or authentication options for a specific document recipient. - documenso_update_document_v2(title?: string, message?: string, subject?: string, folderId?: string, language?: string, timezone?: string, dateFormat?: string, documentId: integer, externalId?: string, visibility?: string, redirectUrl?: string, signingOrder?: string, globalAccessAuth?: string[], globalActionAuth?: string[], distributionMethod?: string, drawSignatureEnabled?: boolean, typedSignatureEnabled?: boolean, uploadSignatureEnabled?: boolean, useLegacyFieldInsertion?: boolean) — Update document properties like title, visibility, and signing settings. Use find_documents_v2 first to get a valid document ID. Only DRAFT documents can have all properties updated; PENDING documents - documenso_update_envelope(title?: string, emailId?: string, message?: string, subject?: string, folderId?: string, language?: string, timezone?: string, dateFormat?: string, envelopeId: string, externalId?: string, visibility?: string, redirectUrl?: string, emailReplyTo?: string, signingOrder?: string, emailSettings?: object, globalAccessAuth?: string[], globalActionAuth?: string[], distributionMethod?: string, drawSignatureEnabled?: boolean, typedSignatureEnabled?: boolean, allowDictateNextSigner?: boolean, uploadSignatureEnabled?: boolean) — Update envelope properties like title, visibility, and signing settings. Use find_envelopes first to get a valid envelope ID. Only DRAFT envelopes can have all properties updated; PENDING envelopes ha - documenso_update_envelope_attachment(id: string, data: object) — Tool to update an existing envelope attachment. Use when you need to modify the label or content of an attachment that was previously added to an envelope. The attachment data must be provided in base - documenso_update_envelope_fields_bulk(data: object[], envelopeId: string) — Tool to update multiple envelope fields in a single request. Use when you need to modify properties of multiple existing fields (position, size, type) efficiently. All position and dimension values mu - documenso_update_envelope_items_bulk(data: object[], envelopeId: string) — Tool to update multiple envelope items in a single request. Use when you need to modify the title or order of multiple envelope items belonging to the same envelope. This is more efficient than updati - documenso_update_folder(data: object, folderId: string) — Update properties of an existing folder including name, pinned status, parent folder, and visibility. Use this action to reorganize folder structure or modify folder settings. - documenso_update_template(data?: object, meta?: object, templateId: integer) — Update template properties like title, visibility, and signing settings. Use list_templates or find_templates first to get a valid template ID. - documenso_update_template_fields_bulk(fields: object[], templateId: integer) — Tool to update multiple template fields in a single operation. Use when you need to modify properties (position, size, type) of multiple fields at once on a template. This is more efficient than updat - documenso_update_template_recipient(recipient: object, templateId: integer) — Tool to update a template recipient. Use to change recipient name, email, role, signing order, or authentication options for a specific template recipient. - documenso_update_template_recipients_bulk(recipients: object[], templateId: integer) — Tool to update multiple template recipients in a single API call. Use when you need to change properties (name, email, role, signing order, authentication) for multiple recipients on the same template - documenso_use_template_v2_beta(recipients: object[], templateId: integer, prefillFields?: object[]) — Tool to create a document from a template. Use when you need to instantiate a template with recipients and optional prefills. ## Example prompts - "What can I do in Documenso?" - "Show me a summary of my Documenso account" ## Links Docs: https://mcp.ai/docs/mcps/documenso Website: https://mcp.ai/mcps/documenso