# UK Due Diligence MCP server

UK due diligence — Companies House, Charity Commission, Land Registry, Gazette, HMRC VAT

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-paulieb89-uk-due-diligence-mcp
- Repository: https://github.com/paulieb89/uk-due-diligence-mcp
- Website: https://bouch.dev

## Install
- Command: `uvx uk-due-diligence-mcp`
- Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- Auth: Not captured

## Setup notes
- Package: Pypi uk-due-diligence-mcp v1.0.3
- Remote endpoint: https://uk-due-diligence-mcp.fly.dev/mcp

## Tools
- company_search (Search Companies House) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- company_profile (Get Company Profile) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- company_officers (Get Company Officers) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- company_psc (Get Persons with Significant Control) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- charity_search (Search Charity Commission Register) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- charity_profile (Get Charity Profile) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- disqualified_search (Search Disqualified Directors) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- disqualified_profile (Get Disqualified Director Profile) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- land_title_search (Search Price Paid Transactions by 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- gazette_notice (Get Gazette Notice Full Text) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- gazette_insolvency (Search Gazette Corporate Insolvency Notices) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- vat_validate (Validate UK VAT Number (HMRC)) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- sanctions_screen (Screen a Name Against Sanctions Lists) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- search (Search UK Due Diligence Registers) - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- fetch (Fetch Full Record from UK Due Diligence Register) - 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 Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- list_prompts - List all available prompts.

Returns JSON with prompt metadata including name, description,
and optional arguments. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp
- get_prompt - 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. Endpoint: https://uk-due-diligence-mcp.fly.dev/mcp

## Resources
Not captured

## Prompts
- due_diligence - UK Company Due Diligence Full due diligence check on a UK company across all registers. Arguments: entity_name
- charity_due_diligence - UK Charity Due Diligence Due diligence check on a UK registered charity. Arguments: charity_name
- director_check - Director Disqualification Check Check whether a named individual is disqualified as a UK company director. Arguments: director_name

## Metadata
- Owner: io.github.paulieb89
- Version: 1.0.3
- Runtime: Pypi
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Apr 20, 2026
- Source: https://registry.modelcontextprotocol.io
