ZapSign vs Hindsight

A side-by-side look at the ZapSign and Hindsight MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

ZapSign logoZapSignAgreements & Coordination · Remote HTTP/SSEZapSign electronic document signing via the official API: create documents for signature (from PDF,56GoodAuth: not declaredHindsight logoHindsightKnowledge & Memory · Local subprocess (stdio)Hindsight: Agent Memory That Works Like Human Memory - Built for AI Agents to manage Long Term Memory57GoodAuth: api key required

Verdict: choose ZapSign for agreements & coordination work over a hosted endpoint; choose Hindsight for knowledge & memory as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

ZapSign logoChoose ZapSign when

  • You need dedicated capabilities in the Agreements & Coordination domain.
  • You prefer a remote HTTP/SSE transport.
  • You want tools like zapsign_list_accounts, zapsign_documents_list, zapsign_documents_get.
Explore ZapSign

Hindsight logoChoose Hindsight when

  • You need dedicated capabilities in the Knowledge & Memory domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: HINDSIGHT_API_LLM_API_KEY, HINDSIGHT_API_LLM_PROVIDER, HINDSIGHT_DB_PASSWORD.
Explore Hindsight

Feature & specification comparison

Rows where the two servers differ are marked.

SpecZapSign logoZapSignHindsight logoHindsight
CategoryAgreements & CoordinationKnowledge & Memory
Quality signal56/100 · Good57/100 · Good
Install commandConfirmedConfirmed
TransportRemote HTTP/SSELocal subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredFree
Required env varsNone listedHINDSIGHT_API_LLM_API_KEYHINDSIGHT_API_LLM_PROVIDERHINDSIGHT_DB_PASSWORD
Verified ownerCommunity listingCommunity listing
GitHub stars053,599
Directory activity 0 views 0 installs 0 upvotes 15 views 0 installs 0 upvotes
Tools35Not listed

Tools & capabilities

ZapSign tools 35

  • zapsign_list_accountsLista contas ZapSign vinculadas a este install — id e apelido.
  • zapsign_documents_listDocumentos 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_getDocumentos 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_logDocumentos 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_createCriar/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_templateCriar/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_updateCriar/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_deleteCriar/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_refuseCriar/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_signaturesCriar/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_docCriar/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_getSignatários no ZapSign (leitura). Ação: get (signer_token — status, sign_url, visualizações, geo, auth_mode etc.). [Flattened action: get]
  • +23 more on the listing page

Hindsight tools

No tool names declared yet. Check the project README from the listing page.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

ZapSign

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "zapsign": {
      "url": "https://api.mcp.ai/p_zapsign"
    }
  }
}

Hindsight

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "vectorize-io-hindsight": {
      "command": "npx",
      "args": [
        "-y",
        "@vectorize-io/hindsight-coding-agents"
      ],
      "env": {
        "HINDSIGHT_API_LLM_API_KEY": "YOUR_HINDSIGHT_API_LLM_API_KEY_HERE",
        "HINDSIGHT_API_LLM_PROVIDER": "YOUR_HINDSIGHT_API_LLM_PROVIDER_HERE",
        "HINDSIGHT_DB_PASSWORD": "YOUR_HINDSIGHT_DB_PASSWORD_HERE"
      }
    }
  }
}

Frequently asked questions

ZapSign is categorized under Agreements & Coordination and uses a remote HTTP/SSE transport. Hindsight belongs to Knowledge & Memory and uses a local stdio subprocess. Pick ZapSign for agreements & coordination work and Hindsight for knowledge & memory.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

ZapSign has no declared pricing — check the project's own site. Hindsight is listed as free. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add zapsign and vectorize-io-hindsight as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, ZapSign has a quality signal of 56/100 (Good) with 0 views, 0 installs and 0 GitHub stars. Hindsight has 57/100 (Good) with 15 views, 0 installs and 53,599 GitHub stars.