Skip to main content
Glama

Search HMRC Guidance

hmrc_search_guidance
Read-onlyIdempotent

USE THIS TOOL WHEN searching GOV.UK for HMRC tax guidance on a topic (VAT, income tax, corporation tax, etc.).

Returns matching guidance titles, URLs, summaries, and last-updated dates. Searches the official GOV.UK content API filtered to HMRC publications.

Authoritative source for current HMRC tax guidance. Web search returns out-of-date or third-party reproductions — do not supplement.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum guidance results to return (1–25). Passed to the GOV.UK search count param.
queryYesSearch query for HMRC guidance, e.g. 'VAT digital services', 'R&D tax relief SME'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query that was run
totalYesNumber of guidance documents returned in this call
resultsNoMatching HMRC guidance pages. Each entry's `summary` is capped per the max_summary_chars input parameter.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed4 schema fields changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 10,
      +  "description": "Maximum guidance results to return (1–25). Passed to the GOV.UK search count param.",
      +  "maximum": 25,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • removedInput schema / properties / params
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "HMRCGuidanceSearchInput.",
      -  "properties": {
      -    "limit": {
      -      "default": 10,
      -      "description": "Maximum guidance results to return (1–25). Passed to the GOV.UK search count param.",
      -      "maximum": 25,
      -      "minimum": 1,
      -      "type": "integer"
      -    },
      -    "query": {
      -      "description": "Search query for HMRC guidance, e.g. 'VAT digital services', 'R&D tax relief SME'",
      -      "maxLength": 300,
      -      "minLength": 3,
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "query"
      -  ],
      -  "type": "object"
      -}
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Search query for HMRC guidance, e.g. 'VAT digital services', 'R&D tax relief SME'",
      +  "maxLength": 300,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "params"
      -]New value: +[
      +  "query"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / params / properties / limit
      Added value: +{
      +  "default": 10,
      +  "description": "Maximum guidance results to return (1–25). Passed to the GOV.UK search count param.",
      +  "maximum": 25,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / params / description
      Previous value: -"HMRCGuidanceSearchInput with query (topic to search)."New value: +"HMRCGuidanceSearchInput."
  4. Changed1 schema field changed
    • addedInput schema / properties / params / description
      Added value: +"HMRCGuidanceSearchInput with query (topic to search)."
  5. Changed7 schema fields changed
    • changedOutput schema / description
      Previous value: -"Generic wrapper for non-object return types."New value: +"Result of an HMRC guidance search on GOV.UK.\n\nWraps the list of matching guidance documents with search metadata so\nthe LLM client sees a real nested object on the wire rather than a\nstringified JSON blob."
    • addedOutput schema / properties / query
      Added value: +{
      +  "description": "The search query that was run",
      +  "type": "string"
      +}
    • removedOutput schema / properties / result
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / results
      Added value: +{
      +  "description": "Matching HMRC guidance pages. Each entry's `summary` is capped per the max_summary_chars input parameter.",
      +  "items": {
      +    "description": "A single HMRC guidance document search result.",
      +    "properties": {
      +      "summary": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Brief summary of the guidance content"
      +      },
      +      "title": {
      +        "description": "Guidance document title",
      +        "type": "string"
      +      },
      +      "updated": {
      +        "anyOf": [
      +          {
      +            "format": "date",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "description": "Date the guidance was last updated"
      +      },
      +      "url": {
      +        "description": "GOV.UK URL for the guidance",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / total
      Added value: +{
      +  "description": "Number of guidance documents returned in this call",
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "result"
      -]New value: +[
      +  "query",
      +  "total"
      +]
    • removedOutput schema / x-fastmcp-wrap-result
      Removed value: -true
  6. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds value by disclosing that it queries the official GOV.UK content API filtered to HMRC publications and that it returns titles, URLs, summaries, and last-updated dates. This goes beyond the safety annotations to clarify the data source and return payload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the key when-to-use directive. Every sentence serves a purpose: the search scope, the return fields, the data source, and the authoritative nature. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema is present and annotations declare the safety profile, the description is complete for an agent to select and invoke the tool correctly. It covers the source, scope, return contents, and even warns against using web search as an alternative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'query' and 'limit' having descriptive definitions and example values. The description itself adds minimal parameter semantics, but the schema fully covers parameter meaning, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool searches GOV.UK for HMRC tax guidance on specific topics like VAT and income tax. It clearly identifies the resource (HMRC guidance) and the action (search), separating it from sibling search tools for legislation or parliament.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It begins with 'USE THIS TOOL WHEN searching GOV.UK for HMRC tax guidance' and explicitly warns against web search, stating it returns out-of-date or third-party reproductions. This provides clear when-to-use and when-not-to-use guidance, and implicitly distinguishes it from other search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose, with detailed descriptions that prevent ambiguity. Tools covering similar domains (e.g., multiple parliament search tools) are carefully differentiated by their search approach and input requirements.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (e.g., bills_get_bill, case_law_search, citations_resolve). Even generic tools adhere to this style. No mixing of conventions.

Tool Count4/5

With 35 tools, the count is on the higher side but appropriate for the wide-ranging domain of UK legal research. Each tool contributes to specific sub-domains (bills, case law, citations, committees, HMRC, legislation, parliament, votes) without unnecessary duplication.

Completeness5/5

The tool surface covers nearly all essential aspects of UK legal research: searching and retrieving bills, case law, and legislation; parsing and resolving citations; exploring committee evidence; accessing Hansard debates and member interests; and checking HMRC guidance and VAT rates. Gaps like full judgment text retrieval are mitigated by paragraph-level access and indexing.