Signathing MCP server
Signathing MCP server lets an AI agent send, track, manage, and independently verify PDF e-signature documents.
Send PDFs by HTTPS URL or base64 to signers, approvers, view-only recipients, and CCs, with optional fields, access codes, sequential signing, and expiration.
Get document status, signer activity, download links, and event history; list recent documents by status.
Remind pending signers, extend expired documents by 14 days, and void open documents.
List and send from saved templates.
Retrieve account balance, usage, pricing, and projected run-out.
Fetch evidence packages with PDF hashes and public-log positions, and verify signature codes.
Archives sealed daily evidence logs with the Internet Archive, enabling independent verification of signing events through the get_evidence tool and public hash chain.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Signathing MCP server Send the lease at https://files.example.com/lease.pdf to pat@example.com for e-signature"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Signathing MCP server
Send PDFs for e-signature from any AI agent, with ESIGN and UETA consent captured on every signature, and get back a certified copy whose history anyone can verify without trusting the sender or Signathing.
Remote server:
https://signathing.com/api/mcp(Streamable HTTP). Sign in with OAuth, or send an API key as a bearer header.Free tier: 100 documents a month, no card. Then $0.06 a document (101 to 500), $0.03 (501 to 3,000), $0.025 (3,001+), prepaid.
Evidence: every signing event is appended to a public hash chain, sealed daily and archived with the Internet Archive. signathing.com/transparency
Docs: signathing.com/developers · OpenAPI: /api/v1/openapi.json · /llms.txt
Operated by AllContraX LLC, Kentucky, USA. The Signathing app and website stay free for people; the API and MCP server are for software.
Tools
Tool | What it does |
| Upload a PDF (https URL or base64), name up to 25 signers and 25 view-only recipients, optionally place signature, initials, date, name, email, text, number, checkbox, radio or dropdown fields. Signers get a private link by email (and text). Per signer, |
| Status, signers with viewed/signed times, download links, event history. |
| Your recent documents, filterable by status. |
| Re-send links to everyone who has not signed (once an hour). |
| Withdraw an open document. Within 10 minutes of sending, the unit is refunded. |
| Give an expired document 14 more days and fresh links for everyone still waited on. |
| Prepaid balance, documents used this month, free documents left, projected run-out. |
| Evidence package: PDF hashes, every signer and event with its position in the public evidence log, and the recipe to verify it. |
| Look up the code stamped beside any Signathing signature. Works for any document. |
Related MCP server: swiftsign-mcp
Connect
Claude.ai, ChatGPT, Grok apps (OAuth)
Add a custom connector / remote MCP server with the URL https://signathing.com/api/mcp. You will be sent to signathing.com to sign in and approve. Disconnect any time under API in your Signathing dashboard.
Claude Code
claude mcp add --transport http signathing https://signathing.com/api/mcp \
--header "Authorization: Bearer sk_live_..."Or without a key, using OAuth: claude mcp add --transport http signathing https://signathing.com/api/mcp and run /mcp to sign in.
Cursor, VS Code, Windsurf (mcp.json)
{ "mcpServers": { "signathing": {
"url": "https://signathing.com/api/mcp",
"headers": { "Authorization": "Bearer sk_live_..." } } } }Grok (xAI Responses API)
{ "type": "mcp", "server_label": "signathing",
"server_url": "https://signathing.com/api/mcp",
"headers": { "Authorization": "Bearer sk_live_..." } }Claude API (Messages API, mcp_servers)
{ "type": "url", "name": "signathing", "url": "https://signathing.com/api/mcp",
"authorization_token": "sk_live_..." }stdio-only clients
This repository ships a dependency-free bridge for clients that cannot speak HTTP MCP:
{ "mcpServers": { "signathing": {
"command": "npx", "args": ["-y", "github:jacejb/signathing-mcp"],
"env": { "SIGNATHING_API_KEY": "sk_live_..." } } } }Create a key at signathing.com/dashboard/api.
Why a third party instead of letting the agent sign things itself
A signature only matters on the day it is disputed. On that day the party that controlled the signing system is the party with something to gain, and its own logs are "trust me." Signathing is nobody's party to the contract, and it does not ask you to trust it either: every signing event goes into one public hash chain, each entry commits to the private details through a hash without publishing them, each day is sealed and archived by the Internet Archive, and the verifier in verifier/ recomputes all of it from a document's evidence package.
node verifier/verify-signathing.mjs evidence.json original.pdf signed.pdfExample: the whole loop, verified
examples/agent-loop.mjs (Node 18+, no dependencies, public domain) sends a PDF, waits for the signature, pulls the evidence package and the certified PDF, recomputes every hash and chain entry, confirms each entry against the public log, and resolves the verification code publicly. It is the loop an agent should run before it treats an agreement as done.
SIGNATHING_API_KEY=sk_live_... node examples/agent-loop.mjs --name "Pat Lee" --email pat@example.com[2] Send for signature
ok document 71 (sent); billing {"charged_tenths":0,"unit_this_month":1}
ok server's original_sha256 matches the bytes we sent
[3] Waiting for Pat Lee to sign (up to 30 min)
ok completed at 2026-10-26T02:02:00Z; signed PDF SHA-256 afe6...; sealed=true
[4] Evidence package and certified PDF
ok signed PDF hashes to document.signed_sha256
[5] Independent verification
ok event 609 completed -> chain seq 589
ok seq 589 is identical in the public log
ok public log slice 583 to 590 recomputes end to end
[6] Public checks anyone can repeat
ok verification code resolves publicly to this document and its signed hash
VERIFIED: document 71, 6 events, all hashes and public-log entries recomputed.With MCP it is four tool calls: send_document, get_document (or the document.completed webhook), get_evidence, then the verifier on what came back. The day's seal, Internet Archive snapshot and OpenTimestamps proof arrive after midnight UTC; a second verifier run the next day checks those too.
Example: an agent sends a lease
User: Send the lease at https://files.example.com/lease.pdf to Pat Lee (pat@example.com) for signature.
Agent -> send_document { file_url, title: "Lease", signers: [{ name: "Pat Lee", email: "pat@example.com" }] }
Signathing -> { id: 58, status: "sent", signers: [{ signing_url: "https://signathing.com/sign/..." }], billing: { charged_tenths: 0 } }Pat gets an email, signs in the browser, and the agent can call get_document or receive a webhook. The certified PDF is digitally sealed and carries a certificate page and a verification code per signature.
License
MIT for this repository. The Signathing service has its own terms and privacy policy.
Available Tools
11 toolsextend_documentExtend an expired document 14 days and resendAInspect
Give an expired document a new signing deadline 14 days out, put it back to sent, and send a fresh link to everyone who has not signed (signers-in-order: only the current stage). Signatures already collected stay. Free.
Inputs: id (required).
get_accountAccount and balanceBInspect
Prepaid balance, documents used this month, free documents left, the price of the next document, and the projected run-out.
Inputs: no named parameters.
get_documentGet a documentBInspect
Status, signers (viewed/signed times), download links, and the event history of one document you sent.
Inputs: id (required).
get_evidenceEvidence packageAInspect
The evidence package for a document: SHA-256 of the original and signed PDFs, every signer and event with its position in Signathing's public hash-chained evidence log, and the recipe to verify it independently.
Inputs: id (required).
list_documentsList documentsAInspect
Your most recent documents, optionally filtered by status: sent, completed, declined, voided, expired (a sent document whose date has passed reads expired).
Inputs: limit, status.
list_templatesList templatesAInspect
Saved templates (a PDF with placed fields and named signer roles; approver_slots lists roles that approve instead of sign) and their direct links. Use send_from_template to send one.
Inputs: no named parameters.
remind_documentRemind pending signersAInspect
Re-send the signing link to everyone who has not signed yet. At most once an hour per document. An expired document cannot be reminded; use extend_document.
Inputs: id (required).
send_documentSend a document for signatureAInspect
Upload a PDF and send it to up to 25 signers or approvers, plus up to 25 view-only and 25 CC recipients. Give the file as an https URL (file_url) or base64 (file_base64). Optionally place signature/initials/date/text boxes with fields; without fields, signers sign on a certificate page appended to the PDF. Returns the document with each signer's private signing_url and what the send cost. Counts as one billable unit.
Inputs: signers (required), title, fields, message, +5 more.
send_from_templateSend a document from a templateBInspect
Create and send a document from a saved template. Give one signer per role, in role order or with an explicit 0-based slot. Counts as one billable unit like send_document.
Inputs: signers (required), template_id (required), title, message, +2 more.
verify_signature_codeVerify a signature codeBInspect
Look up the verification code stamped beside any Signathing signature and return the signing record it belongs to. Works for any document, not only yours.
Inputs: code (required).
void_documentVoid a documentBInspect
Withdraw an open document so nobody can sign it. Within 10 minutes of sending the billable unit is refunded.
Inputs: id (required), reason.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools target clearly distinct actions (send, void, remind, extend, list). The only mild overlap is between get_document, get_evidence, and verify_signature_code, all of which surface records about a document, but their descriptions delineate different intents (status/signers, verification package, code lookup).
All tools follow a consistent verb_noun snake_case pattern (get_account, list_documents, send_document, void_document, verify_signature_code). send_from_template is a minor extension but still fits the convention.
11 tools is well-scoped for an e-signature service, covering sending, lifecycle management, templates, evidence, and account balance without redundancy. Each tool earns its place.
The core document lifecycle (send, list, get, remind, extend, void, evidence) plus template sending and account status is well covered. Minor gaps exist around template management (no create/update/delete template) and any document update/metadata operations, but core workflows have no dead ends.
Maintenance
Related MCP Connectors
Send AI-created PDFs for signature, track signers, and return verifiable document evidence.
Free e-signature for humans and AI agents — zero-document PDF signing from hashes only.
Send documents for e-signature from AI assistants, track signers, and download sealed, signed PDFs.
Send contracts for e-signature, track signing, get signed PDFs and audit trails, verify any PDF.
Related MCP Servers
- AlicenseAqualityCmaintenanceDocument signing for AI agents. Send markdown or PDF for two-party e-signing with a single tool call — handles PDF generation, email verification, and SHA-256 certified delivery.28 npmMIT
- AlicenseNot gradedqualityDmaintenanceE-signature for AI agents. One unauthenticated call returns a sandbox API key (no account, no browser), then the agent can send documents for signature, check status, and download the sealed PDF plus Certificate of Completion.4 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to create documents from templates, send them for legally valid Argentine electronic or digital signature, track status, download signed PDFs with audit certificates, and cryptographically verify signatures.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents and developers to create, send, and follow up on contracts for e-signature, manage signers and templates, retrieve signed PDFs and audit trails, and verify PDF signatures. It keeps signing and declining in the hands of each signer through personal links.1MIT