The digisign-mcp server enables AI assistants like Claude Code to create, manage, and send digital signature envelopes via the DigiSign.cz API.
Read/Query capabilities:
List envelopes — browse with optional filters by status (draft, sent, completed, expired, declined, cancelled) and pagination
Get envelope details — retrieve full info on a specific envelope
List documents/recipients/tags — view attachments, recipient signing statuses, and placed signature tags
Get download URL — obtain a temporary (5-min) link for signed documents from completed envelopes
Get account info — check credits, plan, and usage
Write/Action capabilities:
Create envelope — start a new draft with custom name, email body, and sender details
Upload & attach document — upload a local PDF or DOCX file to an envelope
Add recipient — add signers, approvers, in-person signers, or CC recipients (with optional SMS auth)
Add signature tag — place signature, approval, text, date, or checkbox tags using placeholder-based or coordinate-based positioning
Send envelope — dispatch a draft to all recipients for signing
Cancel envelope — cancel a sent envelope (signers are notified)
Delete/Discard envelope — permanently delete or discard a draft envelope
Safety controls: Permissions can be configured to require manual approval for irreversible actions like sending or canceling envelopes.
DigiSign MCP Server
MCP server for the DigiSign.cz digital signature API. Built for Claude Code.
Create, send, and manage digital signature envelopes directly from your AI coding assistant.
Setup
1. Get DigiSign API keys
In your DigiSign dashboard: Settings > Pro vyvojare > API klice. Create an API key pair (access key + secret key).
2. Install dependencies
git clone https://github.com/davidsimoes/digisign-mcp.git
cd digisign-mcp
npm install3. Register with Claude Code
claude mcp add digisign \
-e DIGISIGN_ACCESS_KEY=your_access_key \
-e DIGISIGN_SECRET_KEY=your_secret_key \
-- node /path/to/digisign-mcp/src/index.jsTools
Read tools (safe to auto-approve)
Tool | Description |
| List envelopes with optional status/page filters |
| Get detailed envelope info (status, recipients, documents) |
| List documents attached to an envelope |
| List recipients and their signing status |
| List signature/form tags placed on documents |
| Get temporary download URL for signed documents |
| Get account info (credits, plan, usage) |
Write tools (recommend manual approval)
Tool | Description |
| Create a new draft envelope |
| Upload a PDF/DOCX and attach to an envelope |
| Add a signer, approver, or CC recipient |
| Place signature/form tag (placeholder or coordinate positioning) |
| Send envelope for signing (emails all recipients) |
| Cancel a sent envelope (notifies signers) |
| Delete a draft envelope |
| Discard a draft envelope (use when API key lacks delete permission) |
Safety recommendations
Add irreversible write tools to your deny list in ~/.claude/settings.local.json:
{
"permissions": {
"deny": [
"mcp__digisign__send_envelope",
"mcp__digisign__cancel_envelope",
"mcp__digisign__delete_envelope",
"mcp__digisign__discard_envelope"
]
}
}This ensures Claude Code prompts for confirmation before sending, cancelling, or deleting envelopes.
Safe preparation tools (create_envelope, upload_and_attach_document, add_recipient, add_signature_tag) can be added to the allow list since they only modify draft envelopes.
Signature tag positioning
Two approaches for placing signature tags on documents:
Placeholder-based (recommended)
Add invisible text markers in your document (e.g., white-colored text like {sign_here}). DigiSign finds them in the PDF text layer and positions the signature tag relative to them.
add_signature_tag(
envelopeId: "...",
recipientId: "...",
documentId: "...",
placeholder: "{sign_here}",
positioning: "bottom_left",
scale: 70
)Important: DigiSign's placeholder regex only allows [\w\-\{\}\[\]\(\)=,] — no spaces or diacritics. Use simple ASCII placeholders like {sign_ceo}, {sign_client}.
Positioning: bottom_left places the signature box above the placeholder text (standard for contracts where the signature goes above the printed name). scale: 70 keeps the box compact.
Note: documentId is required even when using placeholder positioning.
Coordinate-based
Places tag at exact page coordinates (in points):
add_signature_tag(
envelopeId: "...",
recipientId: "...",
documentId: "...",
page: 5,
xPosition: 320,
yPosition: 680
)Placeholder-based is more robust — it survives document layout changes.
Typical workflow
create_envelope— create a draftupload_and_attach_document— attach the PDFadd_recipient— add signers (mobile number required for SMS auth)add_signature_tag— place signature tagssend_envelope— send for signing
Requirements
Node.js 18+
DigiSign.cz account with API access
Claude Code (or any MCP-compatible client)
License
MIT
Built by David Simoes / Sounds Good Agency