Companies House, Charity Commission, Land Registry, Gazette, and HMRC VAT — one MCP server.
UK Due Diligence gives AI agents access to five official UK government registers for business and individual checks. Search and profile UK companies, check directors and persons of significant control, look up disqualified directors, verify VAT numbers, search insolvency notices in The Gazette, look up charity records, and search Land Registry title ownership. No API key required — all data comes directly from public government APIs.
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
5 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
Once installed, try these example prompts and explore these capabilities:
From the project's GitHub README.
Eleven 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.
| Register | API | Auth |
|---|---|---|
| Companies House | api.company-information.service.gov.uk | API key (free) |
| Charity Commission | api.charitycommission.gov.uk | API key (free) |
| HMLR Land Registry | landregistry.data.gov.uk (SPARQL + REST) | None |
| The Gazette | thegazette.co.uk/all-notices (Linked Data) | None |
| HMRC VAT | api.service.hmrc.gov.uk | None |
| Tool | Register | Description |
|---|---|---|
company_search | Companies House | Search by name/keyword with status/type filters |
company_profile | Companies House | Full profile: status, filing compliance, charges |
company_officers | Companies House | Directors with high-appointment-count risk flag |
company_psc | Companies House | Beneficial owners, PSC chain, offshore flags |
disqualified_search | Companies House | Search disqualified directors by name |
disqualified_profile | Companies House | Full disqualification record, period, Act, companies |
charity_search | Charity Commission | Search by name, filter by registration status |
charity_profile | Charity Commission | Full record: trustees, finances, governing doc |
land_title_search | HMLR | Property ownership via SPARQL PPI query |
gazette_insolvency | The Gazette | Corporate insolvency notices (codes 2441-2460) |
vat_validate | HMRC VAT | Trading name + address as registered for VAT |
pip install uk-due-diligence-mcp
| Key | Where to get it |
|---|---|
CH_API_KEY | developer.company-information.service.gov.uk — free |
CHARITY_API_KEY | api-portal.charitycommission.gov.uk — free |
HMLR, Gazette, and HMRC VAT require no API key.
git clone https://github.com/paulieb89/uk-due-diligence-mcp
cd uk-due-diligence-mcp
cp .env.example .env
# Fill in your API keys
pip install -e .
python server.py
Server starts at http://localhost:8080/mcp.
fly launch --name uk-due-diligence-mcp --region lhr
fly secrets set CH_API_KEY=xxx CHARITY_API_KEY=xxx
fly deploy
{
"mcpServers": {
"uk-due-diligence": {
"type": "http",
"url": "https://uk-due-diligence-mcp.fly.dev/mcp"
}
}
}
{
"mcpServers": {
"uk-due-diligence": {
"url": "https://uk-due-diligence-mcp.fly.dev/mcp"
}
}
}
Run due diligence on Carillion PLC
The 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.
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.example
REST+RDF linked-data pattern. Corporate insolvency notice codes span 2441-2460. The read API is unauthenticated; auth is write-only (for placing notices).
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.
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.
MIT
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI