gankdat
Server Details
UK & EU tenders, awards, planning, companies, charities, schools, NHS, care, gambling, trade marks.
- Status
- Healthy
- Uptime
- 29.8% over 43 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 21 tools
Each query_* tool targets a single, clearly named dataset (EU TED, NHS ODS, SAM exclusions, CQC care, charities, companies, etc.), so there is almost no risk of picking the wrong one. The only mild adjacency is query_uk_tenders vs query_uk_contract_awards, but descriptions distinguish notices from flattened awards. Auth tools (request_api_key/claim_api_key) and meta tools (list_sources/get_usage/get_changes) are likewise distinct.
All names are lowercase snake_case verb_noun: query_* for the 16 datasets, get_* for status/meta, list_sources, and the request_/claim_ auth pair. The convention is uniform and predictable throughout.
21 tools is on the heavier side, but each query_* maps to a genuinely separate register, so most earn their place, and the five infra tools (auth, usage, listing, change-feed) are justified. It is slightly over what an agent can scan comfortably but not bloated.
For a read-only multi-register data API the surface is well covered: signup/auth, key status, source listing, dataset discovery, a change feed, and per-register queries. Minor gaps remain, e.g. no dedicated per-record lookup or pagination/field-schema helper beyond list_sources' supported_params.
Available Tools
21 toolsclaim_api_keyCollect the API key once the user has approvedAInspect
Poll after request_api_key: returns status "pending" until the user approves the emailed link, then "approved" with the key exactly once. Send the key as "Authorization: Bearer " on every later request (reconnect the MCP client with that header). Free to call; no key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | ||
| claim_secret | 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, and it delivers: it discloses that the tool is pollable, that the key is returned exactly once, that the call is free/no-key-needed, and that the result must be used as a Bearer token via reconnecting the MCP client.
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?
Three tight sentences, with the core polling behavior front-loaded and no filler. Every sentence adds operational value: what to expect, how to use the result, and whether authentication is needed.
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?
The description covers the polling statuses, one-time key delivery, and downstream Bearer-token usage, which is substantial given there is no output schema or annotations. It is slightly incomplete only in not identifying where request_id and claim_secret come from, but the workflow context mostly compensates for that.
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 needs to explain request_id and claim_secret. It only implies their existence through the polling workflow and never explicitly maps these parameters to their source or roles. This is a meaningful gap for an agent choosing what values to pass.
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 action (poll after request_api_key) with a clear resource (the API key claim), and explains the status progression from 'pending' to 'approved'. It is immediately distinguishable from siblings like request_api_key and the many query_* tools.
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?
Explicitly instructs to call this after request_api_key and describes the expected polling lifecycle. It also tells the agent how to use the returned key in later requests, which is exactly the kind of workflow guidance needed to select and invoke the tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_changesChanges since a dateAInspect
Rows added, removed or changed between daily refreshes of a register dataset (sam-exclusions, uk-food-hygiene, uk-sponsors, uk-charities, uk-care-locations, uk-schools, nhs-ods, uk-trademark-journal, uk-gambling-operators), newest first, 90-day history. Poll this instead of re-reading a whole register. filter takes the source's own query params (see list_sources supported_params, plus q) applied to the changed record — e.g. {"classes":"09","q":"acme"} watches one Nice class of uk-trademark-journal for a mark. Costs 1 credit per call.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| since | No | ||
| change | No | ||
| filter | No | The source's query params (as for its query_ tool, plus q) to match the changed record against | |
| source | Yes | ||
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so: daily refresh cadence, a hard 90-day history limit, newest-first ordering, and a per-call cost of 1 credit. These are exactly the constraints an agent needs before committing to a polling strategy.
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?
Dense but every clause earns its place — source list, semantics, rationale, filter syntax with example, and cost, all front-loaded with no filler. Long but not padded.
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 6-param, nested-object tool with no annotations and no output schema, the description covers source semantics, the filter contract, history window, ordering and cost. It doesn't describe the shape of returned rows or pagination behavior (page/per_page defaults), which is the main remaining gap given there's no output schema.
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 only 17%, but the description compensates for the hardest parameter by explaining that `filter` takes the source's own query params (pointing to list_sources supported_params, plus q) and gives a concrete example. `since`, `page`, `per_page` and `change` are left to the schema, which is mostly self-evident from names, enums and defaults.
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 and resource ('rows added, removed or changed between daily refreshes of a register dataset') and enumerates the exact sources covered. It also distinguishes itself from the query_* siblings by declaring itself a polling tool rather than a full re-read.
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?
Explicitly routes the agent: 'Poll this instead of re-reading a whole register,' which names the alternative class of tools (query_*) and the condition for choosing this one. It doesn't state when not to use it (e.g. backfill beyond the 90-day window), so it falls short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageCurrent credit usageAInspect
Plan, credits used/granted/remaining for the presented API key. Free to call.
| 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 behavioral burden. It discloses that the call is free and tied to the API key, and the read-only nature is implied by the content described. It does not mention rate limits or other operational details, but for a zero-parameter usage lookup, the disclosed information is reasonably 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?
The description is very concise, with no redundant filler. Each phrase adds information: the target resource, the data returned, and the cost characteristic. It could be slightly improved by using a complete sentence with an explicit verb, but it remains efficient.
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 no-parameter, no-output-schema tool, the description lists the main expected fields: plan, credits used, granted, and remaining. It does not specify response format, but that is not essential here given the tool's simplicity and the absence of parameters.
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 semantics gap for the description to fill. The baseline of 4 applies because the schema is empty and no parameter-level explanation is needed.
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 indicates the resource being inspected: the presented API key's plan and credit usage. It is distinguishable from sibling data-query tools because it deals with account credits rather than external data sources. However, it is phrased as a noun phrase rather than an explicit verb statement like 'returns' or 'retrieves'.
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 phrase 'for the presented API key' gives context about what the call scopes to, and 'Free to call' implies it can be used without consuming credits. It does not explicitly state when to choose this tool over siblings or mention any exclusions, though the distinction is largely implied by the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesList available data sourcesAInspect
Datasets this API serves, with the tool name and filter params for each. Free to call.
| 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 transparency burden. It discloses that the tool is free to call and describes what the response contains, but does not mention any other behavioral traits such as size limits or dynamic content. This is adequate but not rich.
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 short sentences deliver the essential information with no filler. The core purpose is front-loaded, and the 'free to call' note adds value without bloating the 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 parameterless discovery tool with no output schema, the description fully covers what an agent needs: what data is returned, for which purpose, and that calling it is low-risk. Nothing critical 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?
The tool has zero parameters, so the schema is already complete. Per the baseline for 0-parameter tools, the description does not need to add parameter details, and it appropriately focuses on the returned 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 clearly states the tool lists the datasets served by the API, including the tool name and filter params for each. This distinctly positions it as a discovery/meta tool among sibling data-query tools.
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 usage: call this to see available datasets and their query parameters before invoking a specific query tool. It does not explicitly state when to use it versus alternatives, though the sibling names make the distinction relatively clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_eu_tedEU procurement notices (TED)AInspect
Contract notices and awards from TED (Tenders Electronic Daily), the official EU procurement journal — buyer, country, CPV codes, values, and deadlines across all member states, normalized for bid intelligence. Blind Mode: only organisation-level fields are ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| buyer | No | ||
| per_page | No | ||
| cpv_codes | No | ||
| notice_type | No | ||
| buyer_country | No | ||
| procedure_type | No | ||
| contract_nature | No | ||
| value_amount_max | No | ||
| value_amount_min | No | ||
| deadline_at_after | No | ||
| deadline_at_before | No | ||
| published_at_after | No | ||
| published_at_before | No | ||
| places_of_performance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and adds meaningful traits: the 1-credit cost, the Blind Mode ingestion limitation, and the AND-combination/full-text behavior. It does not state response structure or explicit read-only status, but nothing contradicts the query semantics and the main operational constraints are surfaced.
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?
Three compact sentences lead with the data source and scope, then add Blind Mode, filter semantics, and cost. Every sentence adds non-redundant information and there is no filler.
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 16-param tool with no output schema and no annotations, the description gives a solid orientation but omits return shape, pagination behavior, supported value formats for non-date filters, and a clear explanation of how Blind Mode affects query fields. These gaps are material for correct invocation, so it is not 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?
Input schema description coverage is 0%, so the description must compensate; it does explain that q covers all text fields and that filters combine with AND, and it names the core filter categories. However, it leaves details like CPV code format, notice_type/procedure_type values, and pagination behavior undocumented in prose, relying on parameter names and schema types to carry the rest.
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?
Description clearly identifies TED/EU procurement notices as the resource and names meaningful data fields (buyer, country, CPV codes, values, deadlines), which distinguishes it from the UK-focused sibling query_uk_tenders. It lacks an explicit verb like 'search' or 'return' and uses the value-proposition phrase 'normalized for bid intelligence' instead of a direct operation statement.
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 operational semantics—filters combine with AND and q searches all text fields—and the EU scope implies the tool is for EU procurement rather than the UK tenders sibling. However, there is no explicit when-to-use/when-not-to-use guidance or named alternative, so the agent must infer regional routing from the title and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_nhs_odsNHS organisations in England (ODS register)BInspect
Every GP practice, NHS trust and trust site, pharmacy, dental practice and independent-sector healthcare provider on the NHS Organisation Data Service register for England — ODS code, name, organisation type, active/closed status, NHS England region and integrated care board codes, address and postcode, open and close dates, parent organisation (commissioner or trust) and, for GP practices, the prescribing setting. From the official nightly ODS extracts, keyed by the stable ODS code. Telephone numbers are dropped at ingest; the practitioner files (named GPs and dentists) are never ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| name | No | ||
| page | No | ||
| town | No | ||
| status | No | ||
| ods_code | No | ||
| org_type | No | ||
| per_page | No | ||
| postcode | No | ||
| parent_code | No | ||
| outward_code | No | ||
| open_date_after | No | ||
| close_date_after | No | ||
| health_geography | No | ||
| open_date_before | No | ||
| close_date_before | No | ||
| national_grouping | No | ||
| prescribing_setting | No |
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 disclose meaningful behaviors: telephone numbers are dropped, practitioner files are never ingested, filters combine with AND, and each call costs 1 credit. It also clarifies the data source (nightly ODS extracts). This goes beyond the schema, though it omits response format and pagination 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 dense paragraph, but every sentence adds value: data coverage, source, exclusions, filter behavior, and cost. It is not overly long for 18 parameters, though the initial enumeration is heavy. The structure is acceptable, but a bulleted list could improve scannability.
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 18 parameters, no output schema, and no annotations, the description covers content and some behaviors but leaves gaps: pagination defaults, result ordering, and response shape are absent. The filter rule is helpful, but individual parameter semantics are incomplete. It is adequate for basic use but not fully complete for complex queries.
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 compensate, but it only partially does. It explicitly mentions q and the AND-combination rule, and the enumerated fields (ODS code, name, status, postcode, etc.) map to some parameters. However, many parameters such as page, per_page, health_geography, national_grouping, and the date-range filters are not explained individually, leaving their semantics 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 (NHS ODS register for England) and enumerates covered organisation types and data fields, making it distinctive among the sibling query_* tools. However, it lacks an explicit action verb like 'query' or 'search', so the operation is implied rather than stated directly. The title and name help, but the description itself is more a contents list than a purpose statement.
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 no guidance on when to use this tool versus alternatives such as query_uk_care_locations or query_uk_schools. It mentions filter semantics ('Filters combine with AND; q searches all text fields') and cost, but does not state when this tool is preferred or when not to use it. An agent would have to infer NHS-specific usage from the title alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_sam_exclusionsUS federal exclusions (SAM.gov)AInspect
Every active exclusion (debarment) on the official US SAM.gov list — individuals, firms, special entities, and vessels barred from federal awards, with agency, program, and dates — normalized for supplier due diligence. Served as published by the US government for compliance purposes; all addresses, identifiers (SSN/TIN/NPI), and free-text comments are dropped at ingest. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| name | No | ||
| page | No | ||
| uei_sam | No | ||
| per_page | No | ||
| cage_code | No | ||
| classification | No | ||
| exclusion_type | No | ||
| excluding_agency | No | ||
| exclusion_program | No | ||
| activation_date_after | No | ||
| excluding_agency_name | No | ||
| activation_date_before | No | ||
| termination_date_after | No | ||
| termination_date_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and largely meets it: it discloses that only active exclusions are returned, that addresses/identifiers/comments are dropped, that filters combine with AND, that q searches all text fields, and that each call costs 1 credit. Pagination and rate-limit behavior are not mentioned, but the provided traits are substantial.
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 dense and well-structured, front-loading the dataset identity and scope before adding ingest normalization, filter semantics, and cost. Every sentence earns its place and there is no filler.
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 is a high-complexity tool with 15 parameters, no annotations, and no output schema, so the description is insufficiently complete. It does not describe the response shape, pagination behavior, or the value domains of key filters, which an agent would need to invoke the tool 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, but it only explains that filters combine with AND and that q searches all text fields. It does not explain the meaning or acceptable values of the 15 parameters, especially classification, exclusion_type, excluding_agency, and exclusion_program, leaving the agent to guess.
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 (US SAM.gov active exclusions/debarments), the entities covered, and the intended use (supplier due diligence). Its US scope distinguishes it from the UK/EU sibling tools without ambiguity.
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: this is for US federal exclusion/debarment screening and compliance purposes. It does not explicitly name alternatives or say when not to use it, but the US-vs-UK/EU scope in the sibling list makes the usage context reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_care_locationsRegulated care locations in England (CQC)AInspect
Every health and social care location regulated by the Care Quality Commission in England — hospitals, care homes, GP practices, dentists, homecare agencies, hospices, ambulance services — with service types, specialisms, provider, address and area, local authority, region, and the date of the latest CQC check. From the official weekly CQC care directory, keyed by the stable CQC location id. Phone numbers are dropped at ingest; registered-manager names are never ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| name | No | ||
| page | No | ||
| region | No | ||
| per_page | No | ||
| postcode | No | ||
| provider_id | No | ||
| specialisms | No | ||
| outward_code | No | ||
| provider_name | No | ||
| service_types | No | ||
| local_authority | No | ||
| website_present | No | ||
| latest_check_date_after | No | ||
| latest_check_date_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden and does well: it states the data source ('official weekly CQC care directory'), the stable key (CQC location id), ingest-time exclusions (phone numbers dropped, registered-manager names never ingested), and per-call cost. It does not cover pagination behavior or what an unfiltered query returns, but the disclosed provenance and limitations are material and add real value.
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?
Five sentences, each earning its place: purpose, provenance, data limitations, filter semantics, and cost. The most important scoping information is front-loaded in the first sentence.
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 15-parameter tool with no annotations and no output schema, the description covers purpose, provenance, freshness, data exclusions, filter semantics, and cost — a strong base. It omits pagination conventions (though page/per_page defaults live in the schema) and the distinction between postcode and outward_code, which are minor gaps given everything else covered.
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 is the only semantic source for the 15 parameters. It maps several parameters to data fields (region, local_authority, service_types, specialisms, provider, latest check date), explains AND combination, and clarifies that q is a full-text search across all fields. However, postcode, outward_code, website_present, page, and per_page receive no explanation.
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 opens by naming the exact resource — health and social care locations regulated by the Care Quality Commission in England — and enumerates its contents (service types, specialisms, provider, address, local authority, region, latest CQC check date). This clearly distinguishes it from sibling tools that query different UK datasets such as schools, charities, and companies.
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?
It explains the core query semantics — 'Filters combine with AND; q searches all text fields' — and states the credit cost, which an agent needs before calling. It does not explicitly name alternatives or exclusion conditions, but the unambiguous dataset scope in the opening sentence makes selection among the sibling query tools straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_charitiesCharities in England & Wales (Charity Commission)AInspect
Every registered and removed charity on the Charity Commission register for England and Wales — name, charity and organisation numbers, type, registration status and dates, reporting status, latest income and expenditure, postcode area, company number, website, insolvency/administration/CIO flags, and the charity's own activities summary. From the official daily public extract; contact address lines, phone, email and trustee names are never ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| name | No | ||
| page | No | ||
| is_cio | No | ||
| gift_aid | No | ||
| per_page | No | ||
| postcode | No | ||
| insolvent | No | ||
| charity_type | No | ||
| outward_code | No | ||
| company_number | No | ||
| website_present | No | ||
| reporting_status | No | ||
| in_administration | No | ||
| latest_income_max | No | ||
| latest_income_min | No | ||
| organisation_number | No | ||
| registration_status | No | ||
| date_of_removal_after | No | ||
| date_of_removal_before | No | ||
| registered_charity_number | No | ||
| date_of_registration_after | No | ||
| date_of_registration_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the official daily public extract source, explicitly states that contact addresses, phone, email, and trustee names are never ingested, and notes the credit cost per call. It does not discuss pagination or rate limits, but the key constraints are covered.
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 dense and information-rich, covering source, scope, fields, exclusions, filter behavior, and cost in just two sentences. The field enumeration is slightly run-on, but every clause earns its place and no filler is present.
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 23 parameters and no output schema, the description provides a solid overview of scope, returned fields, and exclusions, but lacks per-filter value guidance, pagination details, and response shape. It is minimally viable but not fully complete for invoking all filters 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?
The schema has 0% description coverage across 23 parameters, and the description only explains q ('searches all text fields') and the AND-combination behavior. It leaves expected values for string filters (is_cio, gift_aid, insolvent), date semantics, and pagination parameters undocumented, relying too heavily on parameter names.
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 the exact dataset ('Charity Commission register for England and Wales') and enumerates the returned fields, making it easy to distinguish from sibling query_uk_* tools. It also clarifies that 'q searches all text fields' and that filters combine with AND, reinforcing the retrieval purpose.
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 explicit when-to-use or when-not-to-use guidance is given, and no alternative tools are named. The description provides clear context—UK charity data from the Charity Commission—but leaves the choice among siblings mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_companiesUK new company incorporationsAInspect
The newest companies on the UK register, from the official Companies House API — name, number, type, SIC codes, incorporation date, and registered-office area, refreshed daily. Blind Mode: company-level fields only; officer and PSC data are never ingested, and address lines are dropped in favour of locality/postcode. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| status | No | ||
| company | No | ||
| locality | No | ||
| per_page | No | ||
| sic_codes | No | ||
| postal_code | No | ||
| company_type | No | ||
| company_number | No | ||
| incorporated_on_after | No | ||
| incorporated_on_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses 'Blind Mode' limitations (officer and PSC data never ingested, address lines dropped), refresh frequency ('refreshed daily'), filter semantics (AND combination, q searches all text), and cost ('Costs 1 credit(s) per call'). This gives an agent a solid understanding of what to expect, though it stops short of explaining response shape or auth requirements.
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 concise and well-structured: it opens with the core purpose, then states key limitations, then filtering behavior, then cost. Every sentence adds value, and the most important information is front-loaded.
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 12 parameters, no output schema, and no annotations, the description is incomplete. It lacks parameter-level documentation, response format, and any examples. While it covers purpose and high-level behavior, an agent cannot correctly construct a query without understanding what each parameter means, so it falls short of completeness.
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 only mentions that 'q searches all text fields' and that filters combine with AND, but does not explain the purpose of the other 11 parameters (e.g., status, company, locality, postal_code, incorporated_on_after). This is a critical gap for a tool with many optional 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 clearly identifies the resource (newest UK companies), the source (Companies House API), and the specific data fields returned (name, number, type, SIC codes, incorporation date, registered-office area). This effectively distinguishes it from sibling tools focused on other UK datasets (insolvency, planning, etc.).
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 usage for UK company data but does not explicitly compare to alternatives or state when not to use this tool. It provides operational details like 'Filters combine with AND' and 'q searches all text fields', but lacks explicit routing guidance versus siblings. The context is clear enough for a domain-specific query, but no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_contract_awardsUK contract awards (Contracts Finder)AInspect
Who won which UK public-sector contract, for how much: award notices from the official Contracts Finder OCDS feed flattened to one row per award and supplier — buyer, supplier and its company number, award value and date, contract period, CPV codes, category and procurement method. Rolling window of the last two weeks of awards, refreshed daily. Organisation-level data only. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| buyer | No | ||
| category | No | ||
| per_page | No | ||
| supplier | No | ||
| cpv_codes | No | ||
| award_date_after | No | ||
| award_date_before | No | ||
| procurement_method | No | ||
| published_at_after | No | ||
| published_at_before | No | ||
| award_value_amount_max | No | ||
| award_value_amount_min | No | ||
| supplier_company_number | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers: the two-week rolling window, daily refresh, the flattened one-row-per-award-and-supplier data model, the organisation-level restriction, AND-combination of filters, q semantics, and the 1-credit cost. These are genuine behavioral traits an agent cannot infer from the schema alone.
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?
Information-dense with no filler — the purpose is front-loaded as a question, followed by source, fields, temporal window, exclusions, filter semantics, and cost. The first sentence is somewhat sprawling with the dash construction and long field list, but every clause 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 15-parameter tool with no annotations and no output schema, the description covers purpose, source, freshness window, data granularity, filter composition, q behavior, and credit cost. What an agent still lacks is the expected date format for the four date parameters and confirmation of pagination behavior, which are material gaps for constructing correct calls.
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% with 15 undocumented parameters, so the description must compensate. It maps most content-bearing parameters (buyer, supplier, supplier_company_number, award_value_amount, award_date, cpv_codes, category, procurement_method) by listing the data fields, and explains q's behavior and AND-combination. Gaps remain: date formats, published_at_after/before semantics, and page/per_page behavior are not described.
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 opening question 'Who won which UK public-sector contract, for how much' is a specific verb+resource statement, and 'award notices from the official Contracts Finder OCDS feed' names the exact data source. It differentiates from siblings by using 'award notices' versus query_uk_tenders (tenders) and by scoping to the UK Contracts Finder feed versus query_eu_ted.
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 clear usage context: 'Rolling window of the last two weeks of awards, refreshed daily' tells when the data is current, 'Organisation-level data only' is an explicit exclusion, and 'Filters combine with AND; q searches all text fields' prescribes how to compose queries. However, it never names alternatives like query_uk_tenders or query_eu_ted, so routing between siblings is left implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_food_hygieneUK food hygiene ratings (FSA)AInspect
Every food business rated under the UK Food Hygiene Rating Scheme (England, Wales, Northern Ireland; Scotland FHIS) from the official Food Standards Agency open-data file — business name, type, trading address and area, local authority, rating value and date, hygiene/structural/confidence sub-scores, new-rating-pending flag and coordinates, keyed by the stable FHRSID. Refreshed daily. Operator comments are dropped at ingest; rating artwork is not served. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| per_page | No | ||
| postcode | No | ||
| scheme_type | No | ||
| outward_code | No | ||
| rating_value | No | ||
| business_name | No | ||
| business_type | No | ||
| local_authority | No | ||
| hygiene_score_max | No | ||
| hygiene_score_min | No | ||
| rating_date_after | No | ||
| new_rating_pending | No | ||
| rating_date_before | No | ||
| confidence_score_max | No | ||
| confidence_score_min | No | ||
| local_authority_code | No | ||
| structural_score_max | No | ||
| structural_score_min | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden. It discloses data source, what fields are included, what is dropped (operator comments) and not served (rating artwork), refresh cadence, and cost per call. It also clarifies the stable key (FHRSID), giving agents a clear behavioral model.
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 dense paragraph but remains readable and front-loaded with the core purpose. It packs many details without excessive verbosity. Slight room for improvement in breaking up the field list, but it is efficiently structured.
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 complexity (20 parameters, no output schema, no annotations), the description provides a solid overview but misses parameter-specific semantics, pagination usage, and the exact response structure. It does not explain how page/per_page work or what the returned object looks like beyond a field list. For a tool this complex, more detail is needed for safe 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 explain parameter semantics, but it only mentions 'q' (searches all text fields) and that filters combine with AND. The other 19 parameters (postcode, scheme_type, rating_value, hygiene_score_min/max, etc.) are not individually explained, leaving agents to infer their meaning from names alone. This is a significant gap for a high-parameter 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 a query for UK food hygiene ratings from the FSA, listing the specific data fields and the scheme's geographic scope. It distinguishes itself from sibling tools that cover other UK datasets (companies, tenders, etc.) by naming the exact domain.
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 explains filter behavior ('Filters combine with AND; q searches all text fields') and notes the daily refresh, which sets expectations for freshness. However, it does not explicitly contrast with sibling tools or state when to choose this over others, though the domain is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_gambling_operatorsLicensed gambling operators in Great Britain (Gambling Commission register)AInspect
Every operating licence on the Gambling Commission register for Great Britain — remote and non-remote betting, casino, bingo, gaming-machine, lottery and gambling-software licences with status, activities, start and end dates and the operator's trading names — plus the website domains registered against each operator and every licensed premises (betting shops, casinos, bingo halls, arcades) with activity, licensing authority and address. One row per licence, domain or premises (record_type), keyed by the stable licence number or premises key. From the Commission's daily public register files; personal licences held by individuals are never ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| city | No | ||
| page | No | ||
| status | No | ||
| per_page | No | ||
| postcode | No | ||
| is_active | No | ||
| activities | No | ||
| domain_name | No | ||
| record_type | No | ||
| licence_type | No | ||
| outward_code | No | ||
| operator_name | No | ||
| trading_names | No | ||
| account_number | No | ||
| end_date_after | No | ||
| licence_number | No | ||
| end_date_before | No | ||
| local_authority | No | ||
| start_date_after | No | ||
| start_date_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the row structure (one row per licence, domain, or premises keyed by stable identifiers), the data source (daily public register files), the exclusion of personal licences, the credit cost, and the filter combination semantics. It does not mention pagination defaults or output ordering, but these are minor gaps given the detailed behavioral disclosure.
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 information-dense but well-organized, front-loading the core purpose and then adding details about record types, data source, exclusions, and filtering. Every sentence adds value, and it avoids fluff, though it is somewhat long. The structure is logical and readable.
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 21 parameters, no output schema, and no annotations, the description is moderately complete. It clearly describes the data content and row semantics, and it mentions cost and filter behavior. However, it lacks explanations of parameter semantics, pagination limits (though the schema provides defaults), and does not describe the exact structure of the response or any examples. This is a gap for an agent to fully understand how to construct complex queries.
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 21 parameters with zero descriptions, so the description must compensate. While it mentions that filters combine with AND and q searches all text fields, it does not explain individual parameters like 'status', 'activities', 'outward_code', 'local_authority', or the date fields. Parameter names are somewhat self-explanatory but ambiguous ones like 'status' and 'is_active' remain unclear, and there is no guidance on expected values or formats.
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 returns licensed gambling operators in Great Britain, covering licences, domains, and premises, with specific details like status, activities, dates, and trading names. It explicitly distinguishes this from personal licences and other data sources, and the verb 'query' plus the resource 'uk_gambling_operators' 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 provides some usage context by noting it covers only operating licences and excludes personal licences, and it explains filter behavior ('Filters combine with AND; q searches all text fields'). However, it does not explicitly state when to use this tool versus sibling tools like query_uk_sanctions or query_uk_companies, nor does it mention any prerequisites or alternative data sources beyond the daily register.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_insolvencyUK corporate insolvency noticesAInspect
The latest corporate insolvency notices from The Gazette (official UK public record) — winding-up petitions and orders, administrator, receiver and liquidator appointments, moratoria, and creditor notices, company-level facts only. Blind Mode: person fields and notice text in the source are never ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| company | No | ||
| per_page | No | ||
| notice_code | No | ||
| notice_type | No | ||
| published_at_after | No | ||
| published_at_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and does meaningful work: it discloses Blind Mode privacy behavior, that only company-level facts are retained, that filters AND-combine, and that each call costs 1 credit. It does not cover pagination or response format, but the core safety and cost behaviors are 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?
Three focused sentences with no fluff: resource first, then behavior and cost. Every clause earns its place and essential constraints are front-loaded.
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 eight parameters, the description is not complete enough for reliable invocation. Notice_code and notice_type are left undefined, and there is no description of response shape, pagination defaults, or error behavior.
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 explains q and the AND-combination of filters, but provides no additional meaning for company, notice_code, notice_type, published_at_after/before, page, or per_page.
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: the latest corporate insolvency notices from The Gazette, with concrete examples of included notice types. The domain ('corporate insolvency') and official source distinguish it from generic UK data query siblings.
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 establishes clear context for when to use the tool: when UK corporate insolvency notices are needed. It also gives practical query guidance (filters combine with AND; q searches all text fields), though it does not explicitly name alternatives or when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_planningUK planning applicationsAInspect
Planning applications from the official planning.data.gov.uk feed, normalized to one schema. Blind Mode: no applicant personal data. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| per_page | No | ||
| authority | No | ||
| reference | No | ||
| decision_date_after | No | ||
| decision_date_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the official source, normalized schema, Blind Mode privacy feature, AND combination of filters, q searching all text fields, and credit cost. It does not describe the response shape or pagination behavior, but it provides meaningful behavioral context beyond 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 compact and front-loaded: resource, source, normalization, privacy mode, query semantics, and cost are each conveyed in short sentences with no filler. Every clause adds useful 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?
The description is adequate for a query tool, but without an output schema or detailed parameter documentation, an agent would still be guessing about returned fields, how authority should be specified, and whether results have meaningful pagination or ordering. These are nontrivial gaps for a 7-parameter tool with no annotations.
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 adds meaning for q ('searches all text fields') and states that filters combine with AND, but it does not explain authority, reference, decision_date_after/before, or pagination fields. Parameter names are somewhat self-explanatory, but the description only partially fills the documentation gap.
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's resource: UK planning applications from the official planning.data.gov.uk feed, normalized to one schema. It is distinct from the sibling UK data tools by the planning domain, though it does not explicitly contrast itself with any sibling or use a clear verb like 'query' or 'return'.
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 choose this tool over siblings such as query_uk_tenders, query_uk_companies, or query_uk_sanctions. It conveys filter behavior and cost, but not the selection context or exclusions an agent would need to confidently route to this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_sanctionsUK sanctions designationsAInspect
Every designation on the official UK Sanctions List (FCDO) — individuals, entities, and ships, with regimes, aliases, and dates — normalized for supplier due diligence. Served as published by government for compliance purposes; dates of birth, identity documents, and contact details are dropped at ingest. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| name | No | ||
| page | No | ||
| regime | No | ||
| per_page | No | ||
| countries | No | ||
| unique_id | No | ||
| designation_type | No | ||
| designation_source | No | ||
| last_updated_after | No | ||
| last_updated_before | No | ||
| date_designated_after | No | ||
| date_designated_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses meaningful behavioral details beyond the schema: fields dropped at ingest ('dates of birth, identity documents, and contact details are dropped'), the compliance-oriented provenance, AND-combined filtering, and cost of 1 credit per call. With no annotations present, this is a solid disclosure, though pagination/error behavior are not covered.
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?
Three terse sentences front-load the core scope and purpose, then add operational details without wasted words. 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?
The tool is complex (13 params, no annotations, no output schema), and the description covers scope, dropped fields, filter semantics, and cost. Still, it leaves return-structure details, pagination behavior, and most per-parameter meanings unstated. Adequate for an initial call but with clear 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?
Schema description coverage is 0%, so the description must compensate. It usefully explains q as a full-text search and the AND-combination rule, but 13 parameters exist and most (name, countries, unique_id, designation_type, designation_source, date fields, page/per_page) receive no semantic explanation. This is insufficient for a tool this parameter-heavy.
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 resource ('official UK Sanctions List (FCDO)'), the scope ('individuals, entities, and ships'), and the included fields ('regimes, aliases, and dates'). This clearly differentiates it from sibling query tools covering companies, insolvency, tenders, and exclusions.
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 phrase 'normalized for supplier due diligence' and 'Served as published by government for compliance purposes' gives clear intended context. It also provides query-construction guidance ('Filters combine with AND; q searches all text fields'). However, it does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_schoolsSchools and colleges in England (GIAS + Ofsted)AInspect
Every school, academy, college and nursery on the Department for Education register (Get Information About Schools) — URN, name, type and phase, open/closed status, local authority and region, address and postcode, website, capacity and pupils on roll, age range, and the academy trust — joined by URN to the latest published Ofsted inspection outcome and inspection date. From the official daily GIAS extract and Ofsted’s monthly inspection management information. Head-teacher names and telephone numbers are dropped at ingest; the governors extract is never ingested. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| urn | No | ||
| name | No | ||
| page | No | ||
| town | No | ||
| phase | No | ||
| region | No | ||
| status | No | ||
| per_page | No | ||
| postcode | No | ||
| pupils_max | No | ||
| pupils_min | No | ||
| trust_name | No | ||
| outward_code | No | ||
| ofsted_rating | No | ||
| local_authority | No | ||
| open_date_after | No | ||
| website_present | No | ||
| open_date_before | No | ||
| establishment_type | No | ||
| ofsted_last_inspection_after | No | ||
| ofsted_last_inspection_before | No |
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 thoroughly: it discloses the URN join, data provenance from daily GIAS and monthly Ofsted extracts, that head-teacher names and phones are dropped, that governors data is never ingested, and the filter combination behavior. This goes well beyond what the schema provides.
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 information-dense, front-loading the resource scope and available fields before moving to provenance, exclusions, and usage rules. Every sentence contributes meaning without filler.
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 22-parameter query tool with no annotations and no output schema, the description is unusually complete: it covers coverage, data sources, join logic, dropped fields, filtering behavior, and cost. Minor gaps remain in describing pagination defaults and exact response shape, but those are partially inferable from the schema defaults and tool name.
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%, and the description compensates substantially by enumerating filterable fields that map to most parameters: URN, name, type/phase, status, local authority/region, address/postcode, pupil counts, trust, and Ofsted rating/date. It also clarifies q and AND semantics, though it does not explicitly document every parameter such as page, per_page, outward_code, or website_present.
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 precisely identifies the resource: every school, academy, college, and nursery on the DfE register joined to Ofsted data, scoped to England. It lists the key fields returned, making the tool's purpose unmistakable and clearly distinct from sibling UK-domain query tools.
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 concrete usage semantics: 'Filters combine with AND; q searches all text fields' and notes the cost of 1 credit per call. It does not explicitly discuss alternatives, but the sibling tools cover different UK datasets, so the context is clear enough without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_sponsorsUK licensed visa sponsors (Home Office)AInspect
Every organisation on the Home Office register of licensed sponsors for Worker and Temporary Worker visa routes — organisation name, town and county, sponsor type, licence rating, and the immigration route (Skilled Worker, Global Business Mobility, Creative Worker, and more). One row per organisation and route, from the official GOV.UK publication, refreshed on every republication (most working days). Organisation-level data only. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| town | No | ||
| route | No | ||
| county | No | ||
| rating | No | ||
| per_page | No | ||
| organisation | No | ||
| sponsor_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden. It discloses the official GOV.UK source, refresh cadence, row granularity, organisation-level scope, filter combination semantics, full-text q behavior, and credit cost per call.
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 dense and front-loaded: identity, scope, fields, granularity, source, refresh behaviour, and filtering rules are each conveyed in one short sentence or clause. There is 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?
The description is rich enough to invoke the tool correctly, covering data provenance, fields, row semantics, filtering, and cost. Pagination is left to the schema defaults. The only real gap is the lack of explicit allowed values for rating and sponsor_type, which creates minor uncertainty for a 9-parameter tool with no enum definitions.
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 compensates by mapping the data fields to the likely filter parameters and defining q as a full-text search. It also gives route examples. However, it does not enumerate accepted values for rating or sponsor_type, which remain ambiguous from the parameter names alone.
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 opens with a precise verb and resource: 'Every organisation on the Home Office register of licensed sponsors'. It names the exact data source, lists the returned fields, and specifies row granularity, making it clearly distinct from sibling query_uk_* tools.
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 operational context: filters combine with AND, q searches all text fields, and the data is organisation-level only. It does not explicitly contrast with sibling tools, but the register is unique enough that no alternative could be confused with it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_uk_tendersUK procurement noticesAInspect
Public procurement notices from the official Find a Tender OCDS feed, flattened to one queryable schema. Blind Mode: no contact or personal data. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| buyer | No | ||
| status | No | ||
| per_page | No | ||
| cpv_codes | No | ||
| value_amount_max | No | ||
| value_amount_min | No | ||
| procurement_method | No | ||
| published_at_after | No | ||
| published_at_before | No |
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 substantive work: it discloses Blind Mode with no contact or personal data, explains filter combination and q behavior, and states the credit cost. It does not mention pagination or output format, but the disclosed traits go well beyond a minimal 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?
Three dense sentences lead with the data source, then privacy, then query semantics and cost. No sentence is wasted and the most important usage facts are front-loaded.
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?
The description covers source, privacy, filter behavior, and cost, but with 11 parameters, 0% schema coverage, no annotations, and no output schema, more is needed: status/procurement_method allowed values, pagination behavior, and return shape are missing. It is adequate for a basic call, but not 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?
Schema description coverage is 0%, so the description must compensate. It adds useful global parameter semantics by stating that all filters combine with AND and that q searches all text fields, but it does not explain individual parameters such as status values, procurement_method values, or cpv_codes format.
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 action and resource: querying public procurement notices from the official UK Find a Tender OCDS feed. It clearly identifies the UK scope, which helps distinguish it from sibling tools like query_eu_ted, though it does not explicitly name alternate tools.
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 source and 'UK procurement notices' scope imply when the tool is relevant, and the filter semantics (AND, q searches all text fields) clarify how to use it. However, there is no explicit guidance about when to prefer this tool over siblings or 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.
query_uk_trademark_journalUK trade mark applications published for opposition (Trade Marks Journal)AInspect
Every UK trade mark application and international registration designating the UK accepted and published in the Intellectual Property Office’s weekly Trade Marks Journal — application number, mark text and type, Nice classes and goods/services, applicant organisation and country, representative firm, filing and priority dates, journal issue, publication date and the two-month opposition deadline. Rolling 52 weekly issues (about a year); the change feed lists each week’s new publications. Applicant names are kept only for organisations; addresses reduced to country; mark images never stored. Filters combine with AND; q searches all text fields. Costs 1 credit(s) per call.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| page | No | ||
| origin | No | ||
| classes | No | ||
| section | No | ||
| per_page | No | ||
| applicant | No | ||
| mark_text | No | ||
| mark_type | No | ||
| applicant_type | No | ||
| goods_services | No | ||
| journal_number | No | ||
| representative | No | ||
| class_count_max | No | ||
| class_count_min | No | ||
| applicant_country | No | ||
| filing_date_after | No | ||
| application_number | No | ||
| filing_date_before | No | ||
| publication_date_after | No | ||
| publication_date_before | No | ||
| opposition_deadline_after | No | ||
| opposition_deadline_before | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It reveals data limitations (applicant names only for organisations, addresses reduced to country, mark images never stored), data retention (rolling 52 issues), cost (1 credit), and query semantics. It omits details like pagination behavior or response structure, but still gives substantial 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 long but information-dense, covering purpose, data fields, retention, limitations, filter semantics, and cost in a compact format. It is front-loaded with the core purpose and avoids redundancy, though it could be slightly more structured with parameter names.
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 23 parameters, no output schema, and no annotations, the description is not complete enough for an agent to correctly invoke all filters. It fails to explain individual parameter semantics, valid values, or how to combine them beyond 'AND'. The data coverage and cost are helpful, but the tool's complexity demands more explicit parameter documentation.
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 lists many data fields (application number, mark text, classes, etc.) but never maps them to parameter names or explains formats for filters like 'section', 'origin', or 'classes'. Only 'q' and the AND behavior are explicitly described, leaving most of the 23 parameters 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 tool as a query for UK trade mark applications published in the IPO's weekly Trade Marks Journal, listing the specific fields returned. It also distinguishes this from the sibling change feed by noting that 'the change feed lists each week's new publications.'
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?
It explains filter behavior ('Filters combine with AND; q searches all text fields') and points to the change feed for week-by-week updates, giving a clear alternative. It does not explicitly state when not to use this tool, but the domain-specific purpose makes the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_api_keyRequest a free API key for the user (no browser needed)AInspect
Start sign-up from inside the agent: give the user's email address and gankdat emails them a one-click approval link with a short code. Show the user the returned code (they approve only if it matches), then call claim_api_key with request_id and claim_secret every 15s until it returns the key (250 free credits/month, no card; an existing account's plan carries over). Free to call; no key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The user's email address — they must be able to open the email | ||
| client_name | No | Name of the agent or app asking, shown to the user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it is transparent about side effects: an email is sent to the user, a one-click approval link with a short code is involved, and the user must verify the code. It also discloses cost/credit terms and the follow-up polling behavior, going well beyond a generic 'request key' 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?
The description is dense but efficient, front-loading the core purpose and then providing the necessary workflow details. The first sentence is long and packs in multiple pieces of information, but each clause contributes useful context, so it earns a strong score rather than a perfect one.
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?
There is no output schema, so the description must explain the interaction flow, and it does so thoroughly: email, code display, approval, polling, and free tier details. It is slightly implicit about where request_id and claim_secret come from — though clearly implied as outputs of this step — and does not describe error/timeout behavior, which prevents a perfect score.
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 already strong. The description adds workflow context by tying email to the sign-up email and indicating that client_name identifies the requesting agent/app. It does not repeat schema details unnecessarily, but it also does not significantly deepen the meaning of either parameter.
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 action ('Start sign-up from inside the agent'), a clear resource (free API key), and the prerequisite (user's email address). It also distinguishes itself from the sibling claim_api_key by framing this as the initial request step that precedes claiming.
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?
It gives an explicit when-to-use workflow: call this first, show the user the code, then poll claim_api_key with request_id and claim_secret. It also clarifies that no existing API key is needed and that this call is free, which helps an agent decide to use it in the auth flow.
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
get_changes1 field changed- added
Input schema / properties / filterAdded value: +{ + "additionalProperties": { + "type": [ + "string", + "number", + "boolean" + ] + }, + "description": "The source's query params (as for its query_ tool, plus q) to match the changed record against", + "propertyNames": { + "type": "string" + }, + "type": "object" +}
2 tool updates
- Added
claim_api_key - Added
request_api_key
2 tool updates
- Changed
get_changes1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "sam-exclusions", - "uk-food-hygiene", - "uk-sponsors", - "uk-charities", - "uk-care-locations", - "uk-schools", - "nhs-ods", - "uk-trademark-journal" -]New value: +[ + "sam-exclusions", + "uk-food-hygiene", + "uk-sponsors", + "uk-charities", + "uk-care-locations", + "uk-schools", + "nhs-ods", + "uk-trademark-journal", + "uk-gambling-operators" +]
- Added
query_uk_gambling_operators
2 tool updates
- Changed
get_changes1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "sam-exclusions", - "uk-food-hygiene", - "uk-sponsors", - "uk-charities", - "uk-care-locations", - "uk-schools", - "nhs-ods" -]New value: +[ + "sam-exclusions", + "uk-food-hygiene", + "uk-sponsors", + "uk-charities", + "uk-care-locations", + "uk-schools", + "nhs-ods", + "uk-trademark-journal" +]
- Added
query_uk_trademark_journal
2 tool updates
- Changed
get_changes1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "sam-exclusions", - "uk-food-hygiene", - "uk-sponsors", - "uk-charities", - "uk-care-locations", - "uk-schools" -]New value: +[ + "sam-exclusions", + "uk-food-hygiene", + "uk-sponsors", + "uk-charities", + "uk-care-locations", + "uk-schools", + "nhs-ods" +]
- Added
query_nhs_ods
3 tool updates
- Changed
query_uk_care_locations1 field changed- added
Input schema / properties / website_presentAdded value: +{ + "type": "string" +}
- Changed
query_uk_charities1 field changed- added
Input schema / properties / website_presentAdded value: +{ + "type": "string" +}
- Changed
query_uk_schools1 field changed- added
Input schema / properties / website_presentAdded value: +{ + "type": "string" +}
2 tool updates
- Changed
get_changes1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "sam-exclusions", - "uk-food-hygiene", - "uk-sponsors", - "uk-charities", - "uk-care-locations" -]New value: +[ + "sam-exclusions", + "uk-food-hygiene", + "uk-sponsors", + "uk-charities", + "uk-care-locations", + "uk-schools" +]
- Added
query_uk_schools
1 tool update
- Added
query_uk_contract_awards
1 tool update
- Added
get_changes
1 tool update
- Added
query_uk_care_locations
1 tool update
- Added
query_uk_charities
1 tool update
- Added
query_uk_sponsors
1 tool update
- Added
query_uk_food_hygiene
2 tool updates
- Added
query_uk_companies - Added
query_uk_insolvency
1 tool update
- Added
query_sam_exclusions
1 tool update
- Added
query_eu_ted
1 tool update
- Added
query_uk_sanctions
4 tool updates
- First observed
get_usage - First observed
list_sources - First observed
query_uk_planning - First observed
query_uk_tenders
Related MCP Connectors
- RednetOAuthltd.rednet
Matched public tenders, 12M past awards, buyer and supplier profiles, renewals, grants, web search
1 - mcpOAuthcom.bidskim
UK procurement intelligence: live tenders, renewals with incumbents, buyer and supplier profiles.
Tender search + AI CPV finder. Register free: 1 daily email alert, up to 20 results/search.
UK public procurement data for AI agents: tenders, contracts, buyer and supplier profiles.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceUK public procurement data for AI agents. Tenders, contracts, buyer and supplier profiles over MCP and REST. 250 free credits.MIT- AlicenseNot gradedqualityBmaintenanceEnables searching UK government procurement data — Contracts Finder notices and contracts (with supplier and value), plus high-value Find a Tender Service tenders — and retrieving full details for any single notice. Covers NHS trusts, councils, police, universities and central government departments.366 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and analyzing government tenders, contract awards, and pre-tender pipelines from 21 official sources, with tools for tender search, award intelligence, and detailed notice retrieval.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to find, score, and monitor government contract opportunities across UK, EU, and US with AI-powered relevance scoring.249 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.