Filesystem vs ZapSign
A side-by-side look at the Filesystem and ZapSign MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Filesystem for file systems work as a local process; choose ZapSign for agreements & coordination over a hosted endpoint. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Filesystem when
- You need dedicated capabilities in the File Systems domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
path, head, tail.
Choose 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.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | File Systems | Agreements & Coordination |
| Quality signal | 85/100 · Excellent | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Verified | Community listing |
| GitHub stars | 91,546 | 0 |
| Directory activity | 11 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 17 | 35 |
| Full listing | View Filesystem | View ZapSign |
Tools & capabilities
Filesystem tools 17
pathheadtailpathscontenteditsoldTextnewTextdryRunsortBysourcedestination- +5 more on the listing page
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
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.
Filesystem
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem"
]
}
}
}
ZapSign
{
"mcpServers": {
"zapsign": {
"url": "https://api.mcp.ai/p_zapsign"
}
}
}
Frequently asked questions
Filesystem is categorized under File Systems and uses a local stdio subprocess. ZapSign belongs to Agreements & Coordination and uses a remote HTTP/SSE transport. Pick Filesystem for file systems work and ZapSign for agreements & coordination.
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.
Filesystem is listed as free. Auth: no auth required. ZapSign has no declared pricing — check the project's own site. 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 filesystem and zapsign as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Filesystem has a quality signal of 85/100 (Excellent) with 11 views, 0 installs and 91,546 GitHub stars. ZapSign has 56/100 (Good) with 0 views, 0 installs and 0 GitHub stars.