create_contractLABSCO SUMMARY
Contracts that stay editable after they are sent.
update_contract_content on a live contract is the capability a PDF workflow cannot offer, and it is what makes the amendment path — draft, fill, send, amend — one conversation instead of four. The signer tools matter as much: adding a signer and re-sending their request are separate calls, so a stalled signature is fixed without touching the document.
What it is
A server over the eSignatures.com API. Contracts are Markdown rather than fixed PDFs, so an agent can write the body, fill the placeholders, send it for signature, and still change it after it has gone out.
What you get
- create_contract to draft for review or send outright; withdraw_contract to pull an active one back, delete_contract for a draft or test contract
- query_contract for status, query_contract_content for the body, list_recent_contracts for what is in flight
- update_contract_content to rewrite the body of a contract that is already active
- query_contract_placeholder_fields and update_contract_placeholder_fields for the filled-in values
- add_contract_signer, update_contract_signer and delete_contract_signer for the signer list
- resend_contract_signer_request to send or re-send one signer's request
- create_template, update_template, update_template_content, query_template, query_template_content, list_templates and delete_template for reusable contracts
- add_template_collaborator to give a colleague access to a template
Requirements
An eSignatures.com account — the server works against that account's API on your behalf, so whatever the account can send, an agent holding the connection can send.
Setup effort
One command plus a key — uvx mcp-server-esignatures, then supply credentials
USE CASES
Getting an agreement drafted and out today
Write the Markdown body, create the contract as a draft for review or send it directly, then add the people who need to sign.
Changing a term after the contract has already gone out
Read the current body, rewrite the clause, and update the live contract rather than voiding and re-issuing it.
Filling the same agreement in for a new customer
Pull the template, create the contract from it, then set the placeholder values for this deal.
Chasing a signature that has gone quiet
Check the contract's status, correct the signer's email if it is wrong, and re-send their request.
Calling off an agreement that is no longer going ahead
Withdraw the active contract; a draft or test contract can be deleted outright.
Seeing what is outstanding across the desk
List the recent contracts and read the status on the ones that matter.
23 tools
Listed in project docs. Your client may show a different list.
query_contractwithdraw_contractdelete_contractlist_recent_contractsadd_contract_signerupdate_contract_signerresend_contract_signer_requestdelete_contract_signerquery_contract_placeholder_fieldsupdate_contract_placeholder_fieldsquery_contract_contentupdate_contract_contentcreate_templateupdate_templateupdate_template_contentquery_templatequery_template_contentdelete_templatelist_templatesadd_template_collaboratorremove_template_collaboratorlist_template_collaboratorsBEFORE YOU INSTALL
What to know first
Tools you get
23 tools named in the project's documentation. Write tools that create, edit, withdraw and delete contracts and templates are on by default.
Requires
- uvx on PATH
- ESIGNATURES_SECRET_TOKEN in your environment
Where it runs
Both documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
Create a free eSignatures.com account at https://esignatures.com and get your API secret token
Add the Claude Desktop mcpServers block that runs uvx mcp-server-esignatures (shown below) to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%/Claude/claude_desktop_config.json)
Put your token in ESIGNATURES_SECRET_TOKEN inside that block's env
MCP Clients
Claude Desktop — uvx
{
"mcpServers": {
"mcp-server-esignatures": {
"command": "uvx",
"args": [
"mcp-server-esignatures"
],
"env": {
"ESIGNATURES_SECRET_TOKEN": "<YOUR_ESIGNATURES_SECRET_TOKEN>"
}
}
}
}Claude Desktop — local build
{
"mcpServers": {
"mcp-server-esignatures": {
"command": "uv",
"env": {
"ESIGNATURES_SECRET_TOKEN": "<YOUR_ESIGNATURES_SECRET_TOKEN>"
},
"args": [
"--directory",
"/<YOUR_LOCAL_DIRECTORIES>/mcp-server-esignatures",
"run",
"mcp-server-esignatures"
]
}
}
}