Repository avatar
Search & Data Extraction
v0.1.0
active

uk-food-hygiene-mcp

io.github.jamesmarshall543210-sudo/uk-food-hygiene-mcp

Search official UK Food Standards Agency hygiene ratings by name, postcode or council.

Documentation

UK Food Hygiene Ratings — MCP server

An MCP server (TypeScript, Streamable HTTP, plus optional stdio) for official UK Food Standards Agency hygiene ratings (FHRS in England, Wales and Northern Ireland, and FHIS in Scotland). It uses the free public FSA API (api.ratings.food.gov.uk) and needs no FSA API key.

You can run this repository locally, or use the hosted server on MCPize.

This project is a companion to the Apify Actor UK Food Hygiene Rating Monitor (FSA), which is better for scheduled snapshots and detecting removed businesses. Nothing in this repository is a secret, an API token, or a credential.

Hosted server

Hosted prices (live, unchanged): $0.02 per tool call, or $9 per month. Clients must send a MCPize API key:

{
  "mcpServers": {
    "uk-food-hygiene-ratings": {
      "url": "https://uk-food-hygiene-ratings.mcpize.run/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MCPIZE_API_KEY"
      }
    }
  }
}

Get a key from the MCPize listing. Do not commit API keys.

Tools

ToolWhat it does
search_establishmentsSearch by name, postcode, localAuthority (name or ID), businessType (name or ID), with maxResults (default 25, max 200).
get_establishmentGet one business by fhrsId.
recent_rating_changesBusinesses whose rating date falls within the last days (default 30), using the same filters. It is stateless and does not store a snapshot. The FSA API cannot sort by date, so it scans at most 500 matches and returns complete: false for larger areas. Narrow by postcode or business type for full coverage. It cannot detect removed businesses; the Apify Actor snapshot diff does that.

Each result has these fields: fhrsId, name, businessType, address, postcode, rating, ratingDate, newRatingPending, localAuthority, scheme, sourceUrl, plus an attribution note. Phone numbers, emails and score breakdowns are not included.

Example calls

{"name": "search_establishments", "arguments": {"postcode": "LS1 4AP"}}
{"name": "get_establishment", "arguments": {"fhrsId": 1781401}}
{"name": "recent_rating_changes", "arguments": {"postcode": "NP12", "days": 30}}

Run locally

npm install && npm run build
npm start                    # http://localhost:8080/mcp (PORT env var respected)
node dist/index.js --stdio   # stdio for desktop MCP clients
npm test                     # SDK client test against the running HTTP server

The local server talks to the public FSA API directly. No API key is required. Optional environment variables are listed in .env.example (PORT, NODE_ENV).

Other UK open-data tools

Licence and attribution

Example code and documentation in this repository: MIT, copyright James Marshall 2026.

The ratings themselves are public sector information licensed under the Open Government Licence v3.0. Source: Food Standards Agency, https://ratings.food.gov.uk. See ATTRIBUTION.md. Ratings reflect the standard at the date of inspection.

This project is independent and is not affiliated with or endorsed by the Food Standards Agency, Apify, MCPize or n8n. It uses no FHRS/FHIS logos or official rating images.

No installation packages available.