MCP electronic signatures

---

title: MCP electronic signatures

description: Automate MCP electronic signatures with Atlas API keys: upload PDF or DOCX, confirm fields, send, and archive signed PDFs.

date: 2026-06-21

updated: 2026-06-21

---

If you typed "mcp electronic signatures" into a search bar, you likely have a ticket to wire signing this sprint. Start with POST /api/envelope and finish with a webhook handler.

Share: One POST to create, one review click, one webhook when signed.

Atlas runs an MCP server at https://atlaswork.ai/api/mcp with ten tools that cover the signing lifecycle. Agents in Claude, ChatGPT, or Cursor can create envelopes, poll status, and extract data after sign.

Connect

ClientAuth
Claude Desktop, ChatGPTOAuth via connector or manual MCP config
Cursor, Claude Code, WindsurfAPI key in MCP config

Manifest: https://atlaswork.ai/.well-known/mcp

OAuth discovery: https://atlaswork.ai/.well-known/oauth-authorization-server

Tools (10)

ToolPurpose
send_contract_for_reviewCreate envelope, return review_url
send_contract_from_templateRepeat send from saved template
get_envelopeFull status and download links when signed
check_signing_statusPoll { status, signed_count, total, sign_url }
list_envelopesList with optional status filter
list_templatesSaved templates with signer roles
get_templatePrefill keys, parties, example payload
void_envelopeCancel pending envelope
remind_signerEmail next unsigned signer
extract_contract_dataStructured extract after sign

Legacy alias: send_contract maps to send_contract_for_review.

Removed stubs: upload_document, draft_contract, get_signed_pdf, and others return errors if called.

Document intake for send_contract_for_review

Pick one path per call:

  1. Public URL: document_url + parties[]
  2. ChatGPT attachment: document_file + parties[]
  3. Local file: request_document_upload: true then user uploads then complete_upload_session
  4. Plain text: document_text + parties[] (no PDF/DOCX file)

Never pass base64 in MCP. For PDF and DOCX on disk, use the upload session flow.

Review before send

MCP create returns review_url. Open it and click Send before signers get email. Unless you use REST with auto_send: true, MCP does not skip review.

Agent loops

One-off:

send_contract_for_review → review_url → human Send → check_signing_status → get_envelope

Template repeat:

list_templates → get_template → send_contract_from_template → check_signing_status

Idempotency

Write tools call resolveIdempotencyKey. Caller key wins; otherwise Atlas hashes apiKey + tool + args + 60s bucket.

Sequential signing

Multi-party envelopes sign in order. Each sign_url includes ?t=<token>. Fields filter server-side per party.

Credits

Drafts and detection are free. Send consumes one credit. Five free on signup.

REST parity

MCP and REST share envelope rows. Platform mode (Atlas-Account header) is REST-only in v1.

Recipes

Compare and blog

Implementation depth for MCP signing

Production agent workflows fail when humans skip review on new document types. MCP create returns review_url for ad-hoc uploads. Open it and click Send before signers get email.

Write tools resolve Idempotency-Key automatically. Caller-supplied key wins. Otherwise Atlas hashes apiKey plus tool name plus args plus 60-second bucket.

Verify webhook HMAC on envelope.signed before you update CRM or billing state. Agents should not hold long-lived user OAuth tokens for incumbents when MCP discovery handles auth.

Error handling

402 when credits exhausted at send time. 409 when fields_status still pending. 400 on malformed parties JSON.

Log envelope_id on every create for support traces.

Pilot checklist

Connect MCP in Claude. Call send_contract_for_review with a test PDF URL. Open review_url. Send to a mailbox you control. Poll check_signing_status until signed. Compare time-to-first-signed-PDF against your incumbent.

Five free sends at /signup before you forecast paid volume.

Security notes

API keys are Bearer tokens from Dashboard. Rotate if leaked. Never embed keys in client-side JavaScript.

Password-only auth on Atlas dashboard. SAML SSO is additive for orgs that enable it.

Tool selection guide

Use send_contract_for_review when the document is new or variable. Use send_contract_from_template when legal already approved the shape.

Use check_signing_status in agent loops. Use get_envelope when you need full party rows or signed download URL.

Use void_envelope when the deal died before anyone signed. Use remind_signer when the next party stalled.

Use extract_contract_data only after status is signed. Calling early returns an error by design.

Stakeholder alignment

Legal cares about audit trail export. Finance cares about seat true-up on incumbent vendors. Platform team cares about MCP OAuth and whether send requires human review by default.

Run a 30-minute workshop with each group before you route production contracts through agents.

REST parity notes

MCP and REST share envelope rows and credits. Platform mode with Atlas-Account header is REST-only in v1.

If your backend also creates envelopes, use the same API key and Idempotency-Key patterns as MCP for consistent retry behavior.

Volume planning

Drafts and detection are free. One credit per envelope sent. Resends on an already-sent envelope do not double-charge.

Model peak month agent sends before you compare MCP workflow cost to per-seat incumbent quotes.

ChatGPT contract signing

Searchers type "chatgpt contract signing" or "chatgpt esign api" when they want OpenAI's connector to send PDFs from chat. Connect Atlas at /mcp/chatgpt. OAuth handles auth. Call send_contract_for_review with document_url or use upload session for local files.

ChatGPT attachments map to document_file on the tool call. Response includes review_url. Human clicks Send before signers get email unless template auto_send applies.

Claude MCP e-sign

"claude mcp esign" and "claude esign api" point to the same workflow in Claude Desktop or Claude Code. Add connector URL https://atlaswork.ai/api/mcp. Tools list exposes ten lifecycle operations. See /mcp/claude for one-click setup.

Typical loop: send_contract_for_review, share review_url with counsel, check_signing_status, get_envelope when signed.

Cursor and IDE agents

"cursor esign api" searches come from developers wiring MCP in Cursor, Windsurf, Cline, or VS Code. Use Bearer API key in MCP config headers. Same endpoint as ChatGPT: https://atlaswork.ai/api/mcp.

See /mcp/cursor for config screenshots and troubleshooting auth headers.

Agent and LLM contract signing

"agent contract signing api", "agent esign api", "ai agent contract signing", and "llm contract signing" describe autonomous workflows that create envelopes without dashboard clicks. Atlas MCP returns review_url on ad-hoc uploads so agents prep and humans dispatch.

Pair MCP create with REST webhooks for CRM updates. Use extract_contract_data after sign for structured fields.

MCP signing API vs REST

"mcp signing api" compares transport layers. REST fits server cron and backend services. MCP fits chat-native agents that discover tools via tools/list. Same envelope rows under the hood. Idempotency applies to both paths.

REST-only platform mode uses Atlas-Account header for connected accounts. MCP in v1 uses the authenticated user's credits.

MCP contract signing tool selection

"mcp contract signing" is the umbrella intent. Pick send_contract_for_review for new PDFs. Pick send_contract_from_template for repeat legal-approved shapes. Pick check_signing_status in agent poll loops. Pick void_envelope when deal dies before signature.

Legacy tool names like send_contract still route to send_contract_for_review. Removed stubs return explicit errors. Update old prompts.

Compare the Atlas MCP overview for endpoint URLs and auth modes.

FAQ

Does Atlas accept PDF and DOCX?

Yes. Upload either format when you create an envelope. DOCX files become PDF before anyone signs.

How do I sign in?

Use a Bearer API key from your dashboard settings. MCP connectors in ChatGPT and Claude use OAuth instead.

When do credits get used?

One credit per send, not per upload. You get five free sends when you sign up.

Where should I start?

MCP overview and E-signature API.