mcp server
UK Due Diligence
UK due diligence — Companies House, Charity Commission, Land Registry, Gazette, HMRC VAT
Description as published by the maintainer. Source
- version 1.0.3
- slowing
slowing — Registry entry last updated 2026-04-20.
What this server can do
17 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
charity_profile(charity_number)- Fetch the full Charity Commission profile for a charity number. Returns trustees, latest income/expenditure, insolvency flags, governing document type, classifications, and countries of operation. Use charity_search first to find the charity number. Required: charity_number.
charity_search(limit, query, offset)- Search the Charity Commission register of England and Wales by name or keyword. Returns matching charities with registration number, status, and registration date. Use charity_profile for full details once you have the charity number. The upstream `searchCharityName` endpoint returns the full list in one shot — pagination is applied client-side via offset/limit. Required: query.
company_officers(start_index, company_number, items_per_page)- Fetch active officers for a Companies House company number. Returns directors, secretaries, and other active officers with appointment dates, nationality, and country of residence. Resigned officers are excluded. Pagination is handled internally — do NOT pass items_per_page or start_index; this tool takes only company_number. Required: company_number.
company_profile(company_number)- Fetch the full Companies House profile for a company number. Returns status, registered address, SIC codes, filing compliance (overdue accounts and confirmation statement flags), and whether the company has outstanding charges. Use company_search first to find the company number. Required: company_number.
company_psc(company_number)- Fetch Persons with Significant Control (beneficial ownership) for a company. Returns PSC entries with natures of control, nationality, and country of residence. Flags overseas corporate PSC entries as a beneficial ownership risk signal. Returns an explanatory note for widely-held PLCs with no registrable PSC. Required: company_number.
company_search(query, start_index, company_type, company_status, items_per_page)- Search the Companies House register by company name or keyword. Returns a paginated list of matching companies with name, number, status, SIC codes, incorporation date, and registered address. Use company_profile for the full record once you have the company number. Re-call with start_index=start_index+items_per_page to fetch the next page. Required: query.
disqualified_profile(officer_id)- Fetch the full disqualification record for a director by officer ID. Returns all disqualification orders: reason, Act/section cited, disqualification period, and associated company names. Use disqualified_search first to find the officer ID. Required: officer_id.
disqualified_search(name, query, start_index, items_per_page)- Check whether a named individual is banned from acting as a UK company director. Use this tool when asked to check disqualified, banned, or barred directors. Query must be an individual's name (e.g. "Richard Howson") — NOT a company name, which always returns zero results. Returns names, dates of birth, disqualification period snippets, and officer IDs that can be used with disqualified_profile for full details.
fetch(id)- Fetch the full record for an ID returned by search. Routes by prefix to the appropriate register: - company:{number} → Companies House full profile - charity:{number} → Charity Commission full profile - disqualification:{officer_id} → Disqualified director full record - notice:{notice_id} → Gazette notice full legal text Required: id.
gazette_insolvency(name, query, end_date, start_date, entity_name, max_notices, notice_type)- Search The Gazette's insolvency notice index by entity name. Searches the Gazette's insolvency endpoint which covers corporate notice codes: winding-up orders (2443), administration orders (2448), liquidator appointments (2452), striking-off notices (2460), and more. Results are sorted by severity — winding-up orders and administration orders appear first. Each result includes a notice_numeric_id. Read the full legal wording via the notice://{notice_numeric_id} resource. The Gazette is the official UK public record. A notice here means the event has been formally published and is legally effective.
gazette_notice(notice_id)- Fetch the full legal wording of a Gazette notice by numeric notice ID. Returns the complete JSON-LD linked-data record for the notice: parties, legal basis, court, and full text. Use gazette_insolvency first to find notice_numeric_id values. Required: notice_id.
get_prompt(name, arguments)- Get a prompt by name with optional arguments. Returns the rendered prompt as JSON with a messages array. Arguments should be provided as a dict mapping argument names to values. Required: name.
land_title_search(address_or_postcode)- Search HM Land Registry Price Paid Index by postcode or address. Returns up to 10 recent sale transactions for the postcode: price, date, address, property type, and tenure (Freehold/Leasehold). Covers England and Wales only. Postcode gives the most reliable results — a full address is also accepted and the postcode is extracted automatically. Required: address_or_postcode.
list_prompts- List all available prompts. Returns JSON with prompt metadata including name, description, and optional arguments.
sanctions_screen(name, entity_type)- Screen a name against the UK (OFSI), US (OFAC), EU and UN consolidated sanctions lists. Returns every list entry whose primary name or alias matches, with the regime, source reference and listing date. Use it to check whether a counterparty — or its officers / persons with significant control — appears on a sanctions list. MATCHING is deterministic: normalised exact + alias match (case-, accent- and punctuation-insensitive). A company/entity legal name matches reliably; PERSON names with transliteration variants may not (e.g. 'Mohammed' vs 'Muhamad'). An empty result is therefore NOT a guarantee of clearance, and a hit on a common name may be a false positive to disambiguate. This is a screening aid, not a compliance determination. `lists_screened` reports which of OFSI/OFAC/EU/UN were actually loaded — if any is missing the result is partial. `as_at` is when the lists were last refreshed on this server. Required: name.
search(query)- Search across all UK due diligence registers simultaneously. Searches Companies House, Charity Commission, disqualified directors, and Gazette insolvency notices in parallel. Returns a list of result IDs — use fetch with each ID to retrieve the full record. Required: query.
vat_validate(vat_number)- Validate a UK (GB) VAT number against the HMRC register. UK numbers only. Returns the trading name and address as registered with HMRC for VAT purposes. The VAT-registered trading address often differs from the Companies House registered address — that discrepancy is a due diligence signal worth noting. Non-UK (EU) VAT numbers cannot be validated here — use the EU VIES service for other member states. Required: vat_number.
Last successful function declaration observed on . Source: https://uk-due-diligence-mcp.fly.dev/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://uk-due-diligence-mcp.fly.dev/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.3 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-04-20 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-04-20 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 17 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | uk-due-diligence-mcp.fly.dev | |
| mcp endpoint status | ok | The server listed 17 functions when asked. | as of probe | uk-due-diligence-mcp.fly.dev |
Where to get it
Also from paulieb89
-
BAILII UK Case Law
Search UK case law on BAILII — court judgments with section extraction. Runs locally.
-
Pine Script v6 Documentation
Pine Script v6 documentation lookup, function validation, and linting for AI code generation
-
UK Property Data
UK property data — Land Registry comps, EPC, Rightmove, rental yields, stamp duty, Companies House
-
UK Legal Research
UK legal research — case law, legislation, Hansard, bills, votes, committees, HMRC, citations
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json