waafir-esign reference
The waafir-esign server exposes Waafir's first-party e-signature service
to a connected AI client: create an envelope over a file in your organisation,
have its signatories sign (or decline), track status, and download the signed
PDF. Signatures are eIDAS AES (PAdES), produced by Waafir's own signing
engine; every signature captures signer consent (IP address, user agent,
timestamp) on a tamper-evident audit trail, and the signed PDF is stored as
the newest version of the source file.
Connection: https://app.waafir.io/api/mcp/waafir-esign — see
Setup. Read tools require a read-scope
PAT; creating, signing, and
declining require write scope. A token restricted to specific data rooms
can only work with envelopes over files in those data rooms — the same
boundary the data room tools enforce.
A paid offering, with a monthly signature quota
Unlike the other MCP servers, waafir-esign is a paid surface (signing
inside the Waafir app itself stays free for every organisation):
- Access requires the E-Signatures add-on or an active Waafir
subscription. Without either, every request returns an
ADDON_NOT_PURCHASEDerror. - Subscribed organisations get a bundled quota of 10 signatures per calendar month through this server.
- Each purchased unit of the E-Signatures add-on adds 100 signatures per month; units stack.
- The quota is a hard ceiling: at the limit,
esign_signreturns anESIGN_QUOTA_EXCEEDEDerror prompting you to buy more units or upgrade — nothing is ever charged per-signature automatically.
Only successful esign_sign calls consume quota. Declines, reads, downloads,
and failed attempts do not. Check headroom any time with esign_quota_status.
Tools
esign_create_envelope (write)
Create an envelope over a file in your organisation, naming its signatories. Signers are Waafir users, matched by email.
| Field | Type | Required | Description |
|---|---|---|---|
fileId | string (UUID) | yes | The file to be signed. Must belong to your organisation. |
signatories | array | yes | One or more { "email": string, "name"?: string }. |
transactionId | string (UUID) | no | Attach the envelope to a transaction. |
send | boolean | no | When true, open the envelope for signing immediately. |
Returns the envelope (id, status, …). A draft envelope must be sent
(send: true at creation) before anyone can sign.
esign_list_envelopes (read)
List your organisation's envelopes, newest first. Optional filters:
transactionId, fileId. Returns { envelopes: [...] } with each
envelope's signatories and statuses.
esign_get_envelope (read)
Get one envelope with its signatories and their statuses
(pending / signed / declined). Input: envelopeId.
esign_sign (write)
Sign your own pending signatory slot — the slot whose email matches the
user who owns the token. Consumes one signature from the monthly quota.
Input: envelopeId. Returns the updated envelope plus
signaturesRemainingThisMonth.
Errors you may see: ESIGN_QUOTA_EXCEEDED (quota ceiling — buy more units or
upgrade), a 403 if you are not a pending signatory, a 409 if the envelope
is not open for signing.
esign_decline (write)
Decline your own pending slot (terminal — the envelope becomes declined).
Input: envelopeId. Consumes no quota.
esign_download_signed (read)
Get a short-lived presigned download URL for the signed PDF. Input:
envelopeId. Returns { download_url, expires_in_seconds }. The envelope
must have at least one recorded signature; the signed PDF is also available
in the product as the newest version of the source file.
esign_quota_status (read)
No inputs. Returns { quota, used, remaining } for the current calendar
month — total quota (bundled + purchased units), signatures used, and
headroom before the ceiling.
Legal validity
Signatures are eIDAS Advanced Electronic Signatures (PAdES), valid for NDAs and contracts under US ESIGN/UETA and EU eIDAS. Signer consent (IP, user agent, timestamp) is recorded on Waafir's append-only, hash-chained audit trail at signing time. Qualified (QES) signatures are not part of this release.
waafir-dataroom reference
Reference for the waafir-dataroom MCP server — all nineteen tools for reading and managing data rooms over a Personal Access Token, grouped into read, folder, file, and permission tools, with their inputs, outputs, and required scopes.
Investor permissioning, roles, and lifecycle
How investors get into a Waafir data room, what they can do once in, and how access is granted, scoped, extended, and revoked. Covers the IAM v2 role model, dataroom-level permissions, the share-link and guest-access flow, NDA gating, and the full invite-to-revoke lifecycle.