Skip to main content
Glama
MCP Server for eSignatures. com

MCP Server for eSignatures. com

mcp-server-esignatures

The most developer- and AI-friendly electronic signature platform.

Traditional eSignature tools lock you into rigid, static PDF files. eSignatures.com takes a different approach — contracts remain fully editable, Markdown-based content throughout their entire lifecycle, making them effortless for developers, automation systems, and AI agents to create, understand, modify, and manage.

This MCP server gives AI agents (such as Claude) real-time access to the complete eSignatures API, enabling:

  • Dynamic contract creation and editing — even after sending

  • Markdown-based content that AI can generate, understand, and update

  • End-to-end workflows: drafting → placeholder filling → sending → signing → amendments

  • Flexible templates and reusable contract workflows

  • Contract links: reusable public signing URLs for waivers, NDAs and onboarding forms

  • Signer management, notifications, and lifecycle automation

Built for intelligent, adaptive contract workflows — not outdated PDF-based signing.

Tools

Tool

Category

Description

create_contract

Contracts

Send a contract, or save it as a draft for review

send_draft_contract

Contracts

Send a draft contract to its signers

query_contract

Contracts

Retrieve contract info

withdraw_contract

Contracts

Withdraw an active contract

delete_contract

Contracts

Delete a draft or test contract

list_recent_contracts

Contracts

List recent contracts, 100 per page

add_contract_signer

Signers

Add a signer to an existing contract

update_contract_signer

Signers

Update an existing signer's contact details

resend_contract_signer_request

Signers

Send or resend the sign request to a signer

delete_contract_signer

Signers

Remove a signer from a contract

query_contract_placeholder_fields

Placeholders

Get a contract's placeholder field values

update_contract_placeholder_fields

Placeholders

Update an active contract's placeholder fields

query_contract_content

Content

Get a contract's content, or an earlier version of it

update_contract_content

Content

Edit an active contract's body via find/replace

create_template

Templates

Create a new contract template (Markdown body)

update_template

Templates

Update an existing template's title/labels

update_template_content

Templates

Edit a template's Markdown body via find/replace

query_template

Templates

Retrieve template metadata

query_template_content

Templates

Retrieve a template's Markdown body

delete_template

Templates

Delete a template

list_templates

Templates

List all your templates

add_template_collaborator

Collaborators

Invite someone to edit a template

remove_template_collaborator

Collaborators

Revoke template editing rights

list_template_collaborators

Collaborators

View who can edit a template

create_contract_link

Contract links

Publish a reusable signing link from a template or Markdown

query_contract_link

Contract links

Retrieve a contract link's settings and signing URL

query_contract_link_content

Contract links

Retrieve a contract link's Markdown body

update_contract_link

Contract links

Update verification, redirect, CC, counter-signer, test mode

update_contract_link_content

Contract links

Edit a contract link's Markdown body via find/replace

delete_contract_link

Contract links

Delete a contract link; its signing URL stops working

list_contract_links

Contract links

List all contract links with their signing URLs

Related MCP server: CanUSign MCP Server

Examples

Creating a draft contract

Create a draft NDA for a publisher, ready for me to review and send. Signer: John Doe, ACME Corp, john@acme.com.

Sending a draft

Send the draft NDA for John Doe now.

Sending a contract from a template

Send an NDA based on my template to John Doe from ACME Corp at john@acme.com. Set the term to 2 years.

Creating a new contract

Create a contractor agreement for a graphic designer, including payment terms of net 14 days. Prepare it as a draft for review. Signer: John Doe, ACME Corp, john@acme.com.

Adding a signer to a contract

Add Jane Smith from ACME Corp (jane@acme.com) as a signer on the NDA contract, then send her the signature request.

Editing an active contract's wording

On the NDA, change the term to 24 months and remove the jurisdiction section.

Reviewing an earlier version

Show me the NDA as it was before the term changed.

Editing an existing template

Update my NDA template to include a 12-month non-solicitation clause.

Reviewing templates

Review my templates and suggest improvements. Do not apply any changes until I approve them one by one.

Finding the right template

Find the best template for onboarding a contractor and prepare a draft contract for John Doe.

Managing contracts

Show me the recent contracts that are waiting for signatures.

Updating signer details

Update the signer email on the NDA contract for John Doe to john.doe@acme.com.

Turn my 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.

Inviting template collaborators

Invite John Doe to edit the NDA template. His email is john@acme.com.

Hosted server, no install

Prefer not to run anything locally? Connect any MCP client to https://esignatures.com/mcp (Streamable HTTP, OAuth). Claude, ChatGPT and other clients are covered at https://esignatures.com/docs/mcp.

Install (local)

Create an eSignatures.com account

Create an eSignatures.com account at https://esignatures.com for free, then copy your API secret token from the Automation & API page.

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development/Unpublished Servers Configuration
"mcpServers": {
  "mcp-server-esignatures": {
    "command": "uv",
    "env": {
      "ESIGNATURES_SECRET_TOKEN": "your-esignatures-api-secret-token"
    },
    "args": [
      "--directory",
      "/your-local-directories/mcp-server-esignatures",
      "run",
      "mcp-server-esignatures"
    ]
  }
}

Published Servers Configuration

"mcpServers": {
  "mcp-server-esignatures": {
    "command": "uvx",
    "args": [
      "mcp-server-esignatures"
    ],
    "env": {
      "ESIGNATURES_SECRET_TOKEN": "your-esignatures-api-secret-token"
    }
  }
}

Authentication

To use this server, you need to set the ESIGNATURES_SECRET_TOKEN environment variable with your eSignatures.com API secret token.

eSignatures.com API Documentation

For a detailed guide on API endpoints, parameters, and responses, see eSignatures.com API.

eSignatures.com Support

For support, please navigate to Support or contact support@esignatures.com.

Contributing

Contributions are welcome! If you'd like to contribute, please fork the repository and make changes as you see fit. Here are some guidelines:

  • Bug Reports: Please open an issue to report any bugs you encounter.

  • Feature Requests: Suggest new features by opening an issue with the "enhancement" label.

  • Pull Requests: Ensure your pull request follows the existing code style.

  • Documentation: Help improve or translate documentation. Any form of documentation enhancement is appreciated.

For major changes, please open an issue first to discuss what you would like to change. We're looking forward to your contributions!

Available Tools

13 tools
add_template_collaboratorC

Creates a HTTPS link for editing a contract template; sends an invitation email if an email is provided..

Inputs: template_id (required), name, email.

create_contractA

Creates a new contract. The contract can be a draft which the user can customize/send, or the contract can be sent instantly. So called 'signature fields' like Name/Date/signature-line must be left out, they are all handled automatically. Contract owners can customize the content by replacing {{placeholder fields}} inside the content, and the signers can fill in Signer fields when they sign the contract.

Inputs: contract_source (required), mcp_query (required), template_id, title, +14 more.

create_templateB

Creates a reusable contract template for contracts to be based on.

Inputs: title (required), document_elements (required), labels.

delete_contractA

Deletes a contract. The contract can only be deleted if it's a test contract or a draft contract.

Inputs: contract_id (required).

delete_templateA

Deletes a contract template.

Inputs: template_id (required).

list_recent_contractsB

Returns the the details of the latest 100 contracts.

Inputs: no named parameters.

list_template_collaboratorsA

Returns the list of template collaborators, including their GUID, name, email, and the HTTPS link for editing the template

Inputs: template_id (required).

list_templatesB

Lists the templates.

Inputs: no named parameters.

query_contractA

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).

Inputs: contract_id (required).

query_templateC

Responds with the template details, template_id, title, labels, created_at, list of the Placeholder fields in the template, list of Signer fields int he template, and the full content inside document_elements

Inputs: template_id (required).

remove_template_collaboratorB

Removes the template collaborator

Inputs: template_id (required), template_collaborator_id (required).

update_templateB

Updates the title, labels or the content of a contract template.

Inputs: title, labels, document_elements.

withdraw_contractC

Withdraws a sent contract.

Inputs: contract_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting specific resources and actions, such as create_contract vs. withdraw_contract for contracts, and create_template vs. update_template for templates. There is no overlap or ambiguity in functionality, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern, such as create_contract, delete_template, and list_recent_contracts. The naming is uniform throughout, with no deviations in style or convention, enhancing readability and predictability.

    Tool Count5/5

    With 13 tools, the server is well-scoped for eSignatures, covering core operations like contract and template management, collaboration, and querying. Each tool serves a distinct and necessary function without being excessive or insufficient for the domain.

    Completeness4/5

    The tool set provides comprehensive CRUD and lifecycle coverage for contracts and templates, including collaboration features. Minor gaps exist, such as no direct tool for updating contract details or handling signer-specific actions beyond querying, but agents can likely work around these with the available tools.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to create and manage contract templates, draft agreements by filling in template variables and signers, send documents out for legally binding e-signature, and track signer status as signatures come in. It runs as a hosted remote server, so there is nothing to install or self-host.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables users to query, create, and manage contracts in plain English from any MCP client, including drafting and sending agreements, tracking renewals and signers, and building templates. It supports OAuth-authenticated workflows with safe defaults such as creating drafts and confirming before sending or changing live agreements.
      MIT