Welcome to eSignatures.com MCP

Leave the hard contract work to your AI.

What it is
Contracts, without the context switch
The eSignatures.com MCP brings your entire e-signature workflow into the AI tools you already use, drafting templates, sending contracts, tracking signers, all in plain language. No dashboard tab, no API docs open in another window.
Coverage
Full editing access, not a read-only preview
Create and edit templates, send and track contracts, fill placeholder fields, manage signers, publish contract links, and manage your team, the same things you'd do from the Dashboard, just asked for in a sentence.
Security
Scoped access, never your password
Every connection runs on OAuth. Whatever it's connected to receives a scoped, revocable token, never your eSignatures.com credentials.
Availability
Connect once, use it everywhere that tool runs
Once connected, eSignatures.com works across every surface the connecting tool supports, no separate setup per device or app.

What the MCP supports

 

Everything you can do from the Dashboard, you can now just ask for: create and edit templates, send and track contracts, and manage signers, all in plain language.

You can also bring in documents from elsewhere. Upload a PDF or Word file, or pull one from a connected source like Google Drive, and turn it into a template, or check it against one you already have.

Templates

 
Create
Write the contract once, reuse it forever
Create a template by writing or pasting in the contract text, complete with placeholder and signer fields. Upload a PDF or Word file, or connect a source like Google Drive, and the content is drafted for you automatically by your AI, no separate conversion step.
Read
Pull metadata or the full body
Read back a template's title, labels, and field list, or its full content.
Edit
A quick tweak, several changes at once, or a full rewrite
Update a template's content however it needs it, fix a single line, apply several changes together, or replace the whole document outright.
Organize
Rename, relabel, list, or delete
Update a template's title or labels, list every template in your account, or delete one you no longer need.
Collaborate
Invite an editor, no eSignatures.com login needed
Add or remove a template collaborator, and list who currently has edit access.

Contracts

 
Create
Draft it, or send it straight away
Start from a template or from scratch. Send it to signers immediately, or keep it as a draft to review and send when ready.
Read
Status, signer activity, and the final PDF
Query a contract for its current status, signer events, and signed PDF once complete.
Content
Read or edit a contract's live body
Read a contract's content, or edit it directly while it's still active, including adding or changing the signer fields within it.
Version history
Every edit, on record
Each change to a contract's content is kept as a version. Read any earlier version to see exactly what changed.
Placeholder fields
Fill in the deal-specific details
Read or update the placeholder values unique to a contract, plain text, formatted content, or another template's full content.
Signer fields
See what each signer entered
Query a contract to see the values each signer filled in themselves, text, dates, checkboxes, uploads, alongside their signature.
Lifecycle
Withdraw, delete, or list recent contracts
Withdraw a contract that's already been sent, delete a draft or test contract, or list your most recent contracts at a glance.

Signers

 
Manage
Add, update, or remove
Add a signer to a contract, update their contact details, or remove them before they've signed.
Follow up
Manually resend a signature request
Manually nudge a signer who hasn't completed their part yet, on top of the automatic reminders already sent, without recreating the contract.
 
Create
One link, signed by anyone
Publish a template or new content as a reusable signing link. Each person who signs gets their own contract.
Configure
Verification, counter-signing, and what happens after
Verify signers by SMS or email code, add a counter-signer from your team, CC each signed copy, set a redirect URL or thank-you message, or switch test mode on or off.
Edit
Update the content anytime
Change the agreement behind a link, contracts already signed through it stay as they were.
Organize
List, review, or delete
See every link with its signing URL and settings, or delete one, which stops its URL from working.

Users

 
Manage
Add, update, or remove team members
Invite users, set their permissions and notification preferences, or remove them. You can only grant permissions you already hold.
Review
See who has access
List every user, with their permissions, last login, and last activity.

Ways to connect

 
 Best forSetupAuthenticationMaintenance 
MCP via ChatGPTChatGPT users, one clickOfficial plugin, no installsOAuth, handled for youNone, always current
MCP via ClaudeEveryone, fastest pathPaste one URL, no installsOAuth, handled for youNone, always current
MCP via GrokGrok usersPaste one URL, no installsOAuth, handled for youNone, always current
MCP via SlackTeams working in SlackInstall once per workspaceOAuth, handled for youNone, always current
MCP via URLAny MCP client or agentAdd the endpointOAuth, handled for youNone, always current 
MCP via codeLocal setups, custom agent stacksClone, configure, runAPI secret tokenYou run the server

MCP via Claude

 
Best for
No installs, no tokens to manage
Just connect and go, this is the fastest path for almost everyone.
How to connect
As a Custom connector
In Claude, open Settings → Connectors, click Add, and choose Custom connector. Enter https://esignatures.com/mcp as the URL, no other fields need to be filled in.
Authorization
Standard OAuth, on eSignatures.com's own domain
You authenticate directly with eSignatures.com, using your own credentials, then approve exactly what Claude can access. Claude receives a scoped, revocable token, never your password.
Revoke anytime
You stay in control
Review or revoke access at any time from your eSignatures.com account settings or from Claude's Connectors page.
Teams
Team and Enterprise plans
An Owner adds the connector once under Organization Settings → Connectors, members then connect individually from there.

MCP via ChatGPT

 
Best for
ChatGPT users, no tokens to manage
eSignatures.com is an official plugin in the ChatGPT plugin directory. Connect once and it works across ChatGPT on the web, desktop, and mobile.
How to connect
One click from the plugin directory
In ChatGPT, open the plugin directory, search for eSignatures.com, and click Connect. You can also mention @eSignatures.com in a prompt to bring it into a conversation.
Authorization
Standard OAuth, on eSignatures.com's own domain
You authenticate directly with eSignatures.com, using your own credentials, then approve exactly what ChatGPT can access. ChatGPT receives a scoped, revocable token, never your password.
Revoke anytime
You stay in control
Review or revoke access at any time from your eSignatures.com account settings or from ChatGPT's plugin settings.
Teams
Business and Enterprise plans
A workspace admin enables the plugin once under Workspace settings, members then authenticate individually before first use.

MCP via Grok

 
Best for
Grok users, no tokens to manage
Connect once and use eSignatures.com in any Grok conversation.
How to connect
As a Custom connector
Open grok.com/connectors, click New Connector, and choose Custom. Enter https://esignatures.com/mcp as the URL, then sign in.
Authorization
Standard OAuth, on eSignatures.com's own domain
You authenticate directly with eSignatures.com, using your own credentials, then approve exactly what Grok can access. Grok receives a scoped, revocable token, never your password.
Revoke anytime
You stay in control
Review or revoke access at any time from your eSignatures.com account settings or from grok.com/connectors.
Teams
Grok Business
An admin adds the connector once under Grok Business → Connectors in the xAI console, members then connect their own eSignatures.com account at grok.com/connectors.

MCP via Slack

 
Best for
Teams that live in Slack
Ask Slackbot to send a contract or check who still needs to sign, without leaving the conversation.
How to connect
Install once, then connect in Slackbot
Add eSignatures.com to your Slack workspace. Then open Slackbot, click Apps, click + next to eSignatures.com, and sign in.
Authorization
Standard OAuth, on eSignatures.com's own domain
You authenticate directly with eSignatures.com, using your own credentials, then approve exactly what Slack can access. Slack receives a scoped, revocable token, never your password. Slackbot asks before it runs each action, unless you choose to always allow it.
Teams
One install per workspace
Anyone with permission installs the app once, members then connect their own eSignatures.com account in Slackbot. Requires Slackbot, available on Slack Business+ and Enterprise plans.

MCP via URL

 
Best for
Any MCP client, IDE, or custom agent
Connect any tool that supports remote MCP servers, no installs, no tokens to manage.
Endpoint
https://esignatures.com/mcp
Add it as a remote MCP server in your client. On first use, you sign in at eSignatures.com and approve access.
Transport
Streamable HTTP
A single endpoint, the current MCP standard transport.
Authorization
OAuth with Client ID Metadata Documents
Your client identifies itself with its metadata URL, no manual registration needed. It receives a scoped, revocable token, never your password.
Revoke anytime
You stay in control
Review or revoke access at any time from your eSignatures.com account settings.

MCP via code

 
Best for
Teams running the server locally, or wired into their own agent stack
The eSignatures.com MCP server is open source, built in Python, and available on GitHub.
Repository
Get your token
Create a free account, grab your secret token
Sign up at eSignatures.com, then copy your API secret token from the Automation&API page.
Setup
Follow the instructions in the repository
Installation and configuration, including the config file for your client, are kept up to date in the repository's README. Follow those steps directly rather than copying them from here.

Examples

 

Every one of these is a single sentence to your AI. The MCP handles the rest.

Drafting and organizing templates
"Create a template for a freelance services agreement. Include placeholders for the client name, scope of work, and payment terms. Label it 'Freelance.'"
"Pull up my NDA template and change the term from 1 year to 2 years."
"Here's our current NDA as a PDF, turn it into a template with placeholders for the party names and term length."
"This clause is out of date, compare it against the attached PDF and fix up the template to match."
"Add a mandatory Yes/No dropdown for the client's opt-in to marketing emails, as a signer field."
"Turn the 'Consulting Agreement' doc in my Google Drive into a template in eSignatures.com."
"Review my templates and suggest improvements. Don't apply anything until I approve each one."
Keeping deals moving
"Create a draft NDA for John Doe at Acme Corp, john@acme.com, ready for me to review and send."
"Find the best template for onboarding a contractor and prepare a draft for John Doe."
"Add John Doe at Acme Corp, john@acme.com, as a signer on this contract, and send it to him."
"Update the interest rate placeholder on this loan agreement to 5.5%."
"Acme asked for 60-day payment terms instead of 30, rewrite the payment section of that contract to reflect it."
"Which of my contracts sent this week are still waiting on a signature?"
"Sarah hasn't opened the signature request yet, resend it manually."
"Send the draft NDA for Acme now."
"Show me the Acme contract as it was before the payment terms changed."
Contract links and team
"Turn our waiver template into a contract link, verify signers by SMS, and CC office@acme.com on every signed copy."
"List my contract links and flag any still in test mode."
"Add Jane Smith, jane@acme.com, as a user who can manage templates."

All MCP tools

 
create_contract
Creates and sends a new contract. Unless save_as_draft is 'yes', the contract is sent to the signers immediately — if a review is required first, create a draft instead, which can be reviewed, edited, then sent with send_draft_contract or from the eSignatures.com UI. Content comes either from the template_id parameter or the markdown parameter. Contract owners can customize template content by replacing {{placeholder fields}} via the placeholder_fields parameter.
query_contract
Responds with the contract details, contract_id, status, final PDF url if present, title, labels, metadata, expiry time if present, and signer details with all signer events (signer events are included only for recent contracts, with rate limiting).
send_draft_contract
Sends a draft contract to its signers to collect signatures. Only applicable to contracts with a status of 'draft' — contracts created without save_as_draft are already sent, so this isn't needed for those.
withdraw_contract
Withdraws a sent contract.
delete_contract
Deletes a contract. The contract can only be deleted if it's a test contract or a draft contract.
list_recent_contracts
Returns the details of the latest contracts, 100 per page, newest first. Use the page parameter to fetch older contracts.
add_contract_signer
Adds a signer to an existing contract. Note: adding a signer does NOT automatically send the contract to them; use resend_contract_signer_request to send it.
update_contract_signer
Updates the contact details of an existing signer on a contract. Note: the contract is NOT automatically re-sent when the signer is updated.
resend_contract_signer_request
Sends (or resends) the signature request to a specific signer on a contract.
delete_contract_signer
Removes a signer from a contract.
query_contract_content
Returns the raw Markdown content (body) of a contract, before any Placeholder fields ({{...}}) have been applied.
update_contract_content
Edits Markdown content of a draft or active contract by applying an ordered list of find/replace operations. Each `edits` entry replaces the exact matches of `find_markdown` with `replace_with_markdown`. The response includes the updated content.
query_contract_placeholder_fields
Returns the current values assigned to all Placeholder fields ({{...}}) in a contract. Each value is returned in one of three formats: plain text, Markdown, or a linked template.
update_contract_placeholder_fields
Updates Placeholder field values ({{...}}) on an active contract. Only the fields you include will be changed. Each field can be filled with plain text, Markdown content, or the full content of another template.
create_contract_link
Creates a new Contract link: a reusable public signing URL where anyone can review and sign the same document, and each signing creates a separate contract. Recommend this instead of create_contract when the signers aren't known in advance or many people sign the same agreement without customization — e.g. waivers and consent forms, NDAs, membership or onboarding agreements, standard service agreements. The link is very versatile, it can be shared in emails, embedded into websites as hyperlinks or buttons, or displayed as a QR code on printed materials.
query_contract_link
Responds with the Contract link details: contract_link_id, public signing URL, title, verification method, redirect URL, thank you message, CC email addresses, second signer settings, and published status. Use query_contract_link_content to fetch the Markdown body.
update_contract_link
Updates a Contract link's settings. Only the parameters included are changed; omitted parameters are left unchanged. Use update_contract_link_content to edit the body.
delete_contract_link
Deletes a Contract link. The public signing URL stops working; contracts already signed via the link are not affected.
list_contract_links
Lists the Contract links, including their public signing URLs and published status.
query_contract_link_content
Returns the Markdown content (body) of a Contract link.
update_contract_link_content
Edits a Contract link's Markdown content by applying an ordered list of find/replace operations. Each `edits` entry replaces the exact matches of `find_markdown` with `replace_with_markdown`. Contracts already signed via the link are not affected. The response includes the updated content.
create_template
Creates a reusable contract template for contracts to be based on. The body is provided as Markdown; Signer fields, alignment, and header counters are expressed with the extended-syntax JSON config in backticks at the end of a line.
query_template
Responds with the template metadata: template_id, title, labels, created_at, list of Placeholder fields and Signer field IDs in the template. Use query_template_content to fetch the Markdown body.
update_template
Updates a template's title and/or labels. Use update_template_content to edit the template body.
delete_template
Deletes a contract template.
list_templates
Lists the templates.
update_template_content
Edits a template's Markdown content by applying an ordered list of find/replace operations. Each `edits` entry replaces the exact matches of `find_markdown` with `replace_with_markdown`. The response includes the updated content.
query_template_content
Returns the Markdown content (body) of a template.
add_template_collaborator
Creates a HTTPS link for editing a contract template; sends an invitation email if an email is provided.
remove_template_collaborator
Removes the template collaborator
list_template_collaborators
Returns the list of template collaborators, including their GUID, name, email, and the HTTPS link for editing the template
create_user
Creates a new user in the company.
query_user
Returns details for a single user (name, email, job_title, permissions, preferences, last login, last activity, created date, whether email is verified, whether 2fa is enforced).
update_user
Updates an existing user's name, email, job title, permissions or preferences. The calling user must already hold any permission they try to assign.
delete_user
Queues deletion of a user.
list_users
Returns all users belonging to the company.
query_account_settings
Returns the company account settings: name, time zone, storage region, support email, webhook URL, billing details, branding (logo, button colors, fonts), compliance (2FA enforcement, HIPAA, PDF/A) and contract defaults (language, expiry, reminders, decline button, verification timing, signature pad, PDF options, CC addresses). Keys and value formats match update_account_settings, so values can be read, changed and written back. Requires the admin_account_settings permission.
update_account_settings
Updates the company account settings: name, time zone, storage region, support email, webhook URL, billing details, branding (logo, button colors, fonts), compliance (2FA enforcement, HIPAA, PDF/A) and contract defaults (language, expiry, reminders, decline button, verification timing, signature pad, PDF options, CC addresses). Only the parameters included are changed. Requires the admin_account_settings permission.
contact_support
Sends a support request to the eSignatures.com team on behalf of the connected user; replies go to the connected user’s email address. Before calling, look for the answer in this document https://esignatures.com/docs/getting_started , for API in the API doc: https://esignatures.com/docs/api , for template or contract content questions in the Extended Markdown reference: https://esignatures.com/docs/extended_markdown.md . If there is no answer in those documents, get the user's explicit approval before submitting this support request. Use submit_feedback instead for missing features, or for providing any feedback.
submit_feedback
Reports a missing feature, friction, bug, or documentation gap to the eSignatures.com product team. Call this when a needed tool or parameter doesn't exist, a workflow required workarounds, or a result was unexpected. Positive feedback is welcome too; it helps us improve the service. Not for end-user support issues (e.g. how to send a contract).

Get started

 
Connect ChatGPT
Connect
Open the plugin directory, search for eSignatures.com, click Connect, and sign in.
Connect Claude
Connect
In Settings → Connectors, add a Custom connector with https://esignatures.com/mcp as the URL, then sign in.
Connect Grok
Connect
On grok.com/connectors, click New Connector, choose Custom, enter https://esignatures.com/mcp as the URL, then sign in.
Connect Slack
Connect
Add eSignatures.com to your workspace, then in Slackbot click Apps, click + next to eSignatures.com, and sign in.
Any MCP client
Add https://esignatures.com/mcp as a remote MCP server, then sign in at eSignatures.com when prompted.
MCP via code
View
Clone the repository, add your API secret token, and follow the README to configure your client.
 

More on eSignatures.com

RESTful API
It's never been easier to integrate with an online signature platform. One simple POST request sends a contract.
Zapier (no-code)
Send contracts from the apps you already use, and act on every signature without writing code.
Reusable Contract links
Publish an agreement once and share it as a link or QR code. Each person who signs gets their own contract.
Bulk sending
Paste your signers from a spreadsheet and send personalised contracts to all of them at once.
Compare with DocuSign
A side-by-side look at features, pricing and signing, so you can decide what fits you.
Legal compliance
Your contracts are legally binding in most countries, and every signature comes with a full audit trail.
Getting started
Every feature in one short guide, from your first template to your first signed contract.
WordPress signing page
Put a signing page directly on your WordPress site, so your visitors never have to leave it.
WordPress signing button
Add a button to your WordPress site that opens a contract ready to sign.
Markdown compatible
Every template is plain, structured text. You can read and edit it yourself, or let your AI do it.
About us
A dedicated team in Melbourne. We have been collecting signatures for our customers since 2017.