UK Business Compliance MCP
UK business compliance intelligence across 7 regulatory registries — Companies House, Land Registry, Charity Commission, Food Standards Agency, Environment Agency, OpenCorporates, and GLEIF LEI — accessible to any MCP-compatible AI client. Run a single tool call to verify company registrations, trace property ownership, audit charities, validate waste carriers, score regulatory compliance, or generate a comprehensive multi-registry report.
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| tool-call | Per MCP tool invocation | $0.10 |
Example: 100 events = $10.00 · 1,000 events = $100.00
Connect to your AI agent
Add this MCP server to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.
https://ryanclinton--uk-business-compliance-mcp.apify.actor/mcp{
"mcpServers": {
"uk-business-compliance-mcp": {
"url": "https://ryanclinton--uk-business-compliance-mcp.apify.actor/mcp"
}
}
}Documentation
UK business compliance intelligence across 7 regulatory registries — Companies House, Land Registry, Charity Commission, Food Standards Agency, Environment Agency, OpenCorporates, and GLEIF LEI — accessible to any MCP-compatible AI client. Run a single tool call to verify company registrations, trace property ownership, audit charities, validate waste carriers, score regulatory compliance, or generate a comprehensive multi-registry report.
This MCP server orchestrates up to 7 Apify actors in parallel, merges their outputs into a typed knowledge graph, and applies multi-factor compliance scoring algorithms to produce structured JSON with risk ratings and actionable recommendations. No scraping infrastructure to manage, no API keys to juggle — connect it once and query UK regulatory data from Claude, Cursor, Windsurf, or any MCP-compatible agent.
⬇️ What data can you extract?
| Data Point | Source | Example |
|---|---|---|
| 📋 Company name, number, status, incorporation date | Companies House | Pinnacle Logistics Ltd, 10234567, Active |
| 🏢 Registered office address, SIC codes, company type | Companies House | 14 Canary Wharf, London E14 5AB |
| 🏠 Property address, title number, tenure, price paid | Land Registry | 42 Victoria Street SW1H 0ET, TGL345678, Freehold, £1,250,000 |
| ❤️ Charity name, registration number, registration status | Charity Commission | Redbridge Community Trust, 1098234, Registered |
| 💰 Charity income, expenditure, trustees, compliance flags | Charity Commission | Income £482,000, Expenditure £391,000, 5 trustees |
| 🍽️ Food hygiene rating (0–5), inspection scores, local authority | Food Standards Agency | Meridian Food Hall, Rating 4, Hygiene 5, Structural 5 |
| ♻️ Waste carrier registration number, status, expiry date, tier | Environment Agency | WestField Haulage, CBDU12345, Active, Upper Tier, Expires 2026-11-01 |
| 🌐 Cross-jurisdiction status, OpenCorporates registry URL | OpenCorporates | Pinnacle Logistics Ltd, gb_en, Active |
| 🔖 Legal Entity Identifier, entity status, parent/child relationships | GLEIF LEI | 213800FGJKL1234ABCD56, Active |
| 📊 Weighted compliance score (0–100), risk rating, per-factor breakdown | Composite | Score 74, Risk: Medium, 4 factors assessed |
| 🕸️ Knowledge graph nodes and edges across all 7 sources | Network builder | 12 nodes, 9 edges |
| ✅ Cross-registry verification result with discrepancy list | Verification engine | Verified in 3/3 registries, no discrepancies |
Why use UK Business Compliance MCP?
Manual UK company due diligence means opening Companies House, switching to Land Registry, hunting for Charity Commission records, cross-referencing the FSA hygiene database, checking the EA waste register, and stitching it all together in a spreadsheet — a process that takes 2–4 hours per company and produces no structured output.
This MCP server automates the entire multi-registry workflow. One tool call collects and merges data from up to 7 sources, builds a knowledge graph, scores compliance, and returns everything as structured JSON — in under 2 minutes, at a fraction of the cost of commercial due diligence platforms.
Beyond raw data retrieval, the platform benefits make this a practical choice for production workflows:
- Scheduling — run periodic compliance sweeps on supplier lists, charity registers, or counterparty portfolios to keep data fresh
- API access — trigger compliance checks from Python, JavaScript, or any HTTP client using the Apify API
- Parallel orchestration — all 7 registry actors run concurrently via
Promise.allSettled, so a 7-source report takes no longer than the slowest single registry - Monitoring — receive Slack or email alerts when compliance scores fall below a threshold or runs fail
- Integrations — connect results to Zapier, Make, Google Sheets, HubSpot, or downstream webhooks
Features
- 8 MCP tools covering the full compliance workflow — network mapping, registration verification, property tracing, charity auditing, food hygiene assessment, waste carrier validation, compliance scoring, and full report generation
- 7 UK regulatory data sources in one server — Companies House, Land Registry, Charity Commission, FSA FHRS, Environment Agency, OpenCorporates (140+ jurisdictions), and GLEIF LEI
- Parallel actor orchestration —
callActorsParalleldispatches all registry requests concurrently usingPromise.allSettled, with per-source error isolation so a single failing registry does not abort the run - Typed knowledge graph builder —
buildUkBizNetworkconstructs nodes (company, property, charity, food_business, waste_carrier, registration, lei_entity) and edges (registered_as, owns_property, charity_of, hygiene_rated, waste_licensed, identified_by) from raw registry data - Cross-registry verification algorithm — normalises company names with
name.toLowerCase().replace(/[^a-z0-9]/g, ''), matches across 3 registries, detects name and status discrepancies, and computes acrossReferenceScoreof 0–100 - Multi-factor weighted compliance scoring — combines up to 6 factors (Cross-Registry Verification 25%, Company Status 20%, Charity Compliance 15%, Food Hygiene 15%, Waste Carriers 10%, LEI Registration 10%) into a weighted composite score
- FSA rating risk classification — maps FHRS 0–5 ratings to
critical/high/medium/lowrisk levels using official Food Standards Agency label definitions (Very Good, Good, Generally Satisfactory, Improvement Necessary, Major Improvement Necessary, Urgent Improvement Necessary) - Waste carrier expiry monitoring — flags registrations expiring within 90 days, identifies expired registrations, and differentiates upper vs. lower tier EA registrations
- Charity financial anomaly detection — raises flags when expenditure exceeds income by more than 20%, when no financial data is reported, or when fewer than 3 trustees are listed
- Structured recommendations output — each compliance score includes plain-English remediation recommendations derived from scoring algorithm logic
- Selective source querying — every tool accepts a
sourcesparameter to restrict which registries are queried, reducing cost and latency for focused lookups - Pay-per-event pricing — charges
TOOL_RESULT_RETURNEDonly on successful results; failed or empty runs are not billed
Use cases for UK business compliance intelligence
Due diligence and counterparty screening
Legal teams and procurement departments verifying new UK suppliers or counterparties before contract execution. This MCP returns a full compliance picture — registration status, cross-registry consistency, property holdings, and any charity or environmental obligations — in a single structured response ready for risk memos or audit trails.
Corporate property portfolio investigation
Real estate analysts and insolvency practitioners tracing corporate property holdings through Land Registry records. Search by company name to discover all registered titles, tenure types, transaction dates, and total portfolio value. Useful for identifying hidden assets during restructuring or enforcement proceedings.
Charity sector oversight and grant due diligence
Grant-making bodies and charity regulators auditing recipient organisations before disbursing funds. The charity compliance audit checks Charity Commission registration status, assesses income-to-expenditure ratios, lists trustees, and raises governance flags — all from a single call.
Food supply chain risk management
Procurement and quality assurance teams at food manufacturers, retailers, or hospitality groups assessing supplier hygiene standards. The food hygiene assessment returns FSA FHRS ratings (0–5), hygiene, structural, and management sub-scores, and risk classifications for every premises linked to a business name or local authority area.
Environmental compliance verification
Waste brokers, construction companies, and facilities managers confirming that contractors hold valid Environment Agency waste carrier licences before engaging them. Invalid or expired licences expose duty-of-care liability under the Environmental Protection Act 1990. This MCP validates carrier registrations and flags those expiring within 90 days.
Regulatory technology and compliance automation
RegTech developers and compliance platform builders embedding multi-registry UK data into automated workflows. The MCP's structured JSON output and knowledge graph format are designed for downstream processing, database ingestion, and AI-agent pipelines without manual data transformation.
How to run UK business compliance checks
- Connect the MCP to your AI client — add the server URL
https://uk-business-compliance-mcp.apify.actor/mcpto Claude Desktop, Cursor, Windsurf, or your preferred MCP-compatible agent. No further configuration is required. - Choose a tool and provide a company name — tell your AI: "Use
verify_company_registrationto check Pinnacle Logistics Ltd, company number 10234567." For the full report, usegenerate_uk_compliance_reportwith just the company name. - Wait approximately 30–90 seconds — the server queries up to 7 registries in parallel. Simpler single-source tools return in 10–20 seconds.
- Review the structured JSON result — the response includes a compliance score, risk rating, per-factor breakdown, knowledge graph, and plain-English recommendations ready for reporting or downstream processing.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
tool | string (enum) | Yes | verify_company_registration | The MCP tool to execute. One of the 8 tools listed below. |
companyName | string | Conditional | — | Name of the UK company to investigate. Required for most tools. |
companyNumber | string | No | — | Companies House registration number (e.g., 10234567). Improves match accuracy. |
charityNumber | string | No | — | Charity Commission registration number. Required for audit_charity_compliance if no company name. |
postcode | string | No | — | UK postcode for Land Registry property searches (e.g., SW1H 0ET). |
address | string | No | — | Full or partial UK address for Land Registry lookups. |
businessName | string | No | — | Name of a specific food business for hygiene rating lookup. Overrides companyName for FSA queries. |
localAuthority | string | No | — | Local authority area name to narrow food hygiene searches. |
wasteCarrierName | string | No | — | Name of the waste carrier to validate. Overrides companyName for EA queries. |
registrationNumber | string | No | — | Environment Agency waste carrier registration number (e.g., CBDU12345). |
leiCode | string | No | — | Legal Entity Identifier (20-character alphanumeric) for direct GLEIF lookup. |
jurisdiction | string | No | gb | OpenCorporates jurisdiction code. Use gb_en for England, gb_sc for Scotland. |
sources | array | No | All available | Data sources to include. Accepted values: companiesHouse, landRegistry, charity, foodHygiene, wasteCarriers, openCorp, lei. |
Input examples
Verify a company registration across 3 registries:
{
"tool": "verify_company_registration",
"companyName": "Pinnacle Logistics Ltd",
"companyNumber": "10234567"
}
Generate a full compliance report with all 7 sources:
{
"tool": "generate_uk_compliance_report",
"companyName": "Meridian Food Group Ltd",
"companyNumber": "09876543",
"charityNumber": "1098234",
"postcode": "E14 5AB",
"sources": ["companiesHouse", "landRegistry", "charity", "foodHygiene", "wasteCarriers", "openCorp", "lei"]
}
Validate a waste carrier by registration number:
{
"tool": "validate_waste_carrier",
"wasteCarrierName": "WestField Haulage Ltd",
"registrationNumber": "CBDU12345"
}
Input tips
- Provide the Companies House number when you have it — name-based matching uses normalised string comparison which can miss hyphenated or abbreviated names; the number lookup is exact.
- Use
generate_uk_compliance_reportfor first-pass screening — it runs all 7 sources in parallel and costs the same as a single-source call at $0.075 per result. - Narrow food hygiene searches with
localAuthority— large national chains may have hundreds of premises; specifying the local authority returns a focused, relevant subset. - Set
sourcesto reduce latency on focused tasks — if you only need registration verification, specify["companiesHouse", "openCorp", "lei"]to skip Land Registry and food hygiene lookups. - Use
jurisdictionfor Scottish or Welsh entities — Companies House covers all of Great Britain, but OpenCorporates usesgb_scfor Scotland andgb_wlfor Wales for more precise matching.
Output example
{
"tool": "generate_uk_compliance_report",
"success": true,
"timestamp": "2026-03-20T09:14:32.411Z",
"sourcesQueried": ["companiesHouse", "landRegistry", "foodHygiene", "wasteCarriers", "openCorp", "lei"],
"data": {
"companyName": "Meridian Food Group Ltd",
"companyNumber": "09876543",
"overallScore": 74,
"riskRating": "medium",
"verification": {
"verified": true,
"matchedSources": ["companiesHouse", "openCorp", "lei"],
"discrepancies": [],
"crossReferenceScore": 100,
"registrationDetails": {
"companiesHouse": { "name": "Meridian Food Group Ltd", "number": "09876543", "status": "active" },
"openCorporates": { "name": "Meridian Food Group Limited", "status": "Active", "jurisdiction": "gb_en" },
"lei": { "lei": "213800MFGJKL1234ABCD", "legalName": "Meridian Food Group Ltd", "status": "ISSUED" }
}
},
"complianceScore": {
"overallScore": 74,
"riskRating": "medium",
"factors": [
{ "factor": "Cross-Registry Verification", "score": 100, "weight": 0.25, "details": "Verified in 3/3 registries. No discrepancies.", "riskLevel": "low" },
{ "factor": "Company Status", "score": 100, "weight": 0.2, "details": "Companies House status: active", "riskLevel": "low" },
{ "factor": "Food Hygiene Standards", "score": 60, "weight": 0.15, "details": "Average FSA rating: 3.0/5 across 4 premises.", "riskLevel": "medium" },
{ "factor": "Waste Carrier Registration", "score": 100, "weight": 0.1, "details": "1/1 registrations valid.", "riskLevel": "low" },
{ "factor": "Legal Entity Identifier", "score": 100, "weight": 0.1, "details": "Entity has a registered LEI — indicates international transparency.", "riskLevel": "low" }
],
"recommendations": ["Improve food hygiene standards — consider staff training and facility upgrades."]
},
"foodHygiene": {
"assessments": [
{
"businessName": "Meridian Food Hall - East London",
"address": "42 Commercial Road, London E1 1LP",
"rating": 3,
"ratingLabel": "Generally Satisfactory",
"ratingDate": "2025-11-14",
"localAuthority": "Tower Hamlets",
"hygieneScore": 10,
"structuralScore": 5,
"managementScore": 10,
"riskLevel": "medium"
}
],
"averageRating": "3.0"
},
"wasteCarriers": {
"validations": [
{
"carrierName": "Meridian Food Group Ltd",
"registrationNumber": "CBDU98712",
"registrationType": "Upper Tier",
"registrationStatus": "active",
"expiryDate": "2027-04-30",
"isValid": true,
"riskFlags": []
}
],
"allValid": true
},
"propertyHoldings": {
"properties": [
{ "address": "Unit 4, Meridian Business Park, E14 9SG", "titleNumber": "EGL567890", "owner": "MERIDIAN FOOD GROUP LTD", "tenure": "Leasehold", "transactionDate": "2019-03-15" }
],
"count": 1
},
"networkStats": { "sourcesUsed": ["companiesHouse", "landRegistry", "foodHygiene", "wasteCarriers", "openCorp", "lei"], "nodeCount": 8, "edgeCount": 6 }
},
"network": {
"nodes": [
{ "id": "company:09876543", "type": "company", "label": "Meridian Food Group Ltd", "source": "companiesHouse" },
{ "id": "property:egl567890", "type": "property", "label": "Unit 4, Meridian Business Park, E14 9SG", "source": "landRegistry" },
{ "id": "food_business:meridian_food_hall", "type": "food_business", "label": "Meridian Food Hall - East London", "source": "foodHygiene" },
{ "id": "waste_carrier:cbdu98712", "type": "waste_carrier", "label": "Meridian Food Group Ltd", "source": "wasteCarriers" }
],
"edges": [
{ "source": "company:09876543", "target": "property:egl567890", "type": "owns_property", "weight": 0.9 },
{ "source": "company:09876543", "target": "food_business:meridian_food_hall", "type": "hygiene_rated", "weight": 0.6 },
{ "source": "company:09876543", "target": "waste_carrier:cbdu98712", "type": "waste_licensed", "weight": 1.0 }
],
"metadata": { "nodeCount": 8, "edgeCount": 6 }
}
}
Output fields
| Field | Type | Description |
|---|---|---|
tool | string | Name of the MCP tool that produced this result |
success | boolean | Whether the tool completed without errors |
timestamp | string | ISO 8601 timestamp of result generation |
sourcesQueried | array | List of registry source keys queried in this run |
error | string | Error message if success is false |
data.companyName | string | Company name used in the query |
data.companyNumber | string | Companies House number if provided |
data.overallScore | number | Weighted composite compliance score (0–100) |
data.riskRating | string | Composite risk rating: low, medium, high, or critical |
data.verification.verified | boolean | True if matched in 2 or more registries |
data.verification.matchedSources | array | Registry keys where the company was found |
data.verification.discrepancies | array | Name or status discrepancies detected across registries |
data.verification.crossReferenceScore | number | Percentage of 3 target registries where the company was matched |
data.complianceScore.factors | array | Per-factor breakdown with score, weight, details, and risk level |
data.complianceScore.recommendations | array | Plain-English remediation recommendations |
data.charityAudit.registrationStatus | string | Charity Commission registration status |
data.charityAudit.income | number | Latest reported charity income (GBP) |
data.charityAudit.expenditure | number | Latest reported charity expenditure (GBP) |
data.charityAudit.trustees | array | List of trustee names |
data.charityAudit.complianceFlags | array | Governance and financial flags raised |
data.charityAudit.riskScore | number | Charity-specific risk score (0–100) |
data.foodHygiene.assessments[].rating | number | FSA FHRS rating (0–5) |
data.foodHygiene.assessments[].ratingLabel | string | Official FSA label for the rating |
data.foodHygiene.assessments[].hygieneScore | number | Raw hygiene sub-score from inspection |
data.foodHygiene.assessments[].structuralScore | number | Raw structural sub-score from inspection |
data.foodHygiene.assessments[].managementScore | number | Confidence in management sub-score |
data.foodHygiene.assessments[].riskLevel | string | Derived risk level: low, medium, high, or critical |
data.wasteCarriers.validations[].isValid | boolean | Whether the EA registration is currently valid |
data.wasteCarriers.validations[].riskFlags | array | Flags including expiry warnings and tier notes |
data.propertyHoldings.properties[].titleNumber | string | HM Land Registry title number |
data.propertyHoldings.properties[].tenure | string | Freehold or Leasehold |
data.propertyHoldings.totalValue | number | Sum of price paid values across all properties |
network.nodes | array | Graph nodes (companies, properties, charities, food businesses, waste carriers, registrations, LEI entities) |
network.edges | array | Graph edges with type, label, and connection weight |
network.metadata.nodeCount | number | Total node count in the knowledge graph |
network.metadata.edgeCount | number | Total edge count in the knowledge graph |
How much does it cost to run UK business compliance checks?
UK Business Compliance MCP uses pay-per-event pricing — you pay $0.075 per tool result returned. Platform compute costs are included.
| Scenario | Tool calls | Cost per call | Total cost |
|---|---|---|---|
| Quick test — single verification | 1 | $0.075 | $0.075 |
| Supplier screening — 10 companies | 10 | $0.075 | $0.75 |
| Monthly vendor review — 50 companies | 50 | $0.075 | $3.75 |
| Quarterly compliance sweep — 200 entities | 200 | $0.075 | $15.00 |
| Annual portfolio audit — 1,000 entities | 1,000 | $0.075 | $75.00 |
You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached.
Compare this to commercial due diligence platforms like Bureau van Dijk Orbis at $500–$2,000/month or regulatory data APIs at $0.50–$2.00 per company lookup — with UK Business Compliance MCP, most users spend $3–$15/month with no subscription commitment.
Apify's free tier includes $5 of monthly platform credits, covering approximately 66 tool calls at no cost.
UK business compliance checks using the API
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ryanclinton/uk-business-compliance-mcp").call(run_input={
"tool": "generate_uk_compliance_report",
"companyName": "Pinnacle Logistics Ltd",
"companyNumber": "10234567",
"sources": ["companiesHouse", "landRegistry", "wasteCarriers", "openCorp", "lei"]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
score = item.get("data", {}).get("overallScore", "N/A")
risk = item.get("data", {}).get("riskRating", "N/A")
recs = item.get("data", {}).get("recommendations", [])
print(f"Company: Pinnacle Logistics Ltd")
print(f"Compliance Score: {score}/100 | Risk: {risk}")
for rec in recs:
print(f" Recommendation: {rec}")
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("ryanclinton/uk-business-compliance-mcp").call({
tool: "score_regulatory_compliance",
companyName: "Meridian Food Group Ltd",
companyNumber: "09876543",
sources: ["companiesHouse", "foodHygiene", "wasteCarriers", "openCorp", "lei"]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) {
const { overallScore, riskRating, factors, recommendations } = item.data;
console.log(`Compliance Score: ${overallScore}/100 (${riskRating} risk)`);
factors.forEach(f => {
console.log(` ${f.factor}: ${f.score}/100 — ${f.details}`);
});
recommendations.forEach(r => console.log(` Action: ${r}`));
}
cURL
# Start the actor run
curl -X POST "https://api.apify.com/v2/acts/ryanclinton~uk-business-compliance-mcp/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tool": "verify_company_registration",
"companyName": "Acme Construction Ltd",
"companyNumber": "07654321",
"jurisdiction": "gb"
}'
# Fetch results (replace DATASET_ID from the run response above)
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
How UK Business Compliance MCP works
Parallel registry orchestration
When a tool is invoked, callActorsParallel dispatches all required registry actors concurrently using Promise.allSettled. Each actor call uses a 120-second timeout with 512 MB memory. Because Promise.allSettled is used rather than Promise.all, a single failing registry does not abort the run — the server returns partial results from whichever sources succeeded, with the failed source returning an empty array. Up to 7 actors (Companies House, Land Registry, Charity Commission, FSA Food Hygiene, EA Waste Carriers, OpenCorporates, and GLEIF LEI) run simultaneously, so a full 7-source report takes no longer than the slowest individual registry.
Knowledge graph construction
buildUkBizNetwork processes raw registry records into a typed knowledge graph. It first establishes an anchor company node using the provided company number or name as the node ID (formatted as company:10234567). It then ingests each registry's records using dedicated ingestor functions (ingestCompaniesHouse, ingestLandRegistry, ingestCharityCommission, ingestFoodHygiene). Each ingestor creates typed GraphNode objects (node types: company, property, charity, food_business, waste_carrier, registration, lei_entity) and GraphEdge objects (edge types: registered_as, owns_property, charity_of, hygiene_rated, waste_licensed, identified_by). Deduplication is enforced — nodes and edges are only added if their ID does not already exist in the array. The graph is returned with metadata including node count, edge count, build timestamp, and sources used.
Compliance scoring algorithm
computeRegulatoryComplianceScore builds an array of ComplianceFactor objects, each with a score (0–100), a weight (0–1), and a risk level. The scoring formula is weighted average: sum(score * weight) / sum(weight). Factor weights are: Cross-Registry Verification 0.25, Company Status 0.20, Charity Compliance 0.15, Food Hygiene Standards 0.15, Waste Carrier Registration 0.10, and Legal Entity Identifier 0.10. The algorithm is additive — factors are only included when source data is present, so a company with no charity data does not lose points for missing charity compliance. The final overallScore is mapped to riskRating: 0–29 = critical, 30–49 = high, 50–69 = medium, 70–100 = low.
Cross-registry verification engine
crossRegistryVerification normalises all company names to lowercase alphanumerics using the regex replace(/[^a-z0-9]/g, '') before comparison, ensuring that "Acme Ltd" and "ACME LIMITED" are treated as the same entity. It looks for substring matches in both directions (to handle abbreviated vs. full legal names) and falls back to exact company number matching when available. The crossReferenceScore is Math.round((matchedSources.length / 3) * 100) — 0, 33, 67, or 100 depending on how many of the three target registries (Companies House, OpenCorporates, GLEIF) returned a matching record. Discrepancies in name or status across sources are collected and surfaced as human-readable strings in the discrepancies array.
Tips for best results
-
Always provide the Companies House number alongside the company name. Name matching uses fuzzy substring comparison, which can produce false positives for common words like "Services" or "Group". The number lookup is exact and avoids ambiguity entirely.
-
Use
generate_uk_compliance_reportfor initial screening and specific tools for focused follow-up. The full report costs the same as a single-tool call ($0.075) and gives you all available intelligence. Once you know a company has charity or food hygiene exposure, useaudit_charity_complianceorassess_food_hygiene_riskwith more specific parameters for targeted queries. -
Combine with Waterfall Contact Enrichment for complete counterparty profiles. After verifying registration and compliance, enrich key personnel found in Companies House officers data with contact details for outreach or further investigation.
-
Schedule compliance sweeps for active supplier lists. Use Apify's scheduler to run monthly
score_regulatory_compliancechecks on your vendor register. Set a webhook to trigger alerts if any supplier's score drops below your threshold (e.g., 50/100). -
Set
sourcesto the minimum required for your use case. If you only need to check waste carrier status, specifysources: ["wasteCarriers"]rather than querying all 7 registries. This reduces latency from ~60 seconds to ~10 seconds and has no impact on the result quality for that specific check. -
For Scottish or Welsh companies, set
jurisdictionexplicitly. The Companies House data covers all of Great Britain, but OpenCorporates usesgb_scfor Scotland andgb_wlfor Wales. Using the correct jurisdiction code increases thecrossReferenceScorefor non-English entities. -
Post-process the knowledge graph for visualisation. The
network.nodesandnetwork.edgesarrays are formatted for direct ingestion into graph libraries like vis.js, Cytoscape.js, or Neo4j. The nodetypefield and edgetypefield carry semantic meaning suitable for colour-coding and filtering.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| UK Companies House | Direct access to Companies House company profiles, officers, PSC, and filing history for deeper officer-level investigation |
| UK Land Registry | Run targeted Land Registry searches by postcode or address when you need granular property data beyond what the compliance report returns |
| Waterfall Contact Enrichment | Enrich officer names extracted from Companies House records with verified email addresses and phone numbers for counterparty outreach |
| GLEIF LEI Lookup | Deep-dive into parent-child LEI relationships for financial counterparties where ownership chain transparency is critical |
| OpenCorporates Search | Extend corporate registry coverage to jurisdictions beyond the UK when investigating companies with multi-country operations |
| Company Deep Research | Pair compliance verification with broad web intelligence — news coverage, leadership profiles, and public reputation signals |
| B2B Lead Qualifier | Score prospective UK suppliers as leads (0–100) and layer in compliance scores before any commercial engagement |
Limitations
- Data is only as current as each registry's last update. Companies House typically reflects filings within 24–48 hours of submission. Land Registry transaction data can lag by days to weeks after completion. Food hygiene ratings reflect the most recent inspection, which may be months old.
- Land Registry returns transaction data, not real-time ownership. The HM Land Registry open data contains historic price paid transactions; it does not always reflect the most recent ownership transfer until registration is complete.
- Charity Commission coverage is England and Wales only. Scottish charities are registered with OSCR (Office of the Scottish Charity Regulator), which is not currently included as a source.
- Food hygiene data covers England, Wales, and Northern Ireland. Scottish food hygiene ratings use a separate system (Food Hygiene Information Scheme) with a pass/conditional pass/fail scale rather than the 0–5 FHRS scale. Scottish businesses may return no data or inconsistent ratings.
- OpenCorporates matching relies on name similarity. For companies with generic names, this may return multiple candidate matches. Providing the company number in the
jurisdiction:numberformat viacompanyNumbersignificantly improves accuracy. - No authentication or protected data access. This server queries only publicly available open data registers. It cannot access Companies House restricted filings, protected Land Registry title deeds, or confidential Charity Commission correspondence.
- Waste carrier registry coverage excludes Scotland and Northern Ireland. The EA waste carrier register covers England only. SEPA (Scotland) and NIEA (Northern Ireland) operate separate registers not currently included.
- LEI verification requires the entity to be GLEIF-registered. Most SMEs and private companies do not hold an LEI. Absence of an LEI is flagged as a medium-risk factor but does not indicate non-compliance for entities not operating in regulated financial markets.
Integrations
- Zapier — trigger UK company compliance checks automatically when new suppliers are added to a procurement system or CRM
- Make — build multi-step compliance workflows that screen companies, log scores to a database, and alert procurement teams when risk thresholds are breached
- Google Sheets — export compliance scores, risk ratings, and recommendations to a live vendor register spreadsheet for ongoing monitoring
- Apify API — integrate programmatic UK compliance checks into due diligence workflows, onboarding pipelines, or RegTech platforms
- Webhooks — fire alerts to Slack, Teams, or email when a company's compliance score falls below an acceptable threshold
- LangChain / LlamaIndex — supply structured UK regulatory data to RAG pipelines and AI compliance agents for automated due diligence report generation
Troubleshooting
-
Tool returns empty data for a known company — The registry actor for that source may have returned no results due to a name mismatch. Provide the exact registered company name as shown on Companies House, or include the
companyNumberto enable exact-match lookup. Names with special characters (ampersands, brackets) sometimes need to be simplified to their alphanumeric equivalent. -
crossReferenceScoreis 33 or 67 despite the company clearly existing — Not all UK companies appear in GLEIF LEI (most private SMEs have no LEI) or OpenCorporates (coverage depends on jurisdiction indexing frequency). A score below 100 does not necessarily indicate a compliance problem; check thematchedSourcesfield to understand which registries returned data and which did not. -
Food hygiene returns no results — FSA data is indexed by business trading name, which often differs from the registered Companies House name. Use the
businessNameparameter with the trading name as displayed on the restaurant or food outlet itself, and narrow withlocalAuthorityif the business operates in a known area. -
Waste carrier validation shows
isValid: falsefor a carrier that is registered — The EA register uses the statusesactive,approved, andregistered. If the raw registry data returns a non-standard status string (e.g.,Activewith capital A is handled;ACTIVEorLivemay not be). Check theregistrationStatusfield in the rawriskFlagsarray and compare to the EA register directly at environment.data.gov.uk. -
Run times exceeding 90 seconds — Full 7-source reports require 7 actor invocations to complete. Under high platform load, individual actor cold starts can add latency. For time-sensitive workflows, restrict
sourcesto the 3–4 most critical registries. Single-source tool calls (e.g.,validate_waste_carrier) typically complete in 10–20 seconds.
Responsible use
- This server accesses only publicly available UK government registers and open regulatory databases.
- All data sources are licensed for public access: Companies House open data, HM Land Registry open data, Charity Commission public register, FSA open FHRS data, EA open waste carrier register, OpenCorporates, and GLEIF open data.
- Comply with GDPR and the UK Data Protection Act 2018 when processing personal data (officer names, trustee names) extracted from these registries.
- Do not use extracted data to harass individuals, circumvent legitimate enforcement actions, or derive insights that would constitute regulated financial advice.
- For guidance on web scraping legality, see Apify's guide.
❓ FAQ
How many UK registries does UK Business Compliance MCP query? Seven: Companies House, HM Land Registry, Charity Commission, Food Standards Agency (FHRS), Environment Agency (waste carriers), OpenCorporates, and GLEIF LEI. Each is queried via a dedicated Apify actor that handles the source-specific API or data structure.
How does the UK business compliance scoring algorithm work?
The computeRegulatoryComplianceScore function assigns each applicable registry a weighted factor score (0–100). Cross-Registry Verification carries 25% weight, Company Status 20%, Charity Compliance 15%, Food Hygiene 15%, Waste Carriers 10%, and LEI 10%. Only factors with available data are included, preventing unfair penalisation for registries that are simply not applicable to a given company type. The weighted average produces a final score of 0–100 mapped to low, medium, high, or critical risk.
How accurate is the cross-registry verification?
Verification matches names using normalised alphanumeric comparison (stripping punctuation and case differences) combined with substring matching in both directions. Providing the Companies House registration number is the most reliable path to accurate cross-registry matching, as the number is the same across all registries that carry it. The crossReferenceScore reflects how many of the 3 target registries returned a match, not a confidence percentage.
How is UK Business Compliance MCP different from using Companies House directly? Companies House covers only UK corporate registrations. This MCP adds Land Registry property data, Charity Commission governance data, FSA food hygiene inspections, EA environmental compliance, OpenCorporates cross-jurisdiction coverage, and GLEIF international identification — all in a single structured response with composite scoring and a knowledge graph. It replaces 7 separate lookups with one tool call.
Can I use UK Business Compliance MCP to verify Scottish companies?
Yes for Companies House and GLEIF LEI. Scotland uses the same Companies House registry as England and Wales, and GLEIF is global. However, Scottish food hygiene ratings (FHIS, pass/fail scale) and Scottish charity registrations (OSCR) are not currently covered. Specify jurisdiction: "gb_sc" to improve OpenCorporates matching for Scottish-registered entities.
Is it legal to use UK public registry data in this way? Yes. All data sources used by this MCP are published as open data by UK government bodies under the Open Government Licence (OGL). Companies House, HM Land Registry, the Charity Commission, and the Food Standards Agency all explicitly permit reuse of their public register data. See Apify's guide on web scraping legality for broader context.
How long does a typical UK compliance report take to generate?
A full 7-source generate_uk_compliance_report run takes 30–90 seconds depending on registry response times. Single-source tools (validate_waste_carrier, trace_property_ownership) typically complete in 10–20 seconds. All multi-source tools use parallel actor orchestration, so adding more sources adds minimal overhead beyond the slowest registry.
Can I schedule recurring UK compliance checks on my supplier list?
Yes. Use Apify's built-in scheduler to run compliance checks on a daily, weekly, or monthly cadence. Pair with webhooks to receive Slack or email alerts when any supplier's riskRating changes or their overallScore drops below a defined threshold.
What happens if one registry fails to return data?
The server uses Promise.allSettled for parallel actor calls, so a failing registry does not abort the run. The failed source returns an empty array, the compliance score is computed from available factors only, and the sourcesQueried field in the output reflects which registries were actually queried. You will not be charged for sources that returned no data.
Can I use UK Business Compliance MCP with Claude, Cursor, or other AI agents?
Yes. Connect the MCP endpoint https://uk-business-compliance-mcp.apify.actor/mcp in your client's MCP server configuration. It is compatible with Claude Desktop, Cursor, Windsurf, Cline, and any MCP-compatible client. Your AI assistant can then call the 8 compliance tools directly in natural language conversations.
How does UK Business Compliance MCP handle companies with no LEI? The vast majority of UK SMEs and private companies do not hold a Legal Entity Identifier — LEI registration is primarily required for entities participating in regulated financial markets. Absence of an LEI triggers a medium-risk flag in the compliance score but is weighted at only 0.05 (compared to 0.25 for cross-registry verification) when no LEI data is present. It does not indicate corporate malfeasance.
Can I trace beneficial ownership or Persons with Significant Control (PSC)? The Companies House actor accessed by this MCP returns company-level registration data. PSC (Persons with Significant Control) data is available directly through the UK Companies House actor used as an underlying source. For deep beneficial ownership investigation, combine this MCP with Company Deep Research.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom solutions or enterprise integrations, reach out through the Apify platform.
How it works
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
Get results
Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.
Use cases
Sales Teams
Build targeted lead lists with verified contact data.
Marketing
Research competitors and identify outreach opportunities.
Data Teams
Automate data collection pipelines with scheduled runs.
Developers
Integrate via REST API or use as an MCP tool in AI workflows.
Related actors
Bulk Email Verifier
Verify email deliverability at scale. MX record validation, SMTP mailbox checks, disposable and role-based detection, catch-all flagging, and confidence scoring. No external API costs.
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Website Tech Stack Detector
Detect 100+ web technologies on any website. Identifies CMS, frameworks, analytics, marketing tools, chat widgets, CDNs, payment systems, hosting, and more. Batch-analyze multiple sites with version detection and confidence scoring.
Ready to try UK Business Compliance MCP?
Start for free on Apify. No credit card required.
Open on Apify Store