Unofficial MCP server for airSlate SignNow — upload documents, send signing invites, track status, download signed PDFs
SignNow MCP has 11 tools with consistent naming (verb_noun pattern) and basic descriptions. However, parameter descriptions are minimal or absent for most tools, and output schemas are not formally documented. Error handling returns JSON with error fields but lacks recovery guidance. No tool annotations (readOnlyHint, destructiveHint) despite clear risk classifications. Descriptions average ~80 chars (below 194-char baseline), and many parameters lack type constraints (e.g., 'role' in add_signature_field is free-form string, not enum). The server is functional but falls short of production-grade quality.
Add a signature field to a document at the specified position.
Cancel all pending signing invites for a document.
Create a new document from a SignNow template.
Download a signed PDF from SignNow and save it locally.
Get document details and signing status from SignNow.
List all documents in the SignNow account.
Parameter descriptions missing or minimal. Most parameters (e.g., 'role' in add_signature_field, 'event' in register_webhook) lack descriptions explaining valid values, constraints, or format. LLMs cannot infer parameter semantics from names alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are classified with Risk levels (READ_ONLY, WRITE, REVERSIBLE) in metadata but not exposed via MCP tool annotations. Agents cannot determine which tools are safe to retry or have side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
List all document templates in the SignNow account.
Register a webhook to be notified when a document event occurs.
Send a role-based signing invite with specific field assignments.
Send a freeform e-signature invite for a document.
Upload a PDF file to SignNow for signing.
Output schemas not formally documented. Tools return JSON strings but no schema is declared in tool definitions. Agents cannot plan downstream calls or extract fields reliably. E.g., get_document returns 'roles', 'field_invites', 'signatures' but this is not visible in the tool schema.
Free-form string parameters lack enums or constraints. 'role' in add_signature_field, 'event' in register_webhook, and 'signers_json' in send_role_based_invite accept arbitrary strings. No validation guidance or enum constraints prevent hallucinated values.
Error responses lack recovery guidance. Errors return JSON with 'error' field but do not suggest next steps (e.g., 'File not found: /path/to/file' does not suggest checking the path or listing available files). Agents cannot self-correct.