UK Due Diligence
UK due diligence — Companies House, Charity Commission, Land Registry, Gazette, HMRC VAT
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http uk-due-diligence 'https://uk-due-diligence-mcp.fly.dev/mcp'
{
"mcpServers": {
"uk-due-diligence": {
"type": "http",
"url": "https://uk-due-diligence-mcp.fly.dev/mcp"
}
}
}
uk-due-diligence-mcpclaude mcp add uk-due-diligence -- uvx uk-due-diligence-mcp==1.0.3
{
"mcpServers": {
"uk-due-diligence": {
"command": "uvx",
"args": [
"uk-due-diligence-mcp==1.0.3"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
uk-due-diligence-mcp
Official-source UK due-diligence data for AI agents.
Search Companies House, Charity Commission, The Gazette and HMLR price-paid data, plus screen names against the OFSI, OFAC, EU and UN sanctions lists. Exposes atomic MCP tools for company ownership, officers, cross-company appointment history, secured charges, insolvency notices and related registry evidence — the consuming agent decides how to investigate, not the server.
Every data source is a legally-mandated register with a free official API. Zero paywalls.
Data sources
| Register | API | Auth | Coverage |
|---|---|---|---|
| Companies House | api.company-information.service.gov.uk | API key (free) | UK-wide |
| Charity Commission | api.charitycommission.gov.uk | API key (free) | England & Wales |
| HMLR Land Registry | landregistry.data.gov.uk (SPARQL) | None | England & Wales |
| The Gazette | thegazette.co.uk (Linked Data) | None (read) | UK-wide |
| OFSI / OFAC / EU / UN sanctions | consolidated list files | None | International |
Quick start
Hosted (no install)
{
"mcpServers": {
"uk-due-diligence": {
"type": "http",
"url": "https://uk-due-diligence-mcp.fly.dev/mcp"
}
}
}
Local (uvx)
{
"mcpServers": {
"uk-due-diligence": {
"type": "stdio",
"command": "uvx",
"args": ["uk-due-diligence-mcp"]
}
}
}
See Configuration for the environment variables it needs.
Tools
Companies House
| Tool | Description |
|---|---|
company_search | Search by name/keyword, filter by status/type |
company_profile | Status, filing compliance, registered address, has_charges summary |
company_officers | Directors/secretaries; each carries an officer_id |
company_psc | Beneficial owners, PSC chain, overseas-corporate-PSC flag |
officer_appointments | Full appointment history for a person by officer_id — including dissolved or insolvent companies not named anywhere else |
company_charges | Complete secured-charge history: status, dates, secured parties, what each charge covers |
disqualified_search | Search disqualified directors by name |
disqualified_profile | Full disqualification record: period, Act, associated companies |
Charity Commission
| Tool | Description |
|---|---|
charity_search | Search by name, filter by registration status |
charity_profile | Full record: trustees, income/expenditure, governing document |
HMLR Land Registry
| Tool | Description |
|---|---|
land_title_search | Price Paid Index sale transactions by postcode — not title ownership (see Limitations) |
The Gazette
| Tool | Description |
|---|---|
gazette_insolvency | Corporate insolvency notices across the Gazette's notice-code taxonomy (codes 2401-2465) |
gazette_notice | Full legal wording of a specific notice |
Sanctions
| Tool | Description |
|---|---|
sanctions_screen | Screen a name against the OFSI/OFAC/EU/UN consolidated lists |
Cross-register
| Tool | Description |
|---|---|
search | Fan-out search across all registers — returns IDs (for ChatGPT deep research) |
fetch | Fetch a structured record by ID returned from search |
Examples
Resolve "TAS Engineering" to a company number and check whether it has any outstanding charges.
→ company_search to find the company number, then company_charges for the full secured-debt picture (not just the has_charges summary).
Has Gareth Davies (director of company 06333469) been connected to any other companies, including ones that no longer exist?
→ company_officers to get his officer_id, then officer_appointments to surface every company he's held an appointment at, current or historic.
Is "MEL Precision Limited" in the middle of insolvency proceedings, and what does that actually mean legally?
→ gazette_insolvency to find the notices, then gazette_notice to read the full legal wording before drawing conclusions from the notice label alone.
Screen "Acme Trading Ltd" and its officers against sanctions lists.
→ company_officers for the officer names, then sanctions_screen against the company name and each officer.
Limitations
Things worth knowing before trusting output:
land_title_searchreturns Price Paid transactions, not ownership. It does not return current proprietor/title data — HMLR's Price Paid Index only records historic sale transactions.- Sanctions screening is exact/alias matching, not compliance clearance. A company/entity legal name matches reliably; person names with transliteration variants may not. An empty result is not a guarantee of clearance, and a hit on a common name may need disambiguation.
has_charges: nullmeans the check could not be confidently completed — a charges-endpoint outage, or a charge with an unrecognized status. Treat it as unresolved, not as "no charges."officer_appointmentsreturns historical relationships. Companies House doesn't auto-resign a director when a company enters insolvency — checkcompany_statuson each appointment, not justresigned_on.- Official-source data can be incomplete or delayed. These are the same registers a human would check, with the same latency and gaps.
Configuration
| Variable | Required for | Where to get it |
|---|---|---|
CH_API_KEY | All Companies House tools | developer.company-information.service.gov.uk — free |
CHARITY_API_KEY | Charity Commission tools | api-portal.charitycommission.gov.uk — free |
HMLR, The Gazette, and the sanctions lists require no credentials.
Project structure
uk-due-diligence-mcp/
├── server.py # FastMCP init, tool/resource registration, transport config
├── companies_house.py # company_search/profile/officers/psc, officer_appointments, company_charges
├── disqualified.py # disqualified_search, disqualified_profile
├── charity.py # charity_search, charity_profile
├── land_registry.py # land_title_search (SPARQL Price Paid Index)
├── gazette.py # gazette_insolvency, gazette_notice
├── sanctions.py # sanctions_screen (OFSI/OFAC/EU/UN consolidated lists)
├── search_fetch.py # search, fetch (cross-register fan-out)
├── models.py # Pydantic v2 output models
├── http_client.py # Shared httpx clients, retry backoff, error formatting
├── fly.toml
├── Dockerfile
├── pyproject.toml
└── .env.example
Licence
MIT
الأسئلة الشائعة
ما هو UK Due Diligence؟
UK due diligence — Companies House, Charity Commission, Land Registry, Gazette, HMRC VAT
كيف أثبّت UK Due Diligence؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http uk-due-diligence 'https://uk-due-diligence-mcp.fly.dev/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج UK Due Diligence إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل UK Due Diligence مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون UK Due Diligence؟
ينشره paulieb89. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.