site
Server Details
Corp Tax Calculator: the site's own MCP server — dataset, enquiry (enquiry = a human handoff,...
- Status
- Healthy
- Uptime
- 99.9% over 24 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
The dataset_* tools are all distinct in their query patterns (exact match vs search vs stats vs top), so agents can pick the right one for the task. The enquiry_* tools are also distinct, but 'enquiry_describe' and 'enquiry_fields' could be confused initially since both provide metadata, though their purposes are clearly explained.
The dataset_* tools follow a consistent 'dataset_' prefix with a verb or noun (columns, compare, provenance, row, search, stats, top). The enquiry_* tools also use a consistent 'enquiry_' prefix, but 'submit_enquiry' is a clear verb_noun while the others are nouns, so the style is only slightly mixed within that group.
With 10 tools, this is well within the ideal range. Each tool serves a distinct purpose for querying the dataset and handling the enquiry flow, and none feel redundant or extraneous.
The dataset tools cover a comprehensive reading surface: schema, exact match, search, comparison, statistics, and top/bottom selection. The enquiry tools fully script the two-step submission flow, including consent and confirmation, so the domain appears complete with no obvious dead ends.
Available Tools
10 toolsdataset_columnsDataset columns and shapeAInspect
The columns, which of them are numeric, the row count and the provenance banner of the Corp Tax Calculator dataset. Call this first to learn the schema.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 tells the agent exactly what information will be returned: columns, numeric-ness, row count, and provenance banner. It does not explicitly state read-only behavior or error conditions, but for a no-parameter metadata tool the disclosed outputs are sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The core deliverable list is front-loaded, and the usage instruction 'Call this first' is placed at the end as a purposeful directive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description is nearly complete: it names the dataset, lists the outputs, and indicates when to call it. It could further explain how the result feeds into sibling tools, but that is not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema already covers everything. The description correctly avoids adding parameter chatter, and the baseline of 4 applies because there is nothing for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool returns: columns, numeric flags, row count, and provenance banner for the Corp Tax Calculator dataset. It also says 'Call this first to learn the schema,' which positions its role in the workflow. However, it doesn't explicitly differentiate itself from siblings like dataset_provenance or dataset_stats, which might overlap on provenance or row count.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance to call this tool first when learning the schema. It does not mention when to avoid it or which alternatives to use, but for a zero-parameter schema-introspection tool this is reasonably clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_compareCompare rows side by sideAInspect
The rows of the Corp Tax Calculator dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes | ||
| values | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that rows are returned in the order of the given values, but it does not state whether the operation is read-only, what happens if no rows match, or any pagination/response limits. This is a significant gap for a tool without annotation safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that efficiently front-loads the core function (returns rows filtered by column values) and adds the ordering detail and usage context. Every clause adds value, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple, the description does not specify the output format (e.g., whether it returns full rows or a side-by-side comparison view), error behavior for empty results, or whether all columns are included. With no output schema, these omissions leave gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It clarifies that 'values' are matched against 'column' and that their order dictates the returned row order. This directly explains the relationship between the two parameters and the ordering behavior, which the bare schema does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it returns rows of the Corp Tax Calculator dataset where a column matches any of the given values, in the order provided. This is specific and distinct from siblings like dataset_row (single row) or dataset_search (general search), though it doesn't name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a usage context: 'for "X vs Y" questions' – implying this tool is for comparing specific values side by side. However, it does not explicitly mention when not to use it or alternatives, leaving some inference required from the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_provenanceWhere this data comes from, and how to cite itAInspect
The source, the date it was computed, the licence and the citation for the Corp Tax Calculator dataset. Read this to attribute a figure correctly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It clearly states the tool returns provenance metadata (source, date, licence, citation) and is a read-only informational tool. However, it doesn't disclose whether the data is static or computed on demand, whether it returns a single object or a list, or any formatting details. The description is honest but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The first sentence lists the exact contents, and the second gives the use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter informational tool, the description is nearly complete. It tells the agent what data is returned and when to use it. The only gap is the lack of an explicit statement about the return format (e.g., plain text vs structured object), but with no output schema and no parameters, the description covers the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter semantics at all. The description compensates by explaining what the tool returns and why an agent would call it. With 0 params, baseline is 4, and the description meets that by giving context about the dataset and its purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read this to attribute a figure correctly') and a clear resource: provenance metadata for the Corp Tax Calculator dataset. It names the exact contents (source, date computed, licence, citation), which distinguishes it from sibling tools like dataset_columns or dataset_stats. The title reinforces the purpose without being a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent when to use it: when needing to attribute a figure correctly. It implies this is the provenance/citation tool among the dataset_* siblings, though it doesn't explicitly name alternatives or exclusions. The context is clear enough for an agent to select it over dataset_columns or dataset_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_rowLook a row up by an exact keyCInspect
The rows of the Corp Tax Calculator dataset where a column equals a value exactly (case-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| column | Yes |
TDQS
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 does reveal one important trait: matching is exact but case-insensitive. However, it does not disclose whether the tool returns a single row or multiple rows, what happens when no row matches, whether results are ordered, or whether the operation is read-only (though 'look up' implies so). These are significant gaps for a lookup tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the dataset and the matching condition. It is not verbose and contains no filler. However, it is a fragment rather than a complete sentence, and it could benefit from a verb phrase to make the action clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no annotations and no output schema, the description is incomplete. It lacks usage guidance, parameter elaboration, return format, and behavior on missing matches. The presence of sibling tools like dataset_search and dataset_compare highlights the need for clearer differentiation and context, which the description does not provide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. It mentions 'column' and 'value' generically but does not explain what values are valid for each, how to specify a column (e.g., exact column name), or any format requirements beyond the schema's minLength:1. The description adds no meaning beyond the parameter names themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Look a row up by an exact key' and description 'The rows of the Corp Tax Calculator dataset where a column equals a value exactly (case-insensitive)' clearly identify the verb (look up), resource (rows of a specific dataset), and condition (exact, case-insensitive match). This distinguishes it from dataset_search, which likely supports fuzzy or partial matches, though the distinction is not explicitly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus dataset_search or other sibling tools. The description only states the matching semantics; it does not mention scenarios such as 'use this for exact key lookups' or 'use dataset_search for partial matches.' An agent would have to infer usage from the tool name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_searchSearch the datasetAInspect
Rows of the Corp Tax Calculator dataset whose cells contain the query (case-insensitive), up to 50.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | text to look for in any cell |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses case-insensitive substring matching and the 50-row cap. It does not mention ordering or exact row shape, but the core search behavior is transparently stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that includes the target dataset, matching rule, case sensitivity, and result cap. Every phrase earns its place and no redundant words appear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool with no output schema, the description is nearly sufficient. It defines the matching semantics and result bound, though it omits ordering and the exact fields returned per row.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: query is documented but limit is not. The description partially compensates by saying matching is case-insensitive and results are capped at 50, which clarifies both parameters. However, it does not specify the default limit or whether limit is optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation: returning rows of the Corp Tax Calculator dataset whose cells contain a case-insensitive query. It clearly distinguishes this from siblings like dataset_row, dataset_stats, and dataset_top by focusing on cell-content matching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when you need rows matching a text query across the dataset. It does not explicitly name alternatives or exclusions, but its search-specific behavior is unambiguous enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_statsSummary statistics for a numeric columnAInspect
count, min, max, mean, median and sum of a numeric column of the Corp Tax Calculator dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes |
TDQS
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 discloses that grouping commas and currency are handled, and that non-numeric rows are excluded and counted. This is useful behavioral context beyond the schema. However, it does not mention whether the tool returns a single object or a list, or whether it errors on an empty column, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the key statistics and dataset context, then adds edge-case handling. Every word earns its place; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description covers the main behavioral aspects: what statistics are computed, how formatting is handled, and how non-numeric rows are treated. It lacks explicit return format details, but the list of statistics implies the output shape. Given the tool's simplicity, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description explains what the 'column' parameter refers to (a numeric column of the dataset) and implies it should be a column name. However, it does not specify the exact format of the column name (e.g., case sensitivity, whether it must match dataset_columns output exactly). Baseline 3 is appropriate because the description adds some meaning but not full parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('count, min, max, mean, median and sum') and a specific resource ('numeric column of the Corp Tax Calculator dataset'), which clearly distinguishes it from sibling tools like dataset_row or dataset_search. It also mentions the dataset by name, making the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when summary statistics for a numeric column are needed. However, it does not explicitly state when not to use it or mention alternatives like dataset_top or dataset_compare. The context is clear enough for an agent to infer usage, but there is no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_topRank rows by a numeric columnCInspect
The highest (or lowest) rows of the Corp Tax Calculator dataset by a numeric column — "which is the most/least X".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| column | Yes | ||
| ascending | No | true for the lowest first; default highest first |
TDQS
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 sorting by highest or lowest but does not explain the default ordering, the limit parameter's cap of 50, or the return format. It also does not specify that the column must be numeric or that the dataset is fixed. This is insufficient for an agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It contains no fluff or redundancy, earning a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is incomplete. It omits key operational details such as the default sorting order, the optional limit with its maximum, and what the result looks like. An agent would need to inspect the schema and possibly infer behavior, which is risky.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds some meaning to the 'column' parameter by stating it must be numeric, which is not in the schema. However, it does not explain the 'limit' parameter or its constraints, and the 'ascending' parameter is already described in the schema. With only 33% schema coverage, the description should compensate more but falls short.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ranks rows of the Corp Tax Calculator dataset by a numeric column, identifying the core operation. However, it does not explicitly distinguish it from sibling tools like dataset_row or dataset_stats, which also operate on the dataset. The verb 'rank' is implicit via 'highest (or lowest) rows', but it is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as dataset_search, dataset_stats, or dataset_row. It implies a ranking use case ('which is the most/least X') but does not explicitly state when this is the appropriate choice or when to use another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enquiry_describeWhat you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)AInspect
Read first. States plainly what submit_enquiry does on Corp Tax Calculator: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose the return content: who receives the details, the consent wording, and how the person confirms. It also clarifies the underlying process is free and non-binding. It does not explicitly say the tool itself has no side effects, but the describe-only role and empty schema make that clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with 'Read first', and every clause adds a distinct fact: what the tool explains, the no-purchase/no-guarantee caveat, and the return contents. There is no filler or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only explainer with no output schema, the description gives enough detail about the returned text to let an agent use it correctly. It could more explicitly frame itself as the pre-submission companion to submit_enquiry, but the title and 'Read first' largely cover that relationship.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter gaps for the description to fill. The description appropriately focuses on what the returned explanation contains instead of inventing input semantics. This meets the baseline for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it returns a plain-language explanation of what submit_enquiry does on Corp Tax Calculator. The title and negative framing (not a purchase, not a guaranteed quote) distinguish it from submit_enquiry and other siblings. This goes beyond a tautology by naming the exact resource and output content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening 'Read first' signals that this tool is intended to be consulted before the enquiry flow, and the description clarifies it is an informational helper rather than an action tool. It does not explicitly name sibling tools or say 'use submit_enquiry when the user actually wants to submit', but the intended context is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enquiry_fieldsThe questions the enquiry asksAInspect
Every field of the Corp Tax Calculator enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It describes what the tool returns but does not explicitly state that it is read-only, nor does it mention error behavior, caching, or the shape of the response (e.g., array vs object). It is not misleading, but it lacks explicit behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first lists the exact attributes returned, and the second explains the follow-up action with a sibling tool. No fluff, front-loaded with the core output description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers the essential information: what fields are returned, what attributes are included, and how to use the keys with submit_enquiry. It does not describe the return format (e.g., array vs object), but the mention of 'keyed by field key' implies a map-like structure. Overall, adequate for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and the description does not need to explain them. Baseline for 0 params is 4; the description adds value by stating that the tool takes no input, which is implicit in the empty schema but clarified by the description's focus on output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to return every field of the Corp Tax Calculator enquiry, enumerating specific attributes (key, label, type, required, help text, options). It also distinguishes itself from the sibling submit_enquiry by explaining that the returned keys are used to pass answers to that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: obtain the fields to understand the enquiry structure, then use the keys when calling submit_enquiry. It does not explicitly contrast with other siblings like enquiry_describe, but it implies a workflow that differentiates it from submission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_enquirySubmit an ENQUIRY to human providers (two steps; not a purchase)AInspect
Submits an enquiry to Corp Tax Calculator — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "By submitting you agree Corp Tax Calculator shares your details with R&D tax and corporation tax firms who may contact you."
| Name | Required | Description | Default |
|---|---|---|---|
| answers | Yes | the person's answers, keyed by field key | |
| consent | Yes | true only when the person has agreed to: By submitting you agree Corp Tax Calculator shares your details with R&D tax and corporation tax firms who may contact you. | |
| confirmation | No | the confirmation token from step 1, after the person has approved the summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full behavioral disclosure. It clearly states this is not a purchase, not a guaranteed quote, requires explicit consent, results in an email with a link, and shares data with providers who may contact the person. These side effects could not be inferred from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place: Step 1, Step 2, consent wording, and exclusions. It is front-loaded with the most decision-relevant facts (two steps, not a purchase, not guaranteed).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description fully compensates: it covers the workflow state, side effects (email, provider visibility), required consent token, and next action. An agent can invoke and sequence calls correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema coverage is 100%, the description adds critical workflow meaning: answers must be keyed by enquiry_fields keys, consent=true is the gate, and confirmation is the Step 1 token without which Step 2 submission must not happen.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Submits an enquiry'), a precise resource (Corp Tax Calculator), and clear exclusions ('NOT a purchase, NOT a guaranteed quote'). It is immediately distinguishable from sibling tools like enquiry_describe and enquiry_fields based on the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit two-step workflow: first call with answers and consent=true, show the summary and consent line to the person, then call again with the same answers and the confirmation token only after agreement. It also tells the agent when NOT to treat this as a purchase and references enquiry_fields for keying answers.
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.
10 tool updates
- First observed
dataset_columns - First observed
dataset_compare - First observed
dataset_provenance - First observed
dataset_row - First observed
dataset_search - First observed
dataset_stats - First observed
dataset_top - First observed
enquiry_describe - First observed
enquiry_fields - First observed
submit_enquiry
Related MCP Connectors
Capital Gains Tax HQ: the site's own MCP server — dataset, enquiry (enquiry = a human handoff,...
Taxooor: the site's own MCP server — dataset, enquiry (enquiry = a human handoff, not a...
IHT 2027 Calculator: the site's own MCP server — calculator, enquiry (enquiry = a human handoff,...
Rechner HQ: the site's own MCP server — dataset, enquiry (enquiry = a human handoff, not a...
Related MCP Servers
- AlicenseAqualityBmaintenanceUK due diligence MCP server — Companies House, corporate research, compliance checks1825 PyPI3MIT
- AlicenseAqualityBmaintenanceUK property data MCP server — Land Registry comps, EPC, Rightmove, rental yields, stamp duty, Companies House. 13 tools.1316MIT
- FlicenseBqualityCmaintenanceMCP server for paid business data services with free previews and paid tools (enriched search and competitive analysis) using x402 payment flow via Pyrimid Protocol on Base.5-
- AlicenseNot gradedqualityAmaintenanceMCP server that connects AI agents to 34,500+ Australian Taxation Office documents, providing cited answers, tax deduction discovery, depreciation scheduling, BAS checklists, and audit risk assessment through 13 specialized tools.269 npm10AGPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.