docuseal-mcp-server
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clearly distinct purpose targeting specific resources and actions: create_submission, get_submission, list_submissions for submissions; create_template_from_pdf, get_template, list_templates for templates; get_submitter, list_submitters, update_submitter for submitters; and get_submission_documents for document handling. No ambiguity exists as tools do not overlap in functionality.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern with snake_case throughout: create_submission, get_submission, list_submissions, create_template_from_pdf, get_template, list_templates, get_submitter, list_submitters, update_submitter, get_submission_documents. This predictable naming aids agent selection and understanding.
Tool Count5/5With 10 tools, the count is well-scoped for a document signing server, covering core workflows for submissions, templates, and submitters. Each tool earns its place by providing distinct operations without being excessive or insufficient for the domain.
Completeness4/5The tool set offers strong CRUD/lifecycle coverage for submissions (create, get, list), templates (create, get, list), and submitters (get, list, update), with document retrieval. Minor gaps include no update or delete for submissions and templates, but agents can work around this, and core workflows are well-supported.
Average 3.1/5 across 10 of 10 tools scored.
See the Tool Scores section below for per-tool breakdowns.
This repository is archived. Archived repositories automatically receive an F maintenance tier.
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- 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 mentions pagination but doesn't describe how pagination works (e.g., cursor-based with 'after'/'before'), default limit, or sorting. It also doesn't mention authentication requirements, rate limits, or whether this is a read-only operation (though 'list' implies reading).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—just one sentence that efficiently communicates the core functionality and supported filters. Every word earns its place with zero wasted text, 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/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain the return format (e.g., list of objects with fields), pagination mechanics, error conditions, or provide examples. The lack of output schema means the description should ideally cover return values, which it doesn't.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists 7 parameters (status, template_id, q, archived, after, before, limit) but misses 2 from the schema (slug, template_folder). For the listed parameters, it provides no semantic context about what they filter (e.g., 'q' for search query, 'after'/'before' for pagination). This adds minimal value beyond the bare parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'submissions', making the purpose immediately understandable. It distinguishes this tool from siblings like 'get_submission' (singular retrieval) and 'create_submission' (creation). However, it doesn't specify what kind of submissions (e.g., form submissions, document submissions), leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like 'get_submission' (for single submission) or 'list_submitters' (for related entities). It mentions pagination and filters but doesn't explain when filtering is appropriate or what the default behavior is without parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 mentions the upload action but fails to describe critical behaviors such as required permissions, file size limits, error handling, or what the created template entails (e.g., format, storage). This leaves significant gaps 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core action, using only two sentences. However, the second sentence could be more structured (e.g., separating required vs. optional parameters clearly), slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a PDF upload and template creation tool with no annotations and no output schema, the description is inadequate. It lacks details on behavioral traits, error cases, and the nature of the output, making it incomplete for safe and effective use by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value by noting the preference for 'file_path' over 'file_base64' and listing optional parameters, but it doesn't provide additional semantic context beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Upload a PDF and create a template') and the resource ('template'), making the purpose understandable. However, it doesn't explicitly differentiate this from sibling tools like 'get_template' or 'list_templates', which would require 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/5Does 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 like 'create_submission' or other template-related tools. It only lists parameters without context, leaving the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 the tool retrieves 'full submission details', implying a read-only operation, but doesn't clarify aspects like error handling (e.g., what happens with invalid IDs), authentication needs, rate limits, or response format. The description is minimal and lacks critical behavioral context for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is 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 front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes essential information, achieving optimal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a read operation with one parameter), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what 'full submission details' includes, how errors are handled, or any behavioral traits. For a tool with zero annotation coverage and no output schema, the description should provide more context to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It mentions 'submission ID' as the key parameter, adding semantic meaning beyond the schema's generic integer type. However, it doesn't explain what constitutes a valid submission ID (e.g., format, source, or constraints), leaving gaps in parameter understanding. The description provides basic context but falls short of fully compensating for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('full submission details'), specifying it retrieves information by submission ID. It distinguishes from siblings like 'list_submissions' by focusing on a single submission rather than multiple. However, it doesn't explicitly contrast with 'get_submission_documents', which might retrieve related documents instead of full details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 a valid submission ID), exclusions, or comparisons to siblings like 'list_submissions' for bulk retrieval or 'get_submission_documents' for specific document access. Usage is implied but not explicitly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Get a template' but doesn't clarify if this is a read-only operation, what data is returned (e.g., template details, files, or metadata), or any constraints like authentication needs or rate limits. This leaves significant gaps in understanding 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes directly to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'get' returns (e.g., template structure, fields, or files), which is critical for a retrieval tool. With no behavioral details and minimal parameter guidance, it fails to provide enough context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'by template ID', aligning with the single parameter 'template_id'. With 100% schema description coverage, the schema already documents the parameter as a unique integer. The description adds minimal semantic context beyond the schema, so it meets the baseline score of 3 without compensating for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('a template'), specifying it's retrieved by template ID. It distinguishes from sibling tools like 'list_templates' by focusing on a single template retrieval rather than listing. However, it doesn't specify what 'get' entails (e.g., fetching metadata, content, or both), keeping it from 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/5Does 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 to choose 'get_template' over 'list_templates' for bulk retrieval or other siblings for related operations. There's no context on prerequisites, such as needing an existing template ID, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 mentions the tool updates a submitter, implying mutation, but doesn't specify required permissions, whether changes are reversible, rate limits, or what happens to unspecified fields. This is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action and lists key fields. There's no wasted text, but it could be slightly more structured by separating usage context from parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 9 parameters, no annotations, and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., side effects, error handling), doesn't cover all parameters adequately, and provides no information on return values or success criteria.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists common fields like email, phone, name, completed, send_email, send_sms, and metadata, which adds some meaning beyond the schema. However, with schema description coverage at 44% (low), it doesn't fully compensate for undocumented parameters such as 'values' or provide details on field formats or constraints, keeping it at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and target ('a submitter by ID'), and lists the fields that can be updated. However, it doesn't explicitly differentiate this tool from sibling tools like 'get_submitter' or 'list_submitters', which would require 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/5Does 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 like 'create_submission' or 'get_submitter', nor does it mention prerequisites such as needing an existing submitter ID. It only states what the tool does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 it's a read operation ('Get'), implying it's non-destructive, but doesn't cover aspects like authentication requirements, error handling for invalid IDs, rate limits, or return format. This leaves significant gaps for a tool that fetches 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action, making it easy to understand at a glance, and every part of the sentence contributes to clarifying the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, no output schema) and high schema coverage, the description is minimally adequate. However, it lacks details on behavioral traits like error cases or return structure, which are important for a data retrieval tool with no annotations, leaving room for improvement in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'submitter_id' fully documented in the schema as a unique integer. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints, 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('submitter details') with a specific identifier ('by submitter ID'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'list_submitters' or 'get_submission', which might retrieve similar data in different ways.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 sibling tools like 'list_submitters' for browsing all submitters or 'get_submission' for related data, nor does it specify prerequisites such as needing a valid submitter ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 pagination (a useful behavioral trait), it doesn't describe important aspects like whether this is a read-only operation, what permissions are required, how results are ordered, or what the response format looks like. For a listing tool with 5 parameters, 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - just one sentence that efficiently communicates the core purpose and enumerates all parameters. Every word earns its place with zero wasted text, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with 5 well-documented parameters but no annotations and no output schema, the description provides basic operational context but lacks important details about response format, error conditions, and behavioral constraints. The mention of pagination is helpful, but more context about the listing behavior would be beneficial given the absence of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists all 5 parameters by name and provides brief hints about their purposes (e.g., 'max 100' for limit, 'search' for q). However, with 100% schema description coverage where each parameter already has clear documentation, the description adds only marginal value beyond what's already in the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('templates'), and mentions pagination which provides additional context about the operation's scope. However, it doesn't explicitly differentiate this tool from its sibling 'get_template', which retrieves a single template rather than listing multiple.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like 'get_template' or 'list_submissions'. It mentions parameters but doesn't explain the context or scenarios where this listing operation would be appropriate versus retrieving individual templates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions merging into PDF and downloading locally, which adds some behavioral context beyond basic retrieval. However, it lacks critical details like whether this is a read-only operation, what permissions are needed, how errors are handled, or what the return format is (e.g., file paths, binary data). For a tool with potential side-effects (downloading files), 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences that directly address core functionality and optional features. Every word earns its place, and it's front-loaded with the primary purpose. No wasted verbiage or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given 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 for a tool with 4 parameters and potential side-effects (downloading files). It doesn't explain what happens when merge=true vs. false, how documents are returned without download, or any error conditions. For a document retrieval tool with optional processing, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 thoroughly. The description adds marginal value by hinting at the interaction between 'download=true' and 'output_dir', but doesn't provide additional semantics beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'submission documents', which is specific and unambiguous. It distinguishes from siblings like 'get_submission' (which presumably retrieves metadata) by focusing on documents. However, it doesn't explicitly differentiate from all siblings, so it's not a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it by mentioning optional merging and downloading features, suggesting this tool is for retrieving documents with possible processing. However, it doesn't explicitly state when to choose this over alternatives like 'get_submission' or provide clear exclusions, leaving some ambiguity about the exact use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 mentions that emails can be disabled via 'send_email', hinting at notification behavior, but fails to cover critical aspects such as authentication requirements, rate limits, error handling, or what happens upon creation (e.g., whether it triggers workflows). For a mutation tool with zero annotation coverage, this is a significant 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in a single sentence, front-loaded with the core purpose and followed by a clear breakdown of required and optional parameters. Every word earns its place, with no redundant information, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with 4 parameters, no annotations, and no output schema, the description is moderately complete. It covers the basic purpose and parameters but lacks details on behavioral traits (e.g., side effects, permissions) and return values, which are crucial for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, with the 'message' parameter lacking a description in the schema. The description compensates by listing all parameters (template_id, signers, message, send_email) and clarifying their roles (e.g., 'message' as optional text for emails). It adds value beyond the schema by summarizing required vs. optional parameters, though it doesn't detail nested structures like 'signers' objects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a signature request') and resource ('from a template'), with specific required elements (template_id and signers). It distinguishes itself from sibling tools like 'create_template_from_pdf' by focusing on submissions rather than templates, though it doesn't explicitly contrast with other submission-related tools like 'list_submissions'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying required parameters (template_id and signers), suggesting this tool is for initiating signature requests from existing templates. However, it lacks explicit guidance on when to use this versus alternatives like 'create_template_from_pdf' for template creation or 'list_submissions' for viewing submissions, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 value by mentioning pagination support and optional filtering, which are useful behavioral traits. However, it lacks details on permissions, rate limits, error handling, or what the output looks like (e.g., format, fields). For a list tool with no annotations, this is adequate but has clear 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences that front-load the core purpose and key features. Every word earns its place: 'List submitters' states the action, 'Optionally filter by submission_id' adds a key usage note, and 'Supports pagination via limit/after/before' explains behavioral traits. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is minimally complete. It covers the basic purpose, filtering, and pagination but lacks details on output format, error cases, or integration with sibling tools. Without annotations or output schema, more context would be helpful for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low at 25%, with only 'submission_id' having a description. The description compensates by explaining that 'submission_id' is for filtering and that 'limit/after/before' are for pagination, adding meaningful context beyond the schema. It doesn't detail parameter interactions or defaults, but it effectively clarifies the purpose of all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'submitters', making the purpose immediately understandable. It distinguishes this tool from sibling tools like 'get_submitter' (singular retrieval) and 'list_submissions' (different resource). However, it doesn't specify what a 'submitter' is or the scope of the listing, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'Optionally filter by submission_id', suggesting this tool is for listing submitters with optional filtering. It doesn't explicitly state when to use this versus 'get_submitter' (singular retrieval) or provide clear alternatives for different scenarios. The guidance is present but minimal and not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/caffeinebounce/docuseal-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server