Skip to main content
Glama
mikeysrecipes

eSignatures MCP Server

mcp-server-esignatures MCP server

MCP server for eSignatures (https://esignatures.com)

Tools

Tool

Category

Description

create_contract

Contracts

Draft for review or send contract

query_contract

Contracts

Retrieve contract info

withdraw_contract

Contracts

Withdraw an unsigned contract

delete_contract

Contracts

Delete a draft or test contract

list_recent_contracts

Contracts

List the recent contracts

create_template

Templates

Create a new contract template

update_template

Templates

Update an existing template

query_template

Templates

Retrieve template content and info

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: BoldSign MCP Server

Examples

Creating a Draft Contract

Generate a draft NDA contract for a publisher, which I can review and send. Signer: John Doe, ACME Corp, john@acme.com

Sending a Contract

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

Updating templates

Review my templates for legal compliance, and ask me about updating each one individually

Inviting template collaborators

Invite John Doe to edit the NDA template, email: john@acme.com

Install

Create an eSignatures account

Create an eSignatures 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 API secret token.

eSignatures API Documentation

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

eSignatures 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
nameNoCollaborator's name
emailNoCollaborator's email; triggers an invitation email when provided
template_idYes

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 the full burden of disclosing side effects. It does mention the invitation email, which is useful behavioral information. However, it omits that this is a mutating operation on the template's collaborator list, whether the access persists, what permissions are needed, or how the action can be reversed.

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 short and front-loaded with the primary action, followed by the conditional email behavior. It is efficient with no fluff, though the double period and 'a HTTPS' grammar issue make the text feel slightly unpolished.

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?

There is no output schema and no annotation coverage, so the description should explain what the tool returns, but it never states whether the generated HTTPS link is the return value. It also does not cover permission requirements, reversibility, or how this affects existing collaborators. For a mutation tool with optional email side effects, this is a significant completeness gap.

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 already describes name and email, and the description mostly restates the email-to-invitation behavior. It adds some context by clarifying that the tool creates an editing link for the template, which helps explain the purpose of template_id. It does not add meaningful detail about name or any parameter constraints.

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 gives a specific outcome: creating an HTTPS link for editing a contract template and conditionally sending an invitation email. The action is concrete enough for an agent to understand the tool's basic function. However, it never explicitly says it 'adds a collaborator' to a template, so part of the core meaning relies on the tool name rather than the description.

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?

There is no guidance on when to choose this tool over alternatives such as remove_template_collaborator or list_template_collaborators. The description only explains what the tool does, leaving the agent to infer usage context from the tool name and sibling list. No exclusions or alternative routing are provided.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
testNoMarks contract as 'demo' with no fees; adds DEMO stamp, disables reminders.
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.
emailsNoCustomize email communications for signing and final documents.
labelsNoAssigns labels to the contract, overriding template labels. Labels assist in organizing contracts without using folders.
localeNoLanguage for signer page and emails.
signersNoList of individuals required to sign the contract. Only include specific persons with their contact details; do not add generic signers.
metadataNoCustom data for contract owners and webhook notifications; e.g. internal IDs.
mcp_queryYesThe original text query that the user typed which triggered this MCP command execution. Used for logging and debugging purposes.
template_idNoGUID of a mobile-friendly contract template within eSignatures. The template provides content, title, and labels. Required unless document_elements is provided.
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.
signer_fieldsNoSet default values for Signer fields.
contract_sourceYesIdentifies the originating system. Currently only mcpserver supported for MCP requests.
custom_brandingNoCustomize branding for documents and emails.
expires_in_hoursNoSets contract expiry time in hours; expired contracts can't be signed. Expiry period can be extended per contract in eSignatures.
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.
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.
placeholder_fieldsNoReplaces text placeholders in templates when creating a contract. Example: {{interest_rate}}. Do not add placeholder values when creating a draft.
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.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral disclosure burden, and it does add meaningful traits: the contract can be draft or instantly sent, signature fields are automatically handled and must not be added manually, and placeholder/signer field behavior is explained. However, it does not disclose side effects such as signature-request emails being sent, authentication/ownership requirements, or fee and reminder behavior, leaving an agent with important unknown consequences for a mutating action.

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 three sentences long and every sentence earns its place: purpose, mode options, automatic signature-field handling, and placeholder/signer field behavior. It is appropriately front-loaded with 'Creates a new contract' and wastes no words on irrelevant detail.

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 an 18-parameter tool with nested objects, no annotations, and no output schema, the high-level description is somewhat thin. It does not integrate or highlight key parameter relationships such as template_id being required unless document_elements is provided, the meaning of contract_source/mcp_query, or how save_as_draft affects the workflow. The schema fills most gaps, but the agent would still need to wade through a very large schema without a compact operational overview.

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 input schema already documents every parameter in detail. The description adds some cross-cutting context about placeholders and signer fields, but it does not explain specific parameter mechanics such as template_id vs document_elements or save_as_draft behavior beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description opens with the specific action 'Creates a new contract' and immediately clarifies the main modes: a draft the user customize/send or an instantly sent contract. It also distnguishes this from sibling resource-level tools like create_template by focusing on the contract entity and its signing workflow. The mention of automatic signature field handling further sharpens what is unique about this tool.

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 explicit when-to-use guidance or exclusions relative to sibling tools such as create_template, query_contract, or withdraw_contract. It implies usage by saying 'Creates a new contract,' but it does not explain when this tool should be used instead of a template-oriented flow or when draft vs. instant sending is appropriate at the decision level.

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Creates', with no mention of side effects, generated IDs, label inheritance, placeholders, signer field behavior, or reversibility. The schema contains some behavioral notes, but the top-level description itself is minimal.

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 concise sentence with no redundancy or filler. It is front-loaded with the core action, though it is too terse to convey broader behavioral context.

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 (rich document_elements schema, no annotations, no output schema, and no sibling differentation), the description is incomplete. It does not describe what the tool returns, how templates are later used by contracts, or any operation-level side effects. The schema covers parameters but not the surrounding workflow 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?

Schema description coverage is 100%, so the schema already documents all parameters (title, labels, document_elements) in detail. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate.

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 states a specific verb ('Creates') and resource ('reusable contract template') and gives the purpose ('for contracts to be based on'). It clearly distinguishes the operation from contract creation or template modification, though it does not explicitly contrast with sibling tools.

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 phrase 'for contracts to be based on' implies the intended use case: creating a template to be reused by future contracts. However, it gives no explicit guidance on when to choose this over alternatives like create_contract or update_template, and no exclusions.

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.8/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden of behavioral disclosure. It correctly indicates destructive scope and the restriction to test/draft states, but does not state permanence, permissions, or what happens if the condition is not met.

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?

Two short sentences with no filler. The action is front-loaded and the eligibility condition follows immediately, making the description easy to process.

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

Completeness4/5

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

For a single-parameter delete tool without annotations or output schema, this description covers the core object and the key precondition. It leaves out only secondary details such as error handling or side effects, which are less critical for simple deletion.

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 already fully describes contract_id as 'GUID of the contract to be deleted', so the tool description adds no parameter-level meaning. With 100% schema coverage, the baseline of 3 is appropriate.

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 names a specific action ('Deletes') and resource ('a contract'), and adds a scope restriction (only test or draft contracts). However, it does not explicitly distinguish this from the sibling withdraw_contract, so it is clear but not fully differentiated.

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 eligibility condition ('only be deleted if it's a test contract or a draft contract') gives concrete guidance on when this tool can be applied. It stops short of naming an alternative for non-draft/test contracts, but the context is clear enough for selection.

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

delete_templateA

Deletes a contract template.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idYesGUID of the template to be deleted.

TDQS

A3.5/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. 'Deletes' communicates a destructive action, but it does not mention irreversibility, cascading effects, permissions, or what happens after deletion. Additional behavioral context is missing.

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, front-loaded sentence with no wasted words. It states the action and resource directly and is appropriately concise for a simple one-parameter tool.

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 simple one-parameter deletion tool, the description plus schema provides enough to invoke it. However, it lacks behavioral details such as deletion permanence, potential restrictions, and side effects, so it is adequate but not fully complete.

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 already fully documents template_id as a required GUID, with 100% schema description coverage. The description adds no extra semantic detail, but none is needed beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Deletes a contract template.' clearly identifies the action (delete) and the resource (contract template). This distinguishes it from siblings like delete_contract, which targets contracts rather than templates.

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 when to use the tool: when the goal is to remove a contract template. However, it gives no explicit context about prerequisites, exclusions, or how it compares to alternatives like delete_contract or withdraw_contract.

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.2/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It does mention the 100-item limit and recency, but it does not define what 'latest' means, what fields are included in 'details,' or whether the operation is read-only.

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 sentence with no filler, and the key scope ('latest 100 contracts') is front-loaded. The minor typo 'the the' does not meaningfully reduce conciseness or structural quality.

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 zero-parameter listing tool with no output schema, this description conveys the core behavior but leaves ambiguity about ordering semantics and the exact shape of the returned contract details. It is adequate for basic selection but not fully complete.

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 zero parameters, so there is nothing for the description to clarify; the baseline for 0-parameter tools is 4. The description adds no parameter details, but none are needed given the empty schema.

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 ('Returns') and the resource/scope ('details of the latest 100 contracts'), making the basic purpose understandable. It does not explicitly differentiate from query_contract, but the 'latest 100 contracts' framing is specific enough to distinguish it from template-related siblings.

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 such as query_contract or create_contract. There are no exclusions, prerequisites, or selection criteria, so the agent must infer usage solely from the name and minimal description.

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

list_template_collaboratorsA

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

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden of indicating that this is a read operation; 'Returns' does suggest that, and the listed fields preview the response. However, it does not disclose permissions, error behavior, pagination, or behavior for an invalid template_id.

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?

A single front-loaded sentence states the operation and the most useful output fields with no filler, repetition, or unnecessary detail.

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

Completeness4/5

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

For a one-parameter list operation with no output schema, the description is largely complete: it identifies the input template and the returned collaborator fields. It lacks only minor semantics such as pagination or error behavior, which are less critical for a simple list tool.

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 provides only a required string template_id with 0% coverage, so the description must compensate. It indirectly clarifies that the parameter identifies the template whose collaborators are listed, but it does not explicitly describe the parameter's meaning, format, or constraints.

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

Purpose5/5

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

The description uses a specific verb ('Returns the list') and resource ('template collaborators'), and it names the key fields included. This makes the tool easy to distinguish from siblings like add_template_collaborator and remove_template_collaborator.

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 the tool is for retrieving collaborators on an existing template, but it does not explicitly state when to use it over alternatives or mention exclusions. The use case is reasonably clear for a simple list operation, but no routing guidance is provided.

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

list_templatesB

Lists the templates.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations present, the description carries the full burden of behavioral disclosure. It only says 'lists,' which weakly implies a read-only operation, but it does not disclose pagination, authentication requirements, returned fields, or whether all templates are returned.

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 short sentence with no wasted words and starts with the verb. It is concise, though its brevity makes it feel minimal and somewhat redundant with the tool name.

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?

There is no output schema, so the description is the only information an agent has about the return value or side effects. 'Lists the templates' is too sparse to confirm the result type, the fields returned, or whether any filtering occurs. For a zero-parameter tool it may be usable, but it is not complete enough to reliably distinguish behavior from sibling list/query tools.

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 zero parameters and the input schema is empty, so the baseline for this dimension is 4. There are no parameter semantics for the description to add or clarify.

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 uses a specific verb ('Lists') and a concrete resource ('templates'), so the basic operation is clear. It does not explicitly distinguish itself from sibling query_template, and 'the templates' is underspecified, so it stops short of a 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?

There is no guidance on when to use this tool versus query_template, list_recent_contracts, or list_template_collaborators, and no mention of when not to use it. Usage must be inferred entirely from the name and the single verb.

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.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose meaningful behavior: optional fields are conditional, signer events are only included for recent contracts, and rate limiting applies. It does not explicitly state that this is a read-only operation or describe error/not-found behavior, which would increase transparency.

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 dense sentence that packs in the key return fields and important caveats without unnecessary filler. The opening phrase 'contract details' is slightly redundant with the explicit list that follows, but overall it remains compact and readable.

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

Completeness4/5

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

Given there is no output schema, the description does a good job listing expected return fields and important conditional behaviors like optional PDF/expiry and signer-event rate limiting. It could be more complete by specifying rate-limit details and what happens for invalid or draft contracts, but for a one-parameter query tool it is largely sufficient.

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 already fully documents the single contract_id parameter, including the GUID format and the draft-contract restriction. The description adds no parameter-specific detail, so the baseline score of 3 is appropriate.

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 identifies a query/read operation for a single contract and enumerates the returned fields, making the tool's purpose unambiguous. It does not explicitly contrast with list_recent_contracts or query_template, but the resource and verb are still clear.

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 the tool is for retrieving a specific contract's details via contract_id, and the caveat about signer events only for recent contracts provides some context. However, it does not explicitly say when to prefer this over list_recent_contracts or mention the draft-contract exclusion, which lives only in the schema.

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?

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read operation by saying 'Responds with' and lists output fields, but it does not explicitly state that the tool is read-only or describe error behavior, permissions, or side effects.

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 containing a typo ('int he'). It is front-loaded with 'template details' and lists the returned fields, but the structure is jumbled and could be clearer if broken into a sentence and a list.

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?

There is no output schema, so the description is responsible for explaining what is returned. It lists most key fields and mentions document_elements content, but it does not clarify the response structure, whether some fields are optional, or what happens for a nonexistent template_id.

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 coverage is 100% and the only parameter, template_id, is already described as a GUID of the template. The description does not add parameter-level semantics, but the schema fully documents the parameter, so a baseline 3 is appropriate.

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 states that the tool responds with template details and enumerates specific fields (template_id, title, labels, created_at, placeholders, signers, document_elements), making the resource and output clear. It is distinguishable from siblings like list_templates and query_contract, though 'Responds with' is a weak action verb and the read behavior is only implied by the tool name.

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 list_templates or query_contract. The description only reports what is returned and does not mention exclusions, prerequisites, or alternative routing.

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

remove_template_collaboratorB

Removes the template collaborator

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

TDQS

B3.2/5.0
Behavior2/5

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

There are no annotations, so the description carries the full behavioral burden. 'Removes' reveals the core mutation but does not disclose whether the removal is permanent, whether it affects collaborator access elsewhere, or whether any authorization is required. The lack of side-effect or reversibility context leaves the agent under-informed 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.

Conciseness4/5

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

The description is one short sentence with no filler and the main verb is front-loaded. It loses one point only because the terseness omits a little context that would make the resource unambiguous.

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?

The tool is simple, has fully documented parameters, and no output schema, so the description does not need to explain return values. However, with no annotations and no mention of permanence or side effects, it is only adequately complete rather than richly specified.

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% and both parameters have GUID descriptions, so the schema already documents the inputs. The description does not add parameter-level meaning, which fits the baseline of 3 for high schema coverage.

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

Purpose5/5

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

The description uses a specific verb ('Removes') with a specific resource ('the template collaborator'), and the sibling set includes add_template_collaborator and list_template_collaborators, so an agent can distinguish this removal operation immediately.

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 states only what the tool does, with no guidance on when to use it, when not to use it, or how it relates to add_template_collaborator/list_template_collaborators. It is not misleading, but an agent gets no decision criteria.

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

update_templateB

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

B3.4/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 only names the affected fields and does not state whether the document content is fully replaced or merged, whether the update is reversible, or what the response looks like. For a mutation tool, this is a significant transparency gap.

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, concise, front-loaded sentence with no filler or redundant wording. Every part contributes to stating the tool's action and scope.

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?

The tool has a complex document_elements schema, no annotations, and no output schema, yet the description provides no further context. It omits update semantics, target identification, and return behavior, leaving an agent under-informed 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?

Schema description coverage is 100%, and each parameter already has a meaningful description in the schema. The description only echoes the parameter names without adding new semantic detail, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb ('Updates'), the resource ('contract template'), and the affected aspects ('title, labels or the content'). This distinguishes it from sibling tools such as create_template, delete_template, query_template, and list_templates by making its update role explicit.

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 update purpose implies this tool is for modifying an existing template rather than creating or deleting one, matching the sibling set. However, the description gives no explicit guidance on when to prefer this tool over create_template or any other alternative, leaving usage largely to inference.

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 present, the description carries the full burden of explaining behavior. It only states the action 'withdraws a sent contract' and gives a state precondition, but does not disclose whether the operation is destructive, reversible, requires permissions, or produces side effects. For a mutation tool, this is a significant transparency gap.

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 very concise and front-loaded, with no wasted words. However, it is arguably under-specified rather than efficiently complete, so it does not earn a 5.

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 absence of annotations and output schema, the description is too sparse to fully contextualize a mutating contract operation. It does not clarify the contract lifecycle, what 'withdraw' entails, when it is valid, or how it differs from deletion, leaving an agent without enough context to invoke it confidently.

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% and the single parameter contract_id is already documented as 'GUID of the contract to be withdrawn.' The description adds little beyond what the schema provides, so the baseline score of 3 applies.

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 states the specific verb 'withdraws' and the resource 'sent contract,' which clearly identifies the operation and distinguishes it from generic contract actions. However, it does not explicitly contrast with delete_contract, so some ambiguity remains about whether withdrawal is a deletion or a state transition.

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 like delete_contract, query_contract, or create_contract. The phrase 'sent contract' implies a precondition, but exclusions, prerequisites, and alternative routing are left entirely to inference.

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

Tool Schema Changelog

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

  1. 13 tool updatesv0.1.0
    • First observedadd_template_collaborator
    • First observedcreate_contract
    • First observedcreate_template
    • First observeddelete_contract
    • First observeddelete_template
    • First observedlist_recent_contracts
    • First observedlist_template_collaborators
    • First observedlist_templates
    • First observedquery_contract
    • First observedquery_template
    • First observedremove_template_collaborator
    • First observedupdate_template
    • First observedwithdraw_contract

TDQS

A3.6/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct resource-action combination: contracts, templates, or template collaborators. Contract lifecycle tools are clearly separated from template tools, and collaborator tools are unambiguous.

Naming Consistency5/5

Tool names consistently follow a verb_noun pattern (create_contract, query_template, delete_contract). Minor variants like list_recent_contracts and add_template_collaborator still fit the overall convention cleanly.

Tool Count5/5

13 tools is well-scoped for an e-signature server covering contracts, templates, and template collaboration. Each tool has a clear purpose without excessive overlap or bloat.

Completeness4/5

The server covers contract creation, retrieval, listing, deletion, and withdrawal, plus full template CRUD and collaborator management. Minor gaps exist, such as no explicit update/send contract endpoint or resend/remind capability, but core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

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
    27 npm
    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 npm
    -