site
Server Details
Software Pricing Index: the site's own MCP server — compare, enquiry (enquiry = a human handoff,...
- Status
- Healthy
- Uptime
- 99.7% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The three compare_* tools target distinct slices of the same dataset (criteria/filters, options list, full matrix), so an agent can pick correctly. enquiry_describe and enquiry_fields both concern the enquiry schema but the 'Read first' guidance and the field-vs-behaviour split keep them separable, though the boundary is thin.
Consistent snake_case throughout, with readable prefixes grouping comparison (compare_criteria, compare_options, compare_table) and enquiry tools (enquiry_describe, enquiry_fields). submit_enquiry is verb_noun rather than enquiry_-prefixed, a minor deviation but still predictable.
Six tools is well-scoped for a comparison-plus-enquiry surface: three read tools for the pricing data and three for the enquiry flow, with no redundant entries.
Comparison reads (criteria, options, table) and the full enquiry lifecycle (explain, fields, two-step submit with consent/token) are covered with no obvious dead ends. Minor gap: no tool to retrieve a previously submitted enquiry or its status after submission.
Available Tools
6 toolscompare_criteriaWhat is comparedDInspect
The criteria and any filters of the US field service and trades software, by published price comparison.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 gives no sense of what the tool returns, whether it is a read-only lookup, how results are ordered, or any side effects. The phrase 'by published price comparison' hints at a data source but not 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?
Although the description is only one sentence, it is under-specified rather than concise. It does not front-load an action verb, and the sentence does not earn its place because it obscures more than it communicates.
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 output schema, no annotations, and no clear action, the description is inadequate to guide invocation. An agent cannot tell what it receives back, how it behaves, or when to use it. This is well below a minimum-viable definition.
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 schema has 0 parameters, and the baseline for 0-parameter tools is 4. There is no parameter meaning for the description to add, so this is the only simplifying aspect of the definition.
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 without a verb, so it never states what the tool actually does. It mentions 'criteria and any filters of the US field service and trades software', but does not clearly say whether it returns, explains, or compares them. The title 'What is compared' only weakly echoes the name, giving little 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?
There is no guidance on when to use this tool versus the sibling tools. No prerequisites, no exclusions, no context about how 'published price comparison' relates to selection. An agent has no way to decide if it should call this instead of compare_table or enquiry_describe.
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 US field service and trades software, by published price 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?
With no annotations provided, the description must carry the full behavioral disclosure burden. It reveals some behavior (returns name/best-for/tags, optional tag filtering, uses published price comparison) but does not explicitly state that this is a read-only operation, what happens when no filter is supplied, or what the output looks like.
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 and avoids major padding, but its grammar is awkward and the opening phrase 'The options' does not add useful meaning. Clearer front-loading, such as 'Returns options...', would make it more effective.
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?
This tool has no annotations, no output schema, and no parameter descriptions, so the description needs to be more complete. It lists some output fields but omits parameter semantics, tag value formats, and behavior without a filter, leaving an agent unable to reliably construct a 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?
Schema description coverage is 0%, so the description must clarify the parameters. It only says the result can be 'optionally filtered by a tag value,' but it never explains which parameter is filterKey, which is filterValue, what values are accepted, or how the tag filter maps to both parameters.
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 names a specific resource (US field service/trades software options) and some returned fields (name, best-for, tags), plus an optional tag filter. However, it lacks an explicit verb and is phrased as a noun phrase ('The options...'), and it does not distinguish compare_options from siblings like compare_criteria 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 given about when to use this tool versus the sibling tools. The only usage hint is that filtering by a tag value is optional, but there is no mention of what filterKey/filterValue should contain or when one alternative is preferable.
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 US field service and trades software, by published price 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?
No annotations are provided, so the description carries the behavioral burden. It does disclose the data scope (all options versus all criteria) and the source ('published price comparison'), which is useful. However, it does not describe return formatting, ordering, pagination, or the effect of the optional option parameter beyond what the schema already states.
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 phrase with no filler, and the most relevant information is front-loaded. It is grammatically a noun phrase rather than a full sentence, but 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?
Complexity is low: one optional parameter, fully documented in the schema, and no output schema. The description explains what the table contains and its source. It could say more about the omitted-option behavior, but the schema already covers that with 'else all.'
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%: the only parameter 'option' already has a clear description ('one option's name, else all'). The tool description only loosely echoes the term 'option' and adds no additional format, default, or edge-case semantics.
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 identifies the returned artifact: each option's value on every criterion of the US field service and trades software, presented as 'the full table.' It differentiates from siblings like compare_criteria and compare_options by emphasizing the complete table, but it lacks an explicit verb such as 'retrieves' or 'returns.'
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 explicit when-to-use or when-not-to-use guidance. The phrase 'the full table' implies this tool is for a comprehensive overview rather than the narrower compare_criteria or compare_options tools, but that implication is not made explicit.
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 Software Pricing Index: 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 burden and does so well: it states the tool returns 'who receives the details, the consent wording, and how the person confirms' and clarifies that nothing is bought, ordered, or paid and no quote is guaranteed. This makes the non-transactional, informational nature clear. There is no contradiction with annotations because none are provided.
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 front-loaded with 'Read first' and each sentence adds a distinct point: what it does, what it does not do, and what it returns. It is slightly wordy with repeated emphasis on 'plainly' and direct quotation, but remains compact and well ordered.
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 gives a complete picture of the informational return value and the non-transactional nature. It is adequate for an agent to invoke it correctly, though an exact output contract or field list would make it fully 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?
The tool has zero parameters and 100% schema coverage, so the baseline is 4. The description compensates by explaining what the tool returns rather than parameter details, which is appropriate for a no-input informational 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 identifies the tool as an explanation of submit_enquiry: 'States plainly what submit_enquiry does on Software Pricing Index.' It also differentiates itself from a purchase or guaranteed quote, so an agent understands it is informational rather than transactional. It does not explicitly contrast with sibling comparison/field tools, which keeps it just below 5.
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' strongly implies this is a prerequisite before calling submit_enquiry, giving clear contextual timing. The description also conveys the scope ('Software Pricing Index') and the expected workflow. It does not enumerate when to prefer enquiry_fields or compare_* siblings, so explicit exclusions are missing.
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 Software Pricing Index 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 behavioral burden. It accurately discloses the data content returned, including the presence of allowed options, but does not explicitly state that the operation is read-only or describe error/response behavior. For a zero-parameter metadata endpoint the read-only nature is implied, but not explicit.
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: the first enumerates exactly what the tool returns, and the second connects the output to a downstream workflow. No filler, front-loaded, and every sentence 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?
Given the empty input schema and lack of output schema, the description adequately explains the returned content and its use with submit_enquiry. It does not specify the exact output structure (object vs array) or explicitly state read-only behavior, but the core information needed to call and integrate the tool is present.
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 no parameters, so the schema already fully documents the input; the zero-parameter baseline of 4 applies. The description adds useful cross-reference value by explaining that the returned field keys are used to key answers for submit_enquiry, but this is not parameter semantics per se.
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 specifies the tool's purpose: it returns every field of the Software Pricing Index enquiry with its key, label, type, required flag, help text, and allowed options. This differentiates it from siblings like submit_enquiry and compare_* by focusing on field metadata rather than submission or comparison.
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 second sentence gives explicit usage guidance: retrieve field keys via this tool, then pass answers to submit_enquiry keyed by field key. This tells the agent when the tool is relevant, though it does not explicitly rule out alternatives or mention 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.
submit_enquirySubmit an ENQUIRY to human providers (two steps; not a purchase)AInspect
Submits an enquiry to Software Pricing Index — 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 industry software suppliers, chosen by Software Pricing Index, 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 industry software suppliers, chosen by Software Pricing Index, 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: it discloses the validation round-trip, what step 1 returns (summary, consent line, confirmation token), that submission triggers an email requiring a click before any provider sees the data, and that details go to up to three named suppliers with a stop option. This is the side-effect and gating information an agent needs before performing an outward-facing, third-party-sharing write.
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?
Front-loads the critical 'not a purchase' framing and walks the two steps in order. The verbatim consent paragraph (~55 words) substantially duplicates the consent property description in the schema, which is the main source of redundancy; otherwise the sentences earn their 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 three-parameter, no-output-schema tool with a nested answers object, it is complete: the description explains the two-phase call, the return of step 1, the consent gate, and the downstream email confirmation, so an agent can execute 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?
Schema coverage is 100%, so the baseline is 3, and the description repeats the consent wording already present in the schema. It does add genuine semantics beyond the schema, though: answers must be keyed by field keys obtained from enquiry_fields, and confirmation is only valid as the token returned from step 1. That sequencing context lifts it above baseline.
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 Software Pricing Index') and immediately disambiguates with 'NOT a purchase, NOT a guaranteed quote'. This clearly separates it from the compare_* siblings and the enquiry_* discovery tools (enquiry_fields, enquiry_describe).
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, step 2 only after the person agrees, with the token. It also names the sibling that supplies the required input shape ('keyed by field key from enquiry_fields'). When-to-use, when-not-to-proceed, and the dependency on another tool are all stated.
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: Send my contact details to up to three field service software vendors, chosen by Software Pricing Index, 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."New value: +"true only when the person has agreed to: Send my contact details to up to three industry software suppliers, chosen by Software Pricing Index, 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."
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 field service software vendors, who'll contact me directly."New value: +"true only when the person has agreed to: Send my contact details to up to three field service software vendors, chosen by Software Pricing Index, 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
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,...
Underpinning Costs: the site's own MCP server — enquiry (enquiry = a human handoff, not a...
Trades Software Picker: the site's own MCP server — compare, enquiry (enquiry = a human handoff,...
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for PriceTrack that enables AI assistants to search live SaaS pricing, view verified price changes, and compare products side-by-side across 33,000+ vendors.414 npmMIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server designed to automate tender and RFQ pricing by extracting requirements from documents and building structured pricing models. It enables users to calculate final costs, compare market rates, and generate styled HTML pricing reports for PDF export.-
- 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.42 npm1MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for monitoring competitor pricing pages, scraping pricing data into SQLite, and answering plain-language questions about pricing plans via Claude.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.