Skip to main content
Glama
esignaturescom

MCP Server for eSignatures

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

  • Signer management, notifications, and lifecycle automation

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

Tools

Tool

Category

Description

create_contract

Contracts

Draft for review or send contract

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 the recent contracts

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 in Markdown format

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

Related MCP server: SendForSign 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 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 rental term to 24 months and remove the jurisdiction section.

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.

Inviting template collaborators

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

Install

Create an eSignatures.com account

Create an eSignatures.com account at https://esignatures.com for free, to test the Agent AI by creating templates and sending test contracts.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYes
nameNoCollaborator's name
emailNoCollaborator's email; triggers an invitation email when provided

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that providing an email 'triggers an invitation email', which adds some context beyond the basic action. However, it lacks critical details: whether this is a read-only or mutating operation, what permissions are required, if the link expires, or what happens on failure. For a tool that likely modifies access permissions, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the primary action ('creates a HTTPS link') and adds conditional behavior ('sends an invitation email if an email is provided'). There is no wasted text, and every part earns its place by clarifying the tool's functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (a tool that likely modifies access and sends emails), lack of annotations, no output schema, and incomplete parameter documentation, the description is inadequate. It doesn't cover behavioral aspects like error handling, response format, or side effects, leaving the agent with significant gaps in understanding how to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (2 out of 3 parameters have descriptions). The description adds minimal value: it echoes that email 'triggers an invitation email', which is already in the schema's email description. It doesn't explain 'template_id' (the required parameter) or 'name' beyond what the schema provides. With moderate schema coverage, the baseline is 3, as the description doesn't significantly compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('creates a HTTPS link', 'sends an invitation email') and identifies the resource ('contract template'). It distinguishes from siblings like 'create_template' or 'update_template' by focusing on collaboration rather than template creation or modification. However, it doesn't explicitly mention 'collaborator' in the description despite the tool name, which slightly reduces specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing template), exclusions (e.g., not for removing collaborators), or compare it to sibling tools like 'remove_template_collaborator' or 'list_template_collaborators'. The agent must infer usage from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_contractC

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idNoGUID of a mobile-friendly contract template within eSignatures. The template provides content, title, and labels. Required unless document_elements is provided.
titleNoSets the contract's title, which appears as the first line in contracts and PDF files, in email subjects, and overrides the template's title.
localeNoLanguage for signer page and emails.
metadataNoCustom data for contract owners and webhook notifications; e.g. internal IDs.
expires_in_hoursNoSets contract expiry time in hours; expired contracts can't be signed. Expiry period can be extended per contract in eSignatures.
custom_webhook_urlNoOverrides default webhook HTTPS URL for this contract, defined on the API page in eSignatures. Retries 6 times with 1 hour delays, timeout is 20 seconds.
assigned_user_emailNoAssigns an eSignatures user as contract owner with edit/view/send rights and notification settings. Contract owners get email notifications for signings and full contract completion if enabled on their Profile.
labelsNoAssigns labels to the contract, overriding template labels. Labels assist in organizing contracts without using folders.
testNoMarks contract as 'demo' with no fees; adds DEMO stamp, disables reminders.
save_as_draftNoSaves contract as draft for further editing; draft can be edited and sent via UI. URL: https://esignatures.com/contracts/contract_id/edit, where contract_id is in the API response.
signersNoList of individuals required to sign the contract. Only include specific persons with their contact details; do not add generic signers.
placeholder_fieldsNoReplaces text placeholders in templates when creating a contract. Example: {{interest_rate}}. Do not add placeholder values when creating a draft.
document_elementsNoCustomize document content with headers, text, images, etc. Owners can manually replace {{placeholder fields}} in the eSignatures editor, and signers can fill in Signer fields. Use placeholders for signer names unless names are already provided. The contract title is automatically added as the first line.
signer_fieldsNoSet default values for Signer fields.
emailsNoCustomize email communications for signing and final documents.
custom_brandingNoCustomize branding for documents and emails.
contract_sourceYesIdentifies the originating system. Currently only mcpserver supported for MCP requests.
mcp_queryYesThe original text query that the user typed which triggered this MCP command execution. Used for logging and debugging purposes.

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions draft/instant sending modes and automatic handling of signature fields, it lacks critical information about permissions required, rate limits, error conditions, response format, or what happens when contracts expire. For a complex creation tool with 18 parameters, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise at 3 sentences but could be more front-loaded. The first sentence establishes purpose, but the following sentences delve into implementation details (signature fields, placeholders) that might be better placed after core functionality. Some redundancy exists between the description and schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex contract creation tool with 18 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, error conditions, authentication requirements, or how it differs from related template operations. The schema does heavy lifting, but the description should provide more contextual guidance for proper usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 18 parameters thoroughly. The description adds minimal value beyond the schema, mentioning placeholder fields and signer fields but not providing additional context about parameter interactions or usage patterns. Baseline 3 is appropriate given the comprehensive schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new contract and distinguishes between draft and instant sending modes. It specifies the resource (contract) and key capabilities (draft creation, placeholder customization, signer field handling). However, it doesn't explicitly differentiate from sibling tools like 'create_template' or 'query_contract'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions when to use draft vs instant sending but provides no guidance on when to use this tool versus alternatives like 'create_template' or 'update_template'. There's no mention of prerequisites, dependencies, or exclusions relative to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_templateB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle for the new template; used for contracts based on this template.
labelsNoAssign labels for organizing templates and contracts; labels are inherited by contracts.
document_elementsYesCustomize template content with headers, text, images. Owners can manually replace {{placeholder fields}} in the eSignatures contract editor, and signers can fill in Signer fields when signing the document. Use placeholders for signer names if needed, instead of Signer fields. Contract title auto-inserts as the first line.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool creates something, implying a write operation, but doesn't mention permissions required, rate limits, whether the operation is idempotent, or what happens on failure. It hints at template inheritance ('labels are inherited by contracts') but lacks details on response format or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It avoids redundancy and wastes no words, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, nested document_elements structure) and lack of annotations or output schema, the description is minimally adequate. It states what the tool does but omits critical context like behavioral traits, error handling, and response format. For a creation tool with intricate input, more guidance would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain parameter interactions, default behaviors, or examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Creates a reusable contract template for contracts to be based on.' It specifies the verb ('creates') and resource ('reusable contract template'), and distinguishes it from sibling tools like 'create_contract' by focusing on templates rather than contracts. However, it doesn't explicitly differentiate from 'update_template' beyond the creation aspect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., permissions needed), when to choose this over 'update_template' or 'create_contract', or any constraints on usage. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_contractA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_idYesGUID of the contract to be deleted.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds important context about the precondition (test/draft contracts only), which is valuable beyond just stating the action. However, it doesn't cover other behavioral aspects like permissions needed, whether deletion is reversible, error handling, or what happens to associated data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just two sentences that directly convey the action and key constraint. Every word earns its place, and the critical information is front-loaded. There's no wasted language or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations and no output schema, the description provides the essential precondition but lacks completeness. It doesn't explain what 'deletes' entails (e.g., permanent removal?), error responses, or return values. Given the complexity of deletion and absence of structured data, more behavioral context would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'contract_id' fully documented in the schema as a 'GUID of the contract to be deleted.' The description doesn't add any additional parameter information beyond what the schema provides, so it meets the baseline for high schema coverage without adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Deletes') and resource ('a contract'), making the purpose immediately understandable. It distinguishes from siblings like 'withdraw_contract' by specifying deletion rather than withdrawal. However, it doesn't explicitly differentiate from 'delete_template' in terms of resource type beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: only for test or draft contracts. This implicitly suggests alternatives like 'withdraw_contract' for non-deletable contracts. However, it doesn't explicitly name alternatives or state when NOT to use it beyond the condition mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_templateC

Deletes a contract template.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesGUID of the template to be deleted.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is a deletion but doesn't cover critical aspects like whether it's irreversible, requires specific permissions, affects related data, or has rate limits. This leaves significant gaps for a destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., irreversibility, permissions), output format, or error handling, leaving the agent with incomplete context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'template_id' documented as a 'GUID of the template to be deleted'. The description adds no additional meaning beyond this, so it meets the baseline for high schema coverage without compensating value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Deletes') and resource ('a contract template'), making the purpose immediately understandable. It doesn't differentiate from sibling tools like 'delete_contract' or 'remove_template_collaborator', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'delete_contract' or 'remove_template_collaborator'. The description lacks context about prerequisites (e.g., whether the template must be unused) or exclusions, offering minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_recent_contractsB

Returns the the details of the latest 100 contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states it returns details of the latest 100 contracts. It doesn't disclose behavioral traits like pagination, rate limits, authentication needs, or what 'details' include, leaving significant gaps for an agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste, clearly front-loading the purpose. It's appropriately sized for a tool with no parameters and straightforward functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'details' include in the return values, and with siblings like 'query_contract' available, more context on usage and output is needed for an agent to effectively use this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds context by specifying 'latest 100 contracts', which provides semantic meaning beyond the empty schema, earning a baseline score above 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Returns') and resource ('contracts'), specifying it provides details of the latest 100 contracts. It distinguishes from siblings like 'query_contract' by implying a bulk retrieval without filtering parameters, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving recent contracts without filtering, suggesting it's for bulk overviews rather than specific queries. However, it doesn't explicitly state when to use this versus siblings like 'query_contract' or 'list_templates', leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_template_collaboratorsC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a read operation ('Returns'), implying it's non-destructive, but doesn't cover other important aspects like authentication requirements, rate limits, error conditions, pagination, or what happens if the template_id is invalid. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words and gets straight to the point, though it could be slightly more structured by explicitly mentioning the parameter. Every part of the sentence contributes meaningful information about what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (1 parameter, no annotations, no output schema), the description is incomplete. It explains the return data but omits critical context: the required parameter 'template_id' is undocumented, behavioral traits like error handling are missing, and there's no output schema to clarify the return structure. For a tool that retrieves data based on an input, this leaves too many unknowns for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter documentation. The description doesn't mention the 'template_id' parameter at all, leaving it completely undocumented. With 1 required parameter and no explanation in the description, the agent lacks context on what this parameter represents or how to use it, failing to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Returns the list of template collaborators' with specific details about what information is included (GUID, name, email, HTTPS link). It uses a specific verb ('Returns') and resource ('template collaborators'), but doesn't explicitly distinguish it from sibling tools like 'list_templates' or 'query_template' beyond the focus on collaborators.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing a valid template_id), when not to use it, or how it differs from sibling tools like 'query_template' which might also retrieve template-related data. The agent must infer usage from the tool name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesC

Lists the templates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but provides almost none. 'Lists the templates' implies a read-only operation but doesn't specify whether this returns all templates, paginated results, requires authentication, has rate limits, or what format the output takes. For a tool with zero annotation coverage, this minimal description leaves critical behavioral traits undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is maximally concise at just three words ('Lists the templates.'). It's front-loaded with the core action and resource, with zero wasted words or redundant information. For such a simple tool, this brevity is appropriate and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema) but lack of annotations, the description is incomplete. It doesn't explain what 'lists' means operationally—whether it returns all templates, supports filtering, requires permissions, or what the output structure looks like. For even a simple list operation, more context about behavior would be helpful for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage (empty schema), so the description doesn't need to compensate for parameter documentation. The baseline for this situation is 4, as there are no parameters to explain beyond what the schema already provides (none). The description doesn't add parameter semantics, but none are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lists the templates' is a tautology that essentially restates the tool name 'list_templates' without adding meaningful specificity. While it correctly identifies the verb ('Lists') and resource ('templates'), it doesn't distinguish this tool from sibling tools like 'query_template' or provide any additional context about what kind of templates or what listing entails.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. With sibling tools like 'query_template' (likely for specific template lookup) and 'list_recent_contracts' (for a different resource type), the description offers no indication of whether this is for browsing all templates, filtered templates, or how it differs from query operations. The agent receives no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_idYesGUID of the contract (draft contracts can't be queried, only sent contracts).

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively communicates key behavioral traits: it's a read operation (implied by 'responds with'), discloses that 'signer events are included only for recent contracts', and explicitly mentions 'rate limiting'. However, it doesn't cover other potential behaviors like error conditions, authentication requirements, or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured as a single sentence that lists all return fields and includes important behavioral notes. It's appropriately sized for the tool's complexity, though it could be slightly more front-loaded by stating the core purpose more clearly before listing fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation with no annotations and no output schema, the description provides reasonable coverage of what the tool returns and some behavioral constraints. However, it doesn't explain the return format structure, error handling, or provide complete context about the 'recent contracts' limitation. Given the tool's moderate complexity, the description is adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100% with the single parameter 'contract_id' well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema description. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Responds with the contract details' followed by a specific list of fields returned. It uses the verb 'responds with' and identifies the resource as 'contract details' with specific attributes. However, it doesn't explicitly differentiate from sibling tools like 'list_recent_contracts' or 'query_template' beyond the scope of a single contract query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the mention of 'recent contracts' and 'rate limiting', but doesn't provide explicit guidance on when to use this tool versus alternatives like 'list_recent_contracts' or 'query_template'. The input schema description mentions 'draft contracts can't be queried, only sent contracts', which provides some usage constraint, but this isn't in the main description text.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesGUID of the template.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states it 'responds with' details, implying a read-only operation, but doesn't clarify if it's safe, requires authentication, has rate limits, or what happens on errors. For a tool with no annotations, this leaves significant behavioral gaps, as it doesn't address permissions, side effects, or response handling beyond listing fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single run-on sentence that lists multiple fields without clear structuring. While it efficiently enumerates what the tool returns, it could be more front-loaded and organized (e.g., separating core details from lists). It's not overly verbose, but the lack of structure reduces readability and could be improved for better agent comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and a simple input schema with one parameter, the description provides basic completeness by listing return fields. However, it doesn't cover behavioral aspects like error handling or authentication needs, and without an output schema, it doesn't detail the structure of returned lists (e.g., Placeholder fields). For a read tool with minimal structured data, this is adequate but has clear gaps in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'template_id' documented as a 'GUID of the template'. The description doesn't add any additional meaning about the parameter beyond what the schema provides—it doesn't explain format examples, validation rules, or where to obtain the GUID. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate with extra insights.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to respond with template details including specific fields like template_id, title, labels, created_at, and lists of Placeholder and Signer fields, plus document_elements content. It specifies the verb 'responds with' and resource 'template details', making the purpose clear. However, it doesn't explicitly distinguish this from sibling tools like 'list_templates' or 'query_contract', which would require more differentiation for a score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate compared to 'list_templates' (which likely lists multiple templates) or 'query_contract' (which might query contracts instead of templates). There's no indication of prerequisites, context, or exclusions, leaving the agent with insufficient usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_template_collaboratorC

Removes the template collaborator

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesTemplates's GUID.
template_collaborator_idYesCollaborator's GUID.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'removes' implies a destructive mutation, it doesn't specify whether this requires admin permissions, if the action is reversible, what happens on success/failure, or any rate limits. For a mutation tool with zero annotation coverage, this leaves critical behavioral traits undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. Every word ('Removes the template collaborator') contributes essential information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on permissions, side effects, error handling, or return values, which are crucial for safe and effective use. The high schema coverage helps with parameters, but overall context is insufficient for a mutation operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both parameters clearly documented as GUIDs for the template and collaborator. The description adds no additional semantic context beyond what the schema provides, such as format examples or relationship details. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('removes') and the resource ('template collaborator'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'delete_template' or 'withdraw_contract', which also involve removal operations, so it doesn't fully distinguish itself from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing to list collaborators first), exclusions, or comparisons to siblings like 'delete_template' (which removes the entire template) or 'list_template_collaborators' (which might be used to identify collaborators to remove).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_templateC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoThe new title of the template.
labelsNoList of labels to be assigned to the template.
document_elementsNoThe content of the template like headers, text, and images for the document.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is an update operation, implying mutation, but doesn't describe permissions required, whether changes are reversible, how partial updates are handled, or what the response looks like. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose with zero wasted words. It directly communicates what the tool does without unnecessary elaboration or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address behavioral aspects like error conditions, response format, or side effects. The complexity of the document_elements parameter (with multiple nested object types) suggests the tool has significant behavioral nuance that isn't captured in the minimal description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description mentions the same three parameters (title, labels, content) but adds no additional semantic context beyond what's in the schema. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Updates') and the resource ('contract template'), specifying what can be updated ('title, labels or the content'). It distinguishes from siblings like create_template (creation) and delete_template (deletion), but doesn't explicitly differentiate from other update operations that might exist.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing template ID), constraints (e.g., what happens if only partial fields are provided), or relationships with sibling tools like query_template (to check current state) or create_template (for initial creation).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

withdraw_contractC

Withdraws a sent contract.

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_idYesGUID of the contract to be withdrawn.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the action without disclosing behavioral traits. It doesn't clarify if withdrawal is reversible, requires specific permissions, affects contract state, or has side effects, which is inadequate for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it highly concise and front-loaded. It directly states the tool's purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavior, outcomes, error conditions, or how it differs from siblings, leaving significant gaps in understanding for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the 'contract_id' parameter as a GUID. The description adds no additional meaning beyond what the schema provides, such as format examples or context, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('withdraws') and resource ('a sent contract'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'delete_contract' or explain what 'withdraw' means versus deletion, leaving room for improvement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'delete_contract' or 'query_contract', nor does it mention prerequisites like contract status or user permissions. The description lacks context for effective tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
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

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with the BoldSign e-signature platform through its API. Supports managing documents, templates, contacts, users, and teams for electronic signature workflows.
    14
    94
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables users to create, manage, and track electronic signing requests and templates through Claude Desktop and other MCP-compatible clients. Provides multi-tenant authentication with customer API keys for secure document workflow operations.
    66
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to manage document signing workflows via natural language, including creating envelopes, uploading documents, analyzing contracts, and verifying blockchain anchors.
    8
    50
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/esignaturescom/mcp-server-esignatures'

If you have feedback or need assistance with the MCP directory API, please join our Discord server