UK Data: UK government and law
Server Details
UK legislation full text, MPs, petitions, GOV.UK search, food alerts, police neighbourhoods
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Each tool targets a distinct source or action: GOV.UK page retrieval vs. search, legislation search vs. text retrieval, food alerts, MP lookup, petitions, and police neighbourhoods. The only location-based overlap (MP vs. police) has clearly different outputs and domains.
All tool names use consistent lower_snake_case and are clearly readable as source/domain plus resource or action. There are no mixed conventions or vague verbs causing confusion.
Eight tools is well-scoped for a UK public-data server covering several distinct sources. Each tool earns its place without redundancy or excessive breadth.
The server covers core read-only lookups across GOV.UK, legislation, MPs, petitions, food alerts, and policing. Some adjacent UK government/law areas are absent, such as courts/judgments or local council data, but core workflows have no dead ends.
Available Tools
8 toolsfood_alertsARead-onlyIdempotentInspect
Latest Food Standards Agency product recalls and allergy alerts. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number 1-100 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds one genuinely useful non-schema fact — a cost of 1 credit — and the word 'latest' signals recency ordering, but it says nothing about pagination, result volume, or freshness window.
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 compact fragments with zero filler, front-loading the data source and appending the cost note. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-param, read-only feed with rich annotations, this is nearly sufficient. The only meaningful gap is that no output schema exists, so the description could have sketched the shape of a returned alert (title, date, product, allergen) to help the agent decide the tool fits.
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 single 'limit' parameter is fully documented in the schema ('number 1-100'), so the schema does the heavy lifting and baseline is 3. The description adds no meaning about what the limit caps or what the default is when omitted.
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?
Names the specific resource — Food Standards Agency product recalls and allergy alerts — which distinguishes it cleanly from the other UK-government siblings (govuk_search, legislation_search, petitions_search). It is not an explicit verb+resource phrasing ('Latest ... alerts' is a noun phrase), so it falls just short of 5, but the agent knows exactly what domain this fetches.
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 when-to-use, when-not-to-use, or alternative routing is stated; the guidance is only implied by the subject matter (use when you need FSA recall/allergy data). Since no sibling overlaps in this domain, the inference is safe, but nothing explicit is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
govuk_pageARead-onlyIdempotentInspect
Clean text of a GOV.UK page by path (e.g. /vat-rates). (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | string, required | |
| maxChars | No | number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new context — the 1-credit cost and that the output is cleaned/stripped text rather than raw HTML — but says nothing about truncation behavior, what happens on an invalid path, or whether maxChars has a default cap.
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?
One sentence plus a parenthetical cost note. The resource and addressing method are front-loaded 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 two-parameter read-only fetch with no output schema, the description covers the essentials of what to pass and roughly what comes back. It falls short on truncation semantics and error behavior, which matter for an open-world URL fetcher.
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 nominally 100%, but the schema text is boilerplate ('string, required', 'number') and adds no real meaning. The description contributes the example path format, which is useful, but leaves maxChars unexplained even though it accepts both number and string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Clean text') and resource ('a GOV.UK page') and shows how it is addressed ('by path (e.g. /vat-rates)'). This is enough to tell it apart from govuk_search at a glance, though it never explicitly contrasts the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'by path' signals that you must already know the page's URL path. There is no statement of when to prefer this over govuk_search (i.e. when you don't have a path yet) and no prerequisites or failure conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
govuk_searchARead-onlyIdempotentInspect
Search GOV.UK guidance, news and publications. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number 1-50 | |
| query | No | string, required |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds a genuinely useful non-annotation detail — a cost of 1 credit — but says nothing about result ordering, pagination, or result volume, which matters for search tools.
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 compact clauses, with the purpose front-loaded and the credit cost appended parenthetically. Every element carries information; nothing is redundant.
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 only two fully documented parameters, no output schema, and complete annotations, the terse description is nearly sufficient. However, it leaves an agent unsure how to choose between this and govuk_page for retrieving GOV.UK content, which is the main contextual gap.
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 100%, so both parameters (query, limit 1-50) are already documented in the schema. The description adds no meaning about query syntax (keywords, phrases, boolean operators) beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ("Search") and a scoped resource ("GOV.UK guidance, news and publications"), which distinguishes it from legislation_search and govuk_page by content type. It does not explicitly name a sibling to route away from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the content-domain listing; there is no explicit statement of when to use this versus govuk_page (fetch a specific page) or legislation_search. No exclusions, prerequisites, or query-syntax expectations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legislation_searchBRead-onlyIdempotentInspect
Search UK legislation by title (legislation.gov.uk). (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number 1-50 | |
| query | No | string, required | |
| includeEu | No | boolean, default false: also search EU retained law |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds a genuinely useful non-schema trait — a cost of 1 credit — but says nothing about result ordering, pagination, or whether matching is exact vs. partial title matching.
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 clauses, zero filler, and the resource/source are front-loaded before the cost note. It is on the edge of over-terseness for a tool with three parameters, but no sentence is wasted.
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 should hint at the return shape (a list of legislation matches with titles/years), which it does not. For a simple three-parameter search tool with full annotation and schema coverage this is adequate but leaves the agent guessing about results and next steps.
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 100%, so limit, query and includeEu are already documented. The phrase 'by title' adds real meaning about what the query string matches (titles rather than full text), but nothing is said about how limit interacts with total result counts or what includeEu returns differently.
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 ('Search') and resource ('UK legislation'), plus the source domain (legislation.gov.uk) and the matching field ('by title'). This clearly separates it from siblings like govuk_search and legislation_text, though it never names legislation_text explicitly as the full-text counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for finding legislation when it knows a title, and that legislation_text would be needed for content. There is no explicit when-to-use, when-not-to-use, or named alternative, so routing between the two legislation tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legislation_textARead-onlyIdempotentInspect
Text of an Act or instrument, or one section, from its legislation.gov.uk URL. (cost: 2 credits)
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | string, required | |
| section | No | string e.g. 3 | |
| maxChars | No | number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered structurally. The description adds genuinely new information with the 'cost: 2 credits' note, but it says nothing about text truncation (relevant given the maxChars parameter) or the shape of the returned text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence identifies what is returned, from where, and at what cost, with no wasted words. The parenthetical cost is well placed at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter fetch tool with no output schema and full annotation coverage, the description covers the essentials but omits two things an agent would want: expected URL format (all parameters are technically optional) and whether output is truncated by maxChars.
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 100%, so the baseline is 3. The description does add meaning by implying 'section' narrows the fetch to a single provision of the Act, but it says nothing about maxChars or whether url must be a full legislation.gov.uk address versus an identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Text of an Act or instrument, or one section') and its source ('from its legislation.gov.uk URL'), which an agent can distinguish from the sibling legislation_search tool. It stops short of explicitly naming that sibling or stating the division of labor between search and fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'from its legislation.gov.uk URL' signals that this is a follow-up fetch after locating a URL, presumably via legislation_search, but that prerequisite is never stated. There are no explicit when-not conditions or alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mp_lookupARead-onlyIdempotentInspect
Find the MP for a postcode, or search current MPs and peers by name. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | string | |
| limit | No | number | |
| postcode | No | string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context — a cost of 1 credit per call — but says nothing about result shape, pagination, or what happens with an invalid postcode, which matters for an open-world lookup.
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?
One sentence for the two modes with the cost note appended in parentheses — front-loaded and zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter lookup with no required fields and no output schema, the definition should clarify the mutual-exclusivity or fallback behavior between name and postcode and the meaning of 'limit'. The cost disclosure is a plus, but these gaps keep it at minimum viable.
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 nominally 100%, but the schema descriptions are placeholders ('string', 'number'), so the description is the only real source of meaning for name and postcode. It clarifies those two but leaves 'limit' completely unexplained and never states that at least one of name/postcode should be provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Find the MP for a postcode') plus a second mode ('search current MPs and peers by name'), so an agent knows exactly what the tool returns and can distinguish it from the unrelated sibling tools like govuk_search or legislation_search.
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 implicitly tells the agent which parameter selects which behavior: postcode for a constituency lookup, name for a search. There are no explicit exclusions and no guidance on what happens when neither is supplied, but the input-mode routing is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
petitions_searchBRead-onlyIdempotentInspect
Search UK Parliament petitions with signature counts and state. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | number | |
| query | No | string, required | |
| state | No | open|closed|rejected|all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description contributes one genuinely new behavioral fact -- the '(cost: 1 credit)' charge -- but says nothing about pagination, result caps, rate limits or how the 'state' filter affects results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the resource and the returned fields, with the cost note appended compactly. No filler or redundancy, though there is minimal structure for an agent to parse beyond one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search with no output schema, the description is adequate but thin: it indicates return contents yet omits result shape, pagination behavior and how the state filter interacts with the query. Since there is no output schema, some of the return-value burden falls on the description and is only partially met.
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 listed at 100%, so the documented baseline of 3 applies. However, the description adds no real meaning beyond the schema; it echoes 'state' without explaining the allowed values (open|closed|rejected|all) or how 'limit' behaves, so it does not compensate for the schema's thin type-only descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Search UK Parliament petitions') and adds what comes back ('signature counts and state'), so an agent knows exactly what the tool retrieves. It does not need to differentiate from siblings like food_alerts or legislation_search, since those are other content domains, but it also does no explicit sibling routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over govuk_search or legislation_search, and no stated prerequisites or exclusions. The only cue is the verb 'Search', which leaves the agent to infer applicability from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
police_neighbourhoodARead-onlyIdempotentInspect
Police force, neighbourhood team and contact details for a point. (cost: 1 credit)
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | No | number, required | |
| longitude | No | number, required |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful context by disclosing a cost of 1 credit, but says nothing about coverage limits (e.g. non-UK points yielding no result) or how missing neighbourhood data is represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the resource front-loaded and the credit cost in parentheses, no filler. It is slightly fragmentary because it omits an explicit verb, but nothing in it is wasted.
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 two-parameter, annotation-rich lookup with no output schema, the description carries the key extras: what is returned (force, team, contacts) and the credit cost. Geographic coverage would be a nice addition but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so latitude and longitude are documented in the schema itself, and 'for a point' merely confirms both are needed. The description adds no format, range, or coordinate-system detail beyond what the schema already provides, so the baseline of 3 applies.
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?
Names the concrete resources returned — police force, neighbourhood team and contact details — and scopes them 'for a point', which distinguishes it from siblings like mp_lookup or govuk_search. No explicit verb (lookup/retrieve) is given, but the resource 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?
Usage is only implied: the phrase 'for a point' tells the agent this is a coordinate-based lookup, but there is no statement of when to prefer it over alternatives or what preconditions apply. An agent can infer the use case but gets no routing guidance.
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
legislation_search1 field changed- added
Input schema / properties / includeEuAdded value: +{ + "description": "boolean, default false: also search EU retained law", + "type": [ + "boolean", + "string" + ] +}
8 tool updates
- First observed
food_alerts - First observed
govuk_page - First observed
govuk_search - First observed
legislation_search - First observed
legislation_text - First observed
mp_lookup - First observed
petitions_search - First observed
police_neighbourhood
Related MCP Connectors
Search UK Acts, Statutory Instruments, and legislation with full text retrieval
Search and read UK legislation at any date, resolve citations, list amendments, track changes.
Query UK Parliament, elections, crime stats, ONS census data, and national archives
Search UK companies, land registry prices, charities, OS locations, and traffic data
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables searching and reading UK legislation as it stands now, as enacted, or on any date, resolving citations to canonical items and provisions, listing amendments and effects, and tracking daily changes via the legislation.gov.uk publication log.691 npm2Apache 2.0
- AlicenseAqualityBmaintenanceEnables searching and retrieval of UK legislation (Acts, Statutory Instruments) from legislation.gov.uk with persistent identifiers and verifiable citations.9101 PyPIApache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables querying point-in-time amendment history for UK law, including searching provisions, viewing provision histories, listing recent amendments, and identifying most-amended provisions.1MIT
- AlicenseBqualityCmaintenanceProvides access to 27 UK government data sources and services, enabling queries about transport, business, healthcare, and more via natural language.332MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.