UK Due Diligence
uk-due-diligence-mcp
Tools across five UK public registers. Zero paywalls. All official APIs.
Give an agent a company name and it pulls corporate status, filing compliance, director networks, beneficial ownership chains, disqualification checks, insolvency notices, VAT validation, and property transactions.
Every data source is a legally-mandated register with a free official API.
Data Sources
Register | API | Auth |
Companies House |
| API key (free) |
Charity Commission |
| API key (free) |
HMLR Land Registry |
| None |
The Gazette |
| None |
HMRC VAT |
| None |
Tools
Tool | Register | Description |
| Companies House | Search by name/keyword with status/type filters |
| Companies House | Full profile: status, filing compliance, charges |
| Companies House | Directors with high-appointment-count risk flag |
| Companies House | Beneficial owners, PSC chain, offshore flags |
| Companies House | Search disqualified directors by name |
| Companies House | Full disqualification record, period, Act, companies |
| Charity Commission | Search by name, filter by registration status |
| Charity Commission | Full record: trustees, finances, governing doc |
| HMLR | Property ownership via SPARQL PPI query |
| The Gazette | Corporate insolvency notices (codes 2441-2460) |
| The Gazette | Full legal wording of a specific insolvency notice |
| HMRC VAT | Trading name + address as registered for VAT |
| All registers | Fan-out search across all registers — returns IDs for ChatGPT deep research |
| All registers | Fetch a structured record by ID returned from |
Prompts
Three workflow prompts orchestrate multi-step investigations. Available via get_prompt on tool-only clients (ChatGPT) and natively on protocol-aware clients (Claude, Inspector).
Prompt | Description |
| Full DD check — company, officers, PSC, gazette, disqualification |
| Charity profile + insolvency check |
| Disqualification status check for an individual |
Connect
Hosted (no install)
{
"mcpServers": {
"uk-due-diligence": {
"type": "http",
"url": "https://uk-due-diligence-mcp.fly.dev/mcp"
}
}
}Local (uvx)
export CH_API_KEY=your_key
export CHARITY_API_KEY=your_key{
"mcpServers": {
"uk-due-diligence": {
"type": "stdio",
"command": "uvx",
"args": ["uk-due-diligence-mcp"]
}
}
}API Keys
Key | Where to get it |
| |
|
HMLR, Gazette, and HMRC VAT require no API key.
Demo
Run due diligence on Carillion PLCThe agent calls company_search to resolve the company number, then company_profile, company_officers, company_psc, and gazette_insolvency — reasoning across all five registries to surface risk signals.
Project Structure
uk-due-diligence-mcp/
├── server.py # FastMCP init, tool registration, transport config
├── companies_house.py # company_search, company_profile, company_officers, company_psc
├── disqualified.py # disqualified_search, disqualified_profile
├── charity.py # charity_search, charity_profile
├── land_registry.py # land_title_search (SPARQL + REST)
├── gazette.py # gazette_insolvency (JSON-LD, notice codes 2441-2460)
├── hmrc_vat.py # vat_validate
├── http_client.py # Shared httpx clients, retry backoff, error formatting
├── inputs.py # Pydantic v2 input models
├── fly.toml
├── Dockerfile
├── pyproject.toml
└── .env.exampleTechnical Notes
The Gazette API
REST+RDF linked-data pattern. Corporate insolvency notice codes span 2441-2460. The read API is unauthenticated; auth is write-only (for placing notices).
HMLR Land Registry
Free endpoint at api.landregistry.data.gov.uk. Returns RDF/Turtle by default —
the SPARQL endpoint is used for Price Paid Index queries. Covers England and Wales only.
High-Appointment-Count Signal
Directors with 10+ other active appointments are flagged. A director on 40+ companies is a common pattern in nominee director operations and phoenix company structures.
Licence
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/paulieb89/uk-due-diligence-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server