DocuSign MCP Server (patched)
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DocuSign MCP Server (patched) list all available templates"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-docusign (patched)
A Model Context Protocol server exposing DocuSign eSignature operations, authenticated via JWT Grant (headless / service-to-service — no browser OAuth). Suitable for unattended AI-agent runtimes.
Fork of luthersystems/mcp-server-docusign (MIT) with bug fixes found during live integration testing. Used as a self-hosted MCP tool channel in an internal multi-agent AI platform.
Why this fork
The upstream server's status/document tools had several bugs surfaced when integrating against the DocuSign demo environment. This fork fixes them:
Tool | Bug | Fix |
| Accessed non-existent | Removed the field |
| Returned | Return page count instead |
| DocuSign requires | Default |
download_envelope_document works as-is — pass a valid document_id such as combined,
certificate, or an id returned by list_envelope_documents.
Related MCP server: MCP Server ZapSign
Tools (8)
Templates:
list_templates,get_template_definitionSend:
create_envelope_from_template,create_envelope_from_documentsTrack:
get_envelope_status,list_envelopesDocuments:
list_envelope_documents,download_envelope_document
Configuration (JWT Grant)
Provide via environment variables:
Env | Description |
|
|
| DocuSign app Integration Key (client ID) |
| User GUID to impersonate |
| RSA private key, base64-encoded (single line); or |
|
|
One-time DocuSign setup: create an Integration Key, add an RSA keypair, grant consent for
signature impersonation. See DocuSign JWT Grant.
Run
stdio MCP server (Python ≥ 3.11):
uvx --from git+https://github.com/<you>/mcp-server-docusign@<commit> mcp-server-docusignLicense
MIT — inherited from upstream luthersystems/mcp-server-docusign. See LICENSE.
Available Tools
9 toolscreate_envelope_from_documentsA
Create an envelope from documents (not using a template).
Args:
documents: List of documents, each with name, documentId,
fileExtension, and EXACTLY ONE content source:
- documentBase64: inline base64 content, OR
- documentPath: a file path readable by the server, OR
- documentUrl: an HTTP(S) URL to download
recipients: Dictionary of recipient types to lists:
- signers: List of signers with name, email, recipientId, routingOrder
email_subject: Subject line for the email.
email_blurb: Optional body text for the email.
status: Envelope status - "sent" to send immediately or "created" for draft.
Returns: Dictionary with envelopeId and status.
Inputs: documents (required), recipients (required), email_subject (required), status, +1 more. Returns: object
create_envelope_from_templateA
Create an envelope from a DocuSign template.
Args: template_id: The template ID to use. email_subject: Subject line for the email. role_assignments: List of role assignments with keys: - roleName: The role name in the template - name: Recipient's full name - email: Recipient's email address - clientUserId: (optional) For embedded signing email_blurb: Optional body text for the email. status: Envelope status - "sent" to send immediately or "created" for draft.
Returns: Dictionary with envelopeId and status.
Inputs: template_id (required), email_subject (required), role_assignments (required), status, +1 more. Returns: object
create_templateA
Create a new DocuSign template (documents + signer roles + signing fields).
Args:
name: Template name.
documents: List of documents, each with name, documentId,
optional fileExtension, and EXACTLY ONE content source:
- documentBase64: inline base64 content, OR
- documentPath: a file path readable by the server, OR
- documentUrl: an HTTP(S) URL to download
signers: List of signer roles, each:
- roleName: Role name (e.g. "Signer", "甲方")
- recipientId: Recipient ID (e.g. "1")
- routingOrder: (optional) signing order — lower signs first
("1" then "2" = sequential; same value = parallel)
- name / email: (optional) default signer for the role; usually left
empty and filled at envelope time via create_envelope_from_template
- tabs: (optional) signing-field positions; a dict of lists where each tab
has documentId, pageNumber, xPosition, yPosition (+ optional tabLabel).
Supported tab types: signHereTabs, initialHereTabs, dateSignedTabs, textTabs
description: Optional template description.
email_subject: Optional default email subject (defaults to template name).
Returns: Dictionary with templateId, name, uri.
Inputs: name (required), signers (required), documents (required), description, +1 more. Returns: object
download_envelope_documentA
Download a specific document from an envelope.
Args: envelope_id: The envelope ID. document_id: The document ID to download.
Returns: Dictionary with document content (base64-encoded) and metadata.
Inputs: document_id (required), envelope_id (required). Returns: object
get_envelope_statusA
Get the status and metadata of an envelope.
Args: envelope_id: The envelope ID to query.
Returns: Dictionary with envelope details including envelopeId, status, emailSubject, createdDateTime, sentDateTime, completedDateTime, etc.
Inputs: envelope_id (required). Returns: object
get_template_definitionA
Get the definition and details of a specific template.
Args: template_id: The template ID to retrieve.
Returns: Dictionary with complete template details including roles, tabs, documents, and other metadata.
Inputs: template_id (required). Returns: object
list_envelope_documentsB
List all documents in an envelope.
Args: envelope_id: The envelope ID to query.
Returns: Dictionary with list of documents in the envelope.
Inputs: envelope_id (required). Returns: object
list_envelopesA
List envelopes with optional filters.
Args: from_date: Start date filter (ISO 8601 format, e.g., "2024-01-01T00:00:00Z"). to_date: End date filter (ISO 8601 format). status: Status filter (e.g., "sent", "delivered", "completed", "declined").
Returns: Dictionary with list of envelopes and metadata.
Inputs: status, to_date, from_date. Returns: object
list_templatesA
List available DocuSign templates.
Args: search_text: Optional search text to filter templates by name.
Returns: Dictionary with list of templates and metadata.
Inputs: search_text. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool has a clear, distinct purpose: envelope creation (two distinct modes), envelope querying, document listing/downloading, and template operations are all well-separated. The only near-overlap is create_envelope_from_template vs create_envelope_from_documents, but their input parameters and use cases are clearly different.
All tool names follow a consistent verb_noun snake_case pattern (download_, get_, create_, list_). The two create_envelope variants are clearly named to indicate their source. No mixed conventions or vague verbs.
With 9 tools, the server is well-scoped for DocuSign envelope and template management. Each tool covers a meaningful operation without excessive fragmentation or redundancy.
The core lifecycle for envelopes (create, list, status, documents) and templates (create, list, get definition) is covered. Minor gaps exist: no envelope void/update, no template update/delete, but these are not critical for basic signing workflows and can be worked around.
Maintenance
Related MCP Connectors
Hosted MCP server for Dropbox Sign — signature requests, templates, and account for AI agents.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
Secure Docusign Navigator integration for AI assistants to access and analyze agreement data.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables users to create, manage, and track electronic signing requests and templates through Claude Desktop and other MCP-compatible clients. Provides multi-tenant authentication with customer API keys for secure document workflow operations.66 npm-

MCP Server ZapSignofficial
AlicenseNot gradedqualityBmaintenanceEnables integration with the ZapSign API for electronic document signing and management, including document, template, signer, webhook, and background check operations through MCP tools.454 npm1MIT- AlicenseAqualityCmaintenanceExposes the SumoSign signing API to AI agents, allowing document upload, envelope creation, and tracking, with signing always done by human recipients.15148 npmMIT
- FlicenseNot gradedqualityDmaintenanceExposes the ZapSign REST API as MCP tools, enabling LLM-driven document workflows such as creating documents, managing signers, filling templates, running background checks, and handling webhooks.-