{"resource":"https://mcp.assinafy.com.br/mcp","authorization_servers":["https://auth.assinafy.com.br"],"scopes_supported":["account:read","documents:read","documents:write","templates:read","templates:write"],"bearer_methods_supported":["header"],"resource_name":"Assinafy MCP Server","name":"assinafy-mcp-server","version":"v3.0.7","protocol":"2026-07-28","transport":"streamable-http","stateless":true,"status":"ok","tools":[{"name":"assinafy_find_documents","title":"Find and inspect documents","description":"Find a document or check signing progress. Use list to search; get to inspect status, assignment, signer IDs and artifacts; activities for the event timeline; notifications for WhatsApp delivery history. Read before retrying a send or following up. 100% signatures does not mean certification is finished.","annotations":{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Find and inspect documents"}},{"name":"assinafy_prepare_document","title":"Prepare a document","description":"Prepare a PDF before requesting signatures. upload accepts PDF bytes and returns a document ID without invitations. rename changes a document's name before an assignment exists. Continue with find_documents and request_signatures action from_document.","annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Prepare a document"}},{"name":"assinafy_request_signatures","title":"Request signatures","description":"Send a document for signature using exactly one source. from_pdf uploads new PDF bytes, waits for processing and creates or reuses email signers. from_document uses an existing document_id and signer IDs; inspect the document first and do not repeat an existing assignment. from_template generates a document and assignment from a saved template; discover roles and field IDs first. These actions send invitations and can consume credits: use recipients authorized by the user. After a partial failure, inspect the retained document ID and continue from_document instead of uploading again.","annotations":{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Request signatures"}},{"name":"assinafy_follow_up_assignment","title":"Follow up on signatures","description":"Follow up on an existing assignment after checking find_documents. resend sends a reminder to one authorized pending signer and may consume notification credits. set_expiration changes the expiry using an explicit RFC 3339 timestamp. Use returned document, assignment and signer IDs; never repeat a reminder just because progress is unchanged.","annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Follow up on signatures"}},{"name":"assinafy_find_signers","title":"Find signers","description":"Resolve a recipient to a workspace signer ID. list searches the directory; get inspects a known signer. Check exact contact details and ask about ambiguous matches before sending invitations.","annotations":{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Find signers"}},{"name":"assinafy_save_signer","title":"Save signer contact details","description":"create adds a workspace contact without sending invitations; find_signers first to avoid duplicates. update corrects a shared contact subject to Assinafy's verification restrictions. Changing an unverified channel invalidates old links; follow up only after the correction succeeds and the user has authorized a reminder.","annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Save signer contact details"}},{"name":"assinafy_find_templates","title":"Find saved templates","description":"Discover saved templates before requesting signatures. list returns roles, pages, field_id and placement labels; get inspects one template where the compatibility endpoint is supported. Match field names with check_fields. Template authoring stays in Assinafy.","annotations":{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Find saved templates"}},{"name":"assinafy_check_fields","title":"Find and validate fields","description":"Prepare template values or collect field placements. list finds reusable definitions; get inspects one field; validate checks values without creating a document. Match definitions to template placement field_id, ask about ambiguous names, and check each validation result's success before requesting signatures.","annotations":{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Find and validate fields"}},{"name":"assinafy_download_document","title":"Download a document or page","description":"Retrieve bytes only when needed. artifact downloads original (default), certificated, certificate-page, pades or bundle; wait for certificated status and artifact availability before downloading the signed PDF. page downloads a preview using a page_id returned by find_documents. Results contain base64 bytes.","annotations":{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Download a document or page"}},{"name":"assinafy_delete_document","title":"Delete a document","description":"Delete a document only when the user's instruction explicitly authorizes deletion. Inspect its current state first; Assinafy enforces which documents may be deleted.","annotations":{"destructiveHint":true,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false,"title":"Delete a document"}},{"name":"assinafy_verify_document","title":"Verify a signed document","description":"Verify a signed document using its actual Assinafy SHA-1 signature hash. Public lookup; requires no workspace connection and sends no credential upstream.","annotations":{"idempotentHint":false,"openWorldHint":true,"readOnlyHint":true,"title":"Verify a signed document"}}]}