# ZapSign [Health: Active]

**Category:** 🤝 Agreements & Coordination  
**Repository:** https://github.com/mcp-dir/zapsign-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/zapsign

## Description
ZapSign electronic document signing via the official API: create documents for signature (from PDF,

## Tools
Capabilities this server exposes over MCP:

- **zapsign_list_accounts** — Lista contas ZapSign vinculadas a este install — id e apelido.
- **zapsign_documents_list** — Documentos de assinatura no ZapSign (leitura).
Ações: list (filtros: page, status pending|signed|refused, folder_path, deleted, signer_email, created_from/created_to YYYY-MM-DD, sort_order asc|desc, include_signers); get (doc_token — detalhe + signatários + extra_docs + URLs de arquivo, que expiram em 60min); signer_log (doc_token — trilha de auditoria; download_pdf=true retorna o PDF do log).

[Flattened action: list]
- **zapsign_documents_get** — Documentos de assinatura no ZapSign (leitura).
Ações: list (filtros: page, status pending|signed|refused, folder_path, deleted, signer_email, created_from/created_to YYYY-MM-DD, sort_order asc|desc, include_signers); get (doc_token — detalhe + signatários + extra_docs + URLs de arquivo, que expiram em 60min); signer_log (doc_token — trilha de auditoria; download_pdf=true retorna o PDF do log).

[Flattened action: get]
- **zapsign_documents_signer_log** — Documentos de assinatura no ZapSign (leitura).
Ações: list (filtros: page, status pending|signed|refused, folder_path, deleted, signer_email, created_from/created_to YYYY-MM-DD, sort_order asc|desc, include_signers); get (doc_token — detalhe + signatários + extra_docs + URLs de arquivo, que expiram em 60min); signer_log (doc_token — trilha de auditoria; download_pdf=true retorna o PDF do log).

[Flattened action: signer_log]
- **zapsign_documents_write_create** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: create]
- **zapsign_documents_write_create_from_template** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: create_from_template]
- **zapsign_documents_write_update** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: update]
- **zapsign_documents_write_delete** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: delete]
- **zapsign_documents_write_refuse** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: refuse]
- **zapsign_documents_write_place_signatures** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: place_signatures]
- **zapsign_documents_write_add_extra_doc** — Criar/alterar documentos de assinatura no ZapSign.
Ações:
- create (data): cria documento. Campos: name*, signers[]* (cada {name, email, phone_country, phone_number, auth_mode}); UMA fonte de arquivo: url_pdf | base64_pdf | url_docx | base64_docx | markdown_text; opc lang, disable_signer_emails, date_limit_to_sign, signature_order_active, folder_path, external_id.
- create_from_template (data): cria via template. Campos: template_id*, signer_name*, data[]* (cada {de, para} substituindo {{VAR}}); opc signer_email, send_automatic_email, send_automatic_whatsapp, folder_path, external_id, lang.
- update (doc_token, data): só com doc "em andamento". Campos: name, date_limit_to_sign, folder_path, extra_docs[].
- delete (doc_token): soft-delete.
- refuse (data): cancela/recusa. Campos: doc_token*, rejected_reason*, notify_signer.
- place_signatures (doc_token, data): posiciona assinaturas por coordenadas. Campo: rubricas[] ({signer_token, page 0-based, relative_position_left/bottom, relative_size_x/y, type signature|visto}).
- add_extra_doc (doc_token, data): anexa PDF extra. Campos: name*, url_pdf | base64_pdf.

[Flattened action: add_extra_doc]
- **zapsign_signers_get** — Signatários no ZapSign (leitura).
Ação: get (signer_token — status, sign_url, visualizações, geo, auth_mode etc.).

[Flattened action: get]
- **zapsign_signers_write_add** — Gerenciar signatários no ZapSign.
Ações:
- add (doc_token, data): adiciona signatário. Campos: name*, email*; opc phone_country, phone_number, auth_mode (assinaturaTela|tokenEmail|tokenSms|tokenWhatsapp), lock_name/email/phone, qualification, send_automatic_email, send_automatic_whatsapp, require_document_photo.
- update (signer_token, data): atualiza (só antes de assinar) ou reenvia lembrete. Mesmos campos de add.
- remove (signer_token): remove (não pode remover quem já assinou nem o único signatário).
- sign (data): assina em lote via API (assíncrono). Campos: signer_tokens[]*; opc selfie_photo, document_photo_url. (user_token é injetado automaticamente.)

[Flattened action: add]
- **zapsign_signers_write_update** — Gerenciar signatários no ZapSign.
Ações:
- add (doc_token, data): adiciona signatário. Campos: name*, email*; opc phone_country, phone_number, auth_mode (assinaturaTela|tokenEmail|tokenSms|tokenWhatsapp), lock_name/email/phone, qualification, send_automatic_email, send_automatic_whatsapp, require_document_photo.
- update (signer_token, data): atualiza (só antes de assinar) ou reenvia lembrete. Mesmos campos de add.
- remove (signer_token): remove (não pode remover quem já assinou nem o único signatário).
- sign (data): assina em lote via API (assíncrono). Campos: signer_tokens[]*; opc selfie_photo, document_photo_url. (user_token é injetado automaticamente.)

[Flattened action: update]
- **zapsign_signers_write_remove** — Gerenciar signatários no ZapSign.
Ações:
- add (doc_token, data): adiciona signatário. Campos: name*, email*; opc phone_country, phone_number, auth_mode (assinaturaTela|tokenEmail|tokenSms|tokenWhatsapp), lock_name/email/phone, qualification, send_automatic_email, send_automatic_whatsapp, require_document_photo.
- update (signer_token, data): atualiza (só antes de assinar) ou reenvia lembrete. Mesmos campos de add.
- remove (signer_token): remove (não pode remover quem já assinou nem o único signatário).
- sign (data): assina em lote via API (assíncrono). Campos: signer_tokens[]*; opc selfie_photo, document_photo_url. (user_token é injetado automaticamente.)

[Flattened action: remove]
- **zapsign_signers_write_sign** — Gerenciar signatários no ZapSign.
Ações:
- add (doc_token, data): adiciona signatário. Campos: name*, email*; opc phone_country, phone_number, auth_mode (assinaturaTela|tokenEmail|tokenSms|tokenWhatsapp), lock_name/email/phone, qualification, send_automatic_email, send_automatic_whatsapp, require_document_photo.
- update (signer_token, data): atualiza (só antes de assinar) ou reenvia lembrete. Mesmos campos de add.
- remove (signer_token): remove (não pode remover quem já assinou nem o único signatário).
- sign (data): assina em lote via API (assíncrono). Campos: signer_tokens[]*; opc selfie_photo, document_photo_url. (user_token é injetado automaticamente.)

[Flattened action: sign]
- **zapsign_templates_list** — Templates (modelos DOCX) no ZapSign (leitura).
Ações: list (page — 20/página); get (template_token — inclui inputs[] das variáveis {{VAR}}).

[Flattened action: list]
- **zapsign_templates_get** — Templates (modelos DOCX) no ZapSign (leitura).
Ações: list (page — 20/página); get (template_token — inclui inputs[] das variáveis {{VAR}}).

[Flattened action: get]
- **zapsign_templates_write_create** — Gerenciar templates no ZapSign.
Ações:
- create (data): cria template DOCX. Campos: name*, docx_url | base64_docx*; opc first_signer{}, lang, observers[], folder_path/folder_token, redirect_link.
- update (template_token, data): metadados (o DOCX em si é imutável). Campos: name, lang, observers[], first_signer, folder_path/token, redirect_link.
- delete (template_token): irreversível.

[Flattened action: create]
- **zapsign_templates_write_update** — Gerenciar templates no ZapSign.
Ações:
- create (data): cria template DOCX. Campos: name*, docx_url | base64_docx*; opc first_signer{}, lang, observers[], folder_path/folder_token, redirect_link.
- update (template_token, data): metadados (o DOCX em si é imutável). Campos: name, lang, observers[], first_signer, folder_path/token, redirect_link.
- delete (template_token): irreversível.

[Flattened action: update]
- **zapsign_templates_write_delete** — Gerenciar templates no ZapSign.
Ações:
- create (data): cria template DOCX. Campos: name*, docx_url | base64_docx*; opc first_signer{}, lang, observers[], folder_path/folder_token, redirect_link.
- update (template_token, data): metadados (o DOCX em si é imutável). Campos: name, lang, observers[], first_signer, folder_path/token, redirect_link.
- delete (template_token): irreversível.

[Flattened action: delete]
- **zapsign_webhooks_write_create** — Gerenciar webhooks no ZapSign (não há endpoint de listagem na API).
Ações:
- create (data): cria webhook (1 por conta cobre todos os docs). Campos: url*; opc type ("" = todos | doc_signed | doc_created | doc_deleted | ...), doc_token, headers. Retorna {id}.
- delete (id): remove webhook pelo id retornado na criação.

[Flattened action: create]

Bulk support: accepts ids for batched execution.
- **zapsign_webhooks_write_delete** — Gerenciar webhooks no ZapSign (não há endpoint de listagem na API).
Ações:
- create (data): cria webhook (1 por conta cobre todos os docs). Campos: url*; opc type ("" = todos | doc_signed | doc_created | doc_deleted | ...), doc_token, headers. Retorna {id}.
- delete (id): remove webhook pelo id retornado na criação.

[Flattened action: delete]

Bulk support: accepts ids for batched execution.
- **zapsign_checks_get** — Verificação de antecedentes no ZapSign (leitura).
Ação: get (check_id — status not_started|in_progress|delayed|error|completed + pdf_report).

[Flattened action: get]

Bulk support: accepts check_ids for batched execution.
- **zapsign_checks_write_create** — Criar verificação de antecedentes no ZapSign (consome créditos).
Ação: create (data). Campos: country* (BR|CO|CL|MX|PE), type* (ex.: person | credit_person_br), user_authorized: true*, e um identificador: national_id | foreign_id.

[Flattened action: create]
- **zapsign_account_plan** — Conta ZapSign (leitura).
Ações: plan (info do plano: créditos, status, período); users (page — lista usuários da conta, 25/página).

[Flattened action: plan]
- **zapsign_account_users** — Conta ZapSign (leitura).
Ações: plan (info do plano: créditos, status, período); users (page — lista usuários da conta, 25/página).

[Flattened action: users]
- **zapsign_account_write_create_user** — Gerenciar usuários da conta ZapSign.
Ações:
- create_user (data): adiciona usuário. Campos: email*; opc role (member|admin|self_docs_limited), first_name, last_name, phone_country, phone_number.
- delete_user (email): remove usuário (donos não podem ser removidos).

[Flattened action: create_user]
- **zapsign_account_write_delete_user** — Gerenciar usuários da conta ZapSign.
Ações:
- create_user (data): adiciona usuário. Campos: email*; opc role (member|admin|self_docs_limited), first_name, last_name, phone_country, phone_number.
- delete_user (email): remove usuário (donos não podem ser removidos).

[Flattened action: delete_user]
- **show_version** — Show the current MCP platform and adapter versions.
- **report_bug** — Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
- **connect** — Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
- **toolkit_info** — Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
- **marketplace** — The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
- **authenticate** — MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "zapsign": {
    "url": "https://api.mcp.ai/p_zapsign"
  }
}
```

## Documentation

## What ZapSign MCP server does

ZapSign MCP server gives AI agents access to the official ZapSign API through MCP. It is intended for workflows that create, send, track, and administer electronic signing requests rather than for local document processing.

The available operations cover:

- Creating signing documents from PDFs, DOCX files, URLs, or ZapSign templates
- Listing and inspecting documents, including signer activity logs
- Adding, updating, removing, and signing on behalf of signers
- Positioning signatures and attaching additional documents
- Creating, updating, and deleting DOCX templates
- Creating and deleting webhooks
- Reading account plans and users, then adding or removing account users
- Starting and reading background checks
- Listing ZapSign accounts associated with an installation

The repository describes 29 tools, with both read and write operations. Examples include listing pending documents, checking a document's signature status, and creating a document with a named signer.

## How it works

ZapSign MCP server is hosted at `https://api.mcp.ai/p_zapsign` and communicates with clients over MCP over HTTP. An MCP-compatible client sends tool calls to that endpoint, which connects those requests to ZapSign's official API. The repository identifies Claude Desktop, Cursor, VS Code, Cline, Continue, ChatGPT, Manus, OpenClaw, and other MCP clients as supported connection targets.

The tool names distinguish resources and actions. For example, document tools provide separate operations for listing, retrieving, creating, updating, refusing, deleting, and placing signatures. Account plan and user access are exposed as separate tools, while webhook management supports creation and deletion but not listing because the ZapSign API does not provide a listing endpoint.

## Setup and configuration

Generate a ZapSign API token in the ZapSign dashboard under Settings, Integrations, and ZapSign API. The hosted MCP connection can then be added using the endpoint above. The README also provides one-click or client-specific installation links for Claude, Cursor, and VS Code.

For Claude, add a custom connector with the server URL. Cursor and VS Code have dedicated installation links that configure the same HTTP endpoint. Other clients can connect if they support MCP over HTTP. The documentation also mentions magic-link login without a password as an available login method.

## Tools and capabilities

The document tools support creation from source files, URLs, and templates, along with updates, refusal, deletion, signature placement, extra-document attachments, and status-related reads. Signer tools handle the people involved in a signing request, including adding, editing, removing, and completing a signature.

Template tools manage DOCX-based models. Webhook tools create and remove event callbacks. Account tools expose plan details such as credits, status, and billing period, list account users 25 at a time, and manage account users. Background-check creation is also available alongside result reads.

## Limitations and notes

The hosted MCP server is proprietary. The GitHub repository is an MIT-licensed wrapper containing manifests, documentation, and skills; that license does not make the hosted service open source.

Background-check creation consumes account credits. Webhook listing is unavailable because the underlying ZapSign API has no endpoint for it. Data returned by tools is sent to the LLM host selected by the user, such as Claude, ChatGPT, Cursor, or another agent host. The repository recommends considering a host plan with training opt-out when handling this data.

ZapSign MCP server is therefore best suited to users who already have a ZapSign account and API access, and who accept the hosted MCP deployment and the data-handling path through their chosen LLM client.

_Full upstream README: https://allmcps.com/mcp/zapsign/readme_

