Assinafy
by assinafy · remote · no sign-in to list tools · v3.2.0 · published by GitHub user assinafy
Send documents for legally valid e-signature in Brazil, track signers and download signed files.
27 tools: 3 can delete or cancel things, 2 do something that can't be undone, 10 change things and 12 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things10Claude Code: ask: see these tools
- Only reads12Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http assinafy https://mcp.assinafy.com.br/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "assinafy_place_fields" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "open": a word for a change.
The server marks "assinafy_review_signature_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "assinafy_review_signature_request" says "request": a word for a change.
The description mentions "credential".
What this check looks forMatched text
description: "...es no workspace connection and sends no credential upstream."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
27 tools
Deletes or cancels 3Claude Code: deny
assinafy_delete_documentDelete a document only when the user's instruction explicitly authorizes deletion.No findings
Why it is in this group
- The name "assinafy_delete_document" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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 the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Delete a document
assinafy_rename_documentUpdate a document's name.No findings
Why it is in this group
- The name "assinafy_rename_document" says "rename": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update a document's name. Only allowed before any assignment is created (i.e. while the document is in `uploaded` or `metadata_ready` status and has no signers yet); once the signature process has started or the document is certificated, the name is locked. The name is normalized: diacritics are removed and unsupported characters are replaced with dashes.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Rename document
assinafy_update_signerUpdate a signer's information.No findings
Why it is in this group
- The name "assinafy_update_signer" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Update a signer's information. **Verification integrity:** `email` / `whatsapp_phone_number` cannot be changed while the signer has verified that channel on an in-flight (not yet certificated) document — the response is `400` naming the offending document(s). Already-certificated documents do not block updates. Changing a channel that has *unverified* in-flight requests rotates their access/verification codes (invalidating previously sent links/OTPs); use the resend endpoint to redeliver. `full_name` can always be updated.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Update signer
Can't be undone 2Claude Code: ask
assinafy_resend_notificationSend one reminder to a pending signer in the assignment's active step, after confirming with assinafy_get_document that they have not signed.No findings
Why it is in this group
- The name "assinafy_resend_notification" says "resend": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send one reminder to a pending signer in the assignment's active step, after confirming with assinafy_get_document that they have not signed. May consume notification credits; never repeat a reminder only because progress is unchanged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Remind a signer
assinafy_send_pdf_for_signatureUpload a new PDF, wait for processing and invite signers by full name and email, using Email verification and notification.No findings
Why it is in this group
- The name "assinafy_send_pdf_for_signature" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Upload a new PDF, wait for processing and invite signers by full name and email, using Email verification and notification. This sends invitations and uses plan allowance: use only recipients the user authorized. After a partial failure, inspect the retained document ID and continue with assinafy_create_assignment instead of uploading again.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Send a PDF for signature
Changes things 10Claude Code: ask
assinafy_create_assignmentRequest signatures on a document.No findings
Why it is in this group
- The name "assinafy_create_assignment" says "create": a word for a change.
Description, as the server wrote it Request signatures on a document. Use `method: virtual` to sign without input fields, or `method: collect` to place input fields on specific pages. DigitalCertificate signers require `method: virtual`; other methods fail with code `digital_certificate_requires_virtual`. For **virtual**, the document may be in `uploaded`, `metadata_processing` or `metadata_ready`; it is promoted to `pending_signature` automatically once metadata processing completes. For **collect**, the document must be in `metadata_ready` (fields reference specific pages). `step` controls signing order: signers sharing a step sign in parallel, and the next step is notified only after the previous step completes. If supplied, every signer must supply it and values must be contiguous starting at 1. Obtain signer IDs from assinafy_list_signers or assinafy_create_signer and page IDs from assinafy_get_document. This sends signing invitations. Check with assinafy_get_document that no assignment exists first; this can consume credits.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Create assignment (request signatures)
assinafy_create_document_from_templateGenerate a document from a saved template and invite one signer per role, by signer ID or full name and email.No findings
Why it is in this group
- The name "assinafy_create_document_from_template" says "create": a word for a change.
Description, as the server wrote it Generate a document from a saved template and invite one signer per role, by signer ID or full name and email. Find roles with assinafy_list_templates and validate editor_fields values with assinafy_validate_fields first. DigitalCertificate signers require a virtual template without placed fields. This sends invitations and can consume credits.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Send a template for signature
assinafy_create_signerCreate a signer in the workspace.No findings
Why it is in this group
- The name "assinafy_create_signer" says "create": a word for a change.
Description, as the server wrote it Create a signer in the workspace. Search with assinafy_list_signers first to avoid duplicates. Sends no invitation.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Create signer
assinafy_download_documentDownload a document artifact as base64: original (default), certificated, certificate-page, pades or bundle.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Download a document artifact as base64: original (default), certificated, certificate-page, pades or bundle. Download the signed PDF only when the document is certificated and the artifact is listed.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Download a document
assinafy_download_document_pageDownload the rendered image of a specific document page.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Download the rendered image of a specific document page. Use a page_id returned by assinafy_get_document. Returns base64.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Download document page
assinafy_place_fieldsOpen a visual editor to place signature, initials, date and input fields on a metadata_ready document, then send it with method collect.1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "assinafy_place_fields" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "open": a word for a change.
Description, as the server wrote it Open a visual editor to place signature, initials, date and input fields on a metadata_ready document, then send it with method collect. Takes the assinafy_create_assignment arguments except method and entries. Sends nothing by itself: in apps-capable hosts the user places fields and presses Send; other clients get page sizes and field IDs as text to build entries.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Place signature fields
assinafy_review_signature_requestPreview an assinafy_create_assignment call without sending anything: same arguments, checked against the document and signers.1 finding
Why it is in this group
- The name "assinafy_review_signature_request" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "assinafy_review_signature_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "assinafy_review_signature_request" says "request": a word for a change.
Description, as the server wrote it Preview an assinafy_create_assignment call without sending anything: same arguments, checked against the document and signers. Use it when the user wants to review before sending. Apps-capable hosts render a card whose Send button performs the request; other clients get the summary as text, and the request is sent only after the user confirms.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Review a signature request
assinafy_set_assignment_expirationChange when an existing signature request expires, using an RFC 3339 timestamp.No findings
Why it is in this group
- The name "assinafy_set_assignment_expiration" says "set": a word for a change.
Description, as the server wrote it Change when an existing signature request expires, using an RFC 3339 timestamp. Assinafy may refuse for requests that already expired.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Change the deadline
assinafy_upload_documentUpload a PDF without sending invitations and return its document ID.No findings
Why it is in this group
- The name "assinafy_upload_document" says "upload": a word for a change.
Description, as the server wrote it Upload a PDF without sending invitations and return its document ID. Use it when the user wants to prepare a document now and send it later with assinafy_create_assignment. Never upload again when a document ID is already known.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Upload a document
assinafy_verify_documentVerify a signed document using its actual Assinafy SHA-1 signature hash.1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...es no workspace connection and sends no credential upstream."
Description, as the server wrote it Verify a signed document using its actual Assinafy SHA-1 signature hash. Public lookup; requires no workspace connection and sends no credential upstream.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Verify a signed document
Only reads 12Claude Code: allow
assinafy_get_documentInspect one known document: status, assignment, signers with their progress, pages and available artifacts.No findings
Why it is in this group
- The name "assinafy_get_document" says "get": a word for reading.
Description, as the server wrote it Inspect one known document: status, assignment, signers with their progress, pages and available artifacts. Read it before retrying a send or following up. 100% signed does not mean certification is finished; the signed PDF is ready at status certificated.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get a document
assinafy_get_fieldRetrieve a single field definition.No findings
Why it is in this group
- The name "assinafy_get_field" says "get": a word for reading.
Description, as the server wrote it Retrieve a single field definition.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get field
assinafy_get_signerRetrieve a signer's information.No findings
Why it is in this group
- The name "assinafy_get_signer" says "get": a word for reading.
Description, as the server wrote it Retrieve a signer's information.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get signer
assinafy_get_templateGet one saved template with its roles and field placements.No findings
Why it is in this group
- The name "assinafy_get_template" says "get": a word for reading.
Description, as the server wrote it Get one saved template with its roles and field placements.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get a template
assinafy_list_document_activitiesList the activities recorded for a document.No findings
Why it is in this group
- The name "assinafy_list_document_activities" says "list": a word for reading.
Description, as the server wrote it List the activities recorded for a document. Each entry carries an event-specific `payload` snapshot (keys vary per event) and the request `origin` (`ip`, `user-agent`). Use it to explain what happened to a document and when.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List document activities
assinafy_list_documentsSearch workspace documents by name or status, with pagination.No findings
Why it is in this group
- The name "assinafy_list_documents" says "list": a word for reading.
Description, as the server wrote it Search workspace documents by name or status, with pagination. Use it to find a document the user names before inspecting or following up on it.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List documents
assinafy_list_fieldsList the field definitions of a workspace.No findings
Why it is in this group
- The name "assinafy_list_fields" says "list": a word for reading.
Description, as the server wrote it List the field definitions of a workspace. When `include_standard` is enabled, records of type `signature`, `initial` and `signatureDate` are also returned. Match definitions to template placement field_id and ask about ambiguous names.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List fields
assinafy_list_signersList the signers of a workspace.No findings
Why it is in this group
- The name "assinafy_list_signers" says "list": a word for reading.
Description, as the server wrote it List the signers of a workspace. Use it to resolve a recipient to a signer ID; ask the user about ambiguous matches before sending.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List signers
assinafy_list_templatesList saved templates with their signer roles, pages and field placements (field_id).No findings
Why it is in this group
- The name "assinafy_list_templates" says "list": a word for reading.
Description, as the server wrote it List saved templates with their signer roles, pages and field placements (field_id). Template authoring is done in Assinafy.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List templates
assinafy_list_whatsapp_notificationsList all WhatsApp notification messages sent for an assignment.No findings
Why it is in this group
- The name "assinafy_list_whatsapp_notifications" says "list": a word for reading.
Description, as the server wrote it List all WhatsApp notification messages sent for an assignment. The response includes the rendered template text split into `header`, `body` and `buttons` — exactly what the signer would see. In sandbox/stage, WhatsApp messages are simulated (no real delivery) and button URLs include access/verification codes you can use to simulate the signing flow. Treat returned signing links and verification codes as sensitive; never use them to sign for another person. Use it to troubleshoot WhatsApp delivery for one assignment.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List WhatsApp notifications
assinafy_show_documentShow a status card for one known document: its status, who has signed, who is still pending and when it expires.No findings
Why it is in this group
- The name "assinafy_show_document" says "show": a word for reading.
Description, as the server wrote it Show a status card for one known document: its status, who has signed, who is still pending and when it expires. Apps-capable hosts render it with a reminder button; other clients get the same summary as text. Resolve the document with assinafy_list_documents first.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Show document status
assinafy_validate_fieldsValidate one or more input values against existing field definitions without creating a document or requesting signatures.No findings
Why it is in this group
- The name "assinafy_validate_fields" says "validate": a word for reading.
Description, as the server wrote it Validate one or more input values against existing field definitions without creating a document or requesting signatures. Supply field/value pairs in values; the server sends the documented JSON array. Check each result's success before requesting signatures.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Validate multiple field values
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 3.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http assinafy https://mcp.assinafy.com.br/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__assinafy__assinafy_get_document",
"mcp__assinafy__assinafy_get_field",
"mcp__assinafy__assinafy_get_signer",
"mcp__assinafy__assinafy_get_template",
"mcp__assinafy__assinafy_list_document_activities",
"mcp__assinafy__assinafy_list_documents",
"mcp__assinafy__assinafy_list_fields",
"mcp__assinafy__assinafy_list_signers",
"mcp__assinafy__assinafy_list_templates",
"mcp__assinafy__assinafy_list_whatsapp_notifications",
"mcp__assinafy__assinafy_show_document",
"mcp__assinafy__assinafy_validate_fields"
],
"ask": [
"mcp__assinafy__assinafy_create_assignment",
"mcp__assinafy__assinafy_create_document_from_template",
"mcp__assinafy__assinafy_create_signer",
"mcp__assinafy__assinafy_download_document",
"mcp__assinafy__assinafy_download_document_page",
"mcp__assinafy__assinafy_place_fields",
"mcp__assinafy__assinafy_resend_notification",
"mcp__assinafy__assinafy_review_signature_request",
"mcp__assinafy__assinafy_send_pdf_for_signature",
"mcp__assinafy__assinafy_set_assignment_expiration",
"mcp__assinafy__assinafy_upload_document",
"mcp__assinafy__assinafy_verify_document"
],
"deny": [
"mcp__assinafy__assinafy_delete_document",
"mcp__assinafy__assinafy_rename_document",
"mcp__assinafy__assinafy_update_signer"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as assinafy. Review it before you use it.
