site
Server Details
HACCP Software Compare: the site's own MCP server — compare, enquiry (enquiry = a human handoff,...
- Status
- Healthy
- Uptime
- 99.7% over 48 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The compare_ tools (criteria/options/table) all concern the same comparison but target distinct slices—columns, row summaries, and full matrix—and the enquiry tools separate description, schema, and action clearly. Boundaries are mostly clear, though an agent could briefly hesitate between compare_options and compare_table.
Tools use snake_case with grouped prefixes (compare_*, enquiry_*) that read predictably. The single outlier is submit_enquiry, which breaks the enquiry_* prefix pattern used by enquiry_describe and enquiry_fields, a minor deviation.
Six tools is well-scoped: three cover the comparison content and three cover the enquiry lifecycle. Each tool earns its place with no redundant or trivially thin entries.
The surface covers comparison data (criteria, options, table) and the full enquiry flow (describe, fields, submit with consent and confirmation). Coverage is solid, though there is no explicit tool for browsing or listing comparison categories beyond tags.
Available Tools
6 toolscompare_criteriaWhat is comparedCInspect
The criteria and any filters of the UK food safety and HACCP management software comparison.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full behavioral burden. It does not mention any effect, side effect, return value, or processing behavior; it only identifies subject matter.
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 short but under-specified; it is a fragment rather than a usable tool explanation. Brevity here does not earn its place because the core action is missing.
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?
Even though complexity is low with zero parameters and no output schema, the description does not say what the tool does or what invoking it returns. An agent cannot determine when to call it or what to expect.
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, so the baseline is 4. The description adds domain context about criteria and filters, but there are no parameter semantics to document.
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 is a noun phrase ('The criteria and any filters...') with no verb, so it does not state what the tool actually does. It essentially restates the name and title rather than distinguishing an action or output, and it gives no differentiation from siblings like compare_options or compare_table.
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 provided about when to use this tool versus siblings such as compare_options, compare_table, or enquiry_describe. There are no conditions, exclusions, or alternative-selection hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_optionsThe optionsCInspect
The options in the UK food safety and HACCP management software comparison (name, what it is best for, tags), optionally filtered by a tag value.
| Name | Required | Description | Default |
|---|---|---|---|
| filterKey | No | ||
| filterValue | No |
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 of behavioral disclosure. It implies a read operation by describing a filterable list, but it never explicitly says the tool retrieves or returns data. It also does not state side effects, auth requirements, rate limits, or any limitations. A simple 'Returns all options...' would significantly improve transparency.
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 about 30 words and not bloated, but its opening 'The options in...' is a noun phrase that nearly echoes the title. It front-loads context before the actionable filtering detail. It is adequate but not a model of efficient, verb-first structure.
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 two parameters, no annotations, and no output schema, the description is the only guide. It gives enough to guess the tool returns a list of options with name/best-for/tags and can filter by tag, but it does not explain filterKey, whether parameters are required, or what the return shape looks like. An agent would struggle to call this correctly.
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. It mentions filtering 'by a tag value,' which likely maps to filterValue, but filterKey is not explained at all. No types, accepted values, or relationships between the two parameters are clarified, leaving a correct call ambiguous.
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 identifies the resource: options in the UK food safety and HACCP management software comparison, and lists concrete fields (name, best for, tags). This distinguishes it from siblings like compare_table and compare_criteria. However, it is a noun phrase without an explicit verb like 'list' or 'fetch', and the title 'The options' restates the noun instead of adding action.
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?
There is no guidance on when to use this tool versus compare_table, compare_criteria, or the enquiry tools. The only usage hint is 'optionally filtered by a tag value,' which describes a filter condition, not when to choose this tool over alternatives. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_tableThe comparison tableAInspect
Each option's value on every criterion of the UK food safety and HACCP management software comparison — the full table.
| Name | Required | Description | Default |
|---|---|---|---|
| option | No | one option's name, else all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It does disclose the returned content's shape — every option's value on every criterion as a full table — which is the core behavioral trait for a retrieval tool. It adds nothing about edge cases, such as behavior for an unmatched option name, output format, or an explicit read-only statement.
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 20-word sentence with zero filler. The core content ('each option's value on every criterion') is front-loaded, followed by the domain context and the clarifying 'full table' tag. Every phrase 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 one-optional-parameter read tool, the description and schema together cover what data is returned and how to filter it. Gaps remain: no guidance on when to prefer this over compare_criteria/compare_options, and no return-format detail despite the absence of an output schema. Adequate but not fully self-sufficient.
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 100% and the schema's parameter description ('one option's name, else all') fully documents the filtering behavior. The tool description contributes nothing about the option parameter, so the baseline of 3 applies — the schema does the heavy lifting.
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 specifies the resource precisely: 'each option's value on every criterion' and emphasizes the complete scope with 'the full table.' This implicitly distinguishes it from the sibling tools compare_criteria and compare_options, which presumably return sliced views. It loses a point for having no verb (list/return/show) and reading as a noun phrase describing content rather than an explicit action.
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?
Usage context is implied rather than stated. The 'full table' framing suggests this is the comprehensive tool versus the narrower compare_criteria/compare_options siblings, but no explicit when-to-use or when-not-to-use guidance is given. An agent must infer the selection logic from sibling names and the em-dash emphasis.
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 HACCP Software Compare: 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 behavioral disclosure burden. It is transparent about the non-transactional nature (nothing is bought, ordered, or paid; no quote is guaranteed; it is free) and about the return content. It does not explicitly say the tool itself is read-only, but the describe-oriented wording and absence of params imply this.
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 two sentences long, starts with the actionable 'Read first', and contains no filler. Each clause adds useful information about purpose, safeguards, and return content.
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 explanatory tool, the description is nearly complete: it says what the tool explains, the key caveats, and what the response contains. It lacks exact output formatting, but that is a minor gap given the tool's simple nature.
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 and an empty schema, so there are no parameter semantics for the description to explain. The baseline of 4 applies, and the description adds no misleading parameter information.
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 that the tool explains what submit_enquiry does on HACCP Software Compare and lists what the response covers, including recipients, consent wording, and confirmation. This makes the tool's purpose clear and distinguishes it from submit_enquiry itself, though it does not explicitly contrast with enquiry_fields.
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?
'Read first' is an explicit usage cue telling the agent to consult this tool before acting, and the description clarifies that it explains the submission flow rather than executing it. It gives clear context but does not name alternatives or state when not to use it.
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 HACCP Software Compare 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?
With no annotations, the description carries the full burden. It clearly states the tool returns field metadata and nothing else, implying a read-only, side-effect-free operation. It also specifies the output's composition (key, label, type, required, help text, options) and how the output should be consumed. This is sufficient for an agent to understand the behavior; it does not claim any mutation or side effects, and there is no contradiction with any annotation.
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 two sentences, with the first sentence front-loading the core purpose (listing fields) and the second providing actionable guidance. Every word serves a function; there is no redundancy or filler. It is efficient and well-structured for quick parsing by an agent.
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 tool with no parameters and no output schema, the description is quite complete. It specifies what is returned (field metadata with detailed attributes) and how to use the result (pass answers to submit_enquiry). It does not mention error handling or authentication, but given the tool's simplicity and the absence of annotations, the description covers the essential operational context an agent needs. It could add a note about the absence of pagination or the need to call it once, but these are minor gaps.
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 is no parameter schema to explain. The description adds meaning by detailing the output structure, which is the only relevant semantic content. Since there are no parameters to clarify, the baseline of 4 for zero-parameter tools applies, and the description compensates by explaining the data returned, which is the tool's only input/output aspect.
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: it returns every field of the HACCP Software Compare enquiry, enumerating specific attributes (key, label, type, required, help text, options). This is a specific verb+resource that distinguishes it from siblings like submit_enquiry, which is for submission, and compare_criteria/options/table, which are for comparison features. The intent is 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 gives a direct usage hint: 'Pass answers to submit_enquiry keyed by field key.' This tells the agent to fetch fields first and then use submit_enquiry, establishing a clear workflow. It does not explicitly mention when not to use it, but the linkage to submit_enquiry implicitly positions it as the prerequisite for form submission. It could explicitly name alternatives, but the guidance is strong.
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 HACCP Software Compare — 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: "Send my contact details to up to three food safety software suppliers or consultants, chosen by HACCP Software Compare, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
| Name | Required | Description | Default |
|---|---|---|---|
| answers | Yes | the person's answers, keyed by field key | |
| consent | Yes | true only when the person has agreed to: Send my contact details to up to three food safety software suppliers or consultants, chosen by HACCP Software Compare, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them. | |
| 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?
With no annotations, the description carries the full burden and does so well: it discloses that no provider sees the data until the person clicks an emailed link, that details may go to up to three suppliers chosen by the site, that the person can halt further distribution, and that validation errors surface in step 1. These are meaningful side effects an agent could not infer 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?
Well front-loaded: the 'not a purchase/quote' caveat and the two steps come first, and the flow is scannable. The main inefficiency is the verbatim repetition of the long consent sentence already present in the schema's `consent` 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?
No output schema exists, yet the description tells the agent what step 1 returns (summary, consent line, confirmation token) and what to display to the person, and what step 2 triggers. Combined with the nested-object `answers` parameter, nothing needed to invoke this correctly is missing.
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 100%, so the baseline is 3. The description adds value beyond the schema by explaining the sequencing semantics of `confirmation` (a token produced by step 1, only used in step 2) and that `answers` must be keyed by field keys from enquiry_fields. It slightly over-repeats the consent text that is already in the schema.
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?
States a specific verb+resource ('Submits an enquiry to HACCP Software Compare') and immediately negates two likely misreadings: 'NOT a purchase, NOT a guaranteed quote'. This cleanly distinguishes it from the read-only compare_* and enquiry_* sibling tools, which gather criteria/options/fields rather than submitting anything.
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?
Gives an explicit two-step protocol: Step 1 with answers + consent=true to validate, and Step 2 only 'if the person agrees' with the confirmation token. It also names the gating condition (human approval of the summary) and references enquiry_fields as the source of answer keys, so the agent knows both when and how to call it.
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 tool update
- Changed
submit_enquiry1 field changed- changed
Input schema / properties / consent / descriptionPrevious value: -"true only when the person has agreed to: Happy for my details to go to a food safety software supplier or consultant, who'll contact me directly."New value: +"true only when the person has agreed to: Send my contact details to up to three food safety software suppliers or consultants, chosen by HACCP Software Compare, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
6 tool updates
- First observed
compare_criteria - First observed
compare_options - First observed
compare_table - First observed
enquiry_describe - First observed
enquiry_fields - First observed
submit_enquiry
Related MCP Connectors
Compare HVAC Software: the site's own MCP server — compare, enquiry (enquiry = a human handoff,...
HVAC Software Picker: the site's own MCP server — compare, enquiry (enquiry = a human handoff,...
Snagging Software: the site's own MCP server — compare, enquiry (enquiry = a human handoff, not...
Compare Trade Software: the site's own MCP server — compare, enquiry (enquiry = a human handoff,...
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLLM Compliance Comparison - MCP server providing AI-powered tools and automation by MEOK AI Labs2 npm93 PyPIMIT
- AlicenseAqualityBmaintenanceUK due diligence MCP server — Companies House, corporate research, compliance checks1835 PyPI3MIT
- AlicenseNot gradedqualityAmaintenanceUnbiased vendor intelligence MCP server that helps AI agents and developers make informed infrastructure decisions by providing current, structured, neutral vendor comparisons and recommendations.35 npm1MIT

convergeqa-mcpofficial
AlicenseBqualityDmaintenanceMCP servers for multi-model document review with critique/iterate and compare/due-diligence tools, using public verification receipts.16MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.