UK Companies House — post-ECCTA reality / API guide
The UK matters because Companies House is still the cleanest high-volume live registry surface in OpenRegistry, and it is now changing under the post-ECCTA regime rather than the old “just a lookup page” model. For integrators, the concrete fact to anchor on is simple: company numbers are still 8 characters, and the adapter auto-pads short England/Wales numbers like 6 to 00000006.
What the registry actually exposes
OpenRegistry’s UK adapter is the reference implementation and the most complete surface in the server. The live coverage currently includes:
search_companiesget_company_profilelist_filingsget_financialsget_shareholdersget_officersget_persons_with_significant_controlget_chargesget_officer_appointmentssearch_officersget_document_metadatafetch_document
Auth-wise, this is the public hosted MCP endpoint and does not require a registry account. The upstream adapter is live, and the server notes a 600 requests / 5 minutes / operator key ceiling. There is also a small in-adapter dedup cache for 10 seconds inside one AI turn; if you need absolute freshness, pass fresh=true.
Response formats are close to upstream Companies House data: structured JSON for profiles, officers, PSCs, filings, charges, and financials; documents are fetched through metadata then download. The key thing for builders is that the data comes through unmodified and source-linked, rather than being normalized into a synthetic company graph.
What is paywalled, gated, or restricted
The public surface is broad, but it is not everything.
Some identity and privacy-sensitive fields are redacted or only partially exposed. Officer dates of birth are month/year only. Home addresses are not surfaced; only service or correspondence-style addresses appear. The public adapter also does not expose identity-verification status.
For UK users, the registry itself is still subject to the usual Companies House product boundaries: some document flows are slower than the metadata surface, and document retrieval should be treated as a separate step from profile lookup. The adapter does not invent missing fields when upstream omits them.
Which OpenRegistry tools cover which surface
For the UK, the coverage matrix is unusually complete:
| Tool | Status | Notes |
|---|---|---|
| search_companies | ✅ live | name search and company-number search |
| get_company_profile | ✅ live | statutory profile, status, addresses, accounts, confirmation |
| list_filings | ✅ live | filing history with category, description, date |
| get_financials | ✅ live | filed accounts surface |
| get_shareholders | ✅ live | shareholding surface where available |
| get_officers | ✅ live | current and historic officers |
| get_persons_with_significant_control | ✅ live | PSC entries and control types |
| get_charges | ✅ live | registered charges and satisfaction status |
| get_officer_appointments | ✅ live | cross-company appointment history |
| search_officers | ✅ live | officer-name discovery |
| get_document_metadata | ✅ live | metadata before document fetch |
| fetch_document | ✅ live | document download |
This matters because the UK is the baseline where “production-grade” means the whole workflow, not just lookup-by-name.
Country-specific quirks
Three UK quirks matter in practice:
ID shape is not uniform across the four legal geographies. England/Wales use 8 digits; Scotland uses
SCplus 6 digits; Northern Ireland usesNIplus 6 digits; LLPs useOCplus 6 digits. The adapter accepts short England/Wales forms and pads them.Company status is not a single business-friendly value. Native states include
active,dissolved,liquidation,receivership,administration,voluntary-arrangement,insolvency-proceedings,open,closed,removed, andconverted-closed. Treat mapping carefully.Officers and PSCs are intentionally incomplete compared with private databases. The public dataset is still useful, but it is not a full-person dossier. That is a feature, not a bug.
Complete worked example
Take Monzo Bank Limited, company number 09446231.
A profile lookup returns the live statutory record:
- company name: MONZO BANK LIMITED
- status: active
- incorporation date: 2015-02-18
- registered office: Broadwalk House, 5 Appold Street, London, EC2A 2AG
- previous name: FOCUS FS LIMITED
- SIC codes:
64191,64999 - last accounts made up to: 2025-03-31
- next accounts due: 2026-12-31
That is enough for a downstream workflow to decide whether to inspect officers, charges, filings, or financial statements next. For a live agent, the same sequence can be chained in one turn: search, profile, filings, PSCs, then document fetch if the filing text is needed.
Connecting an MCP client
Add the server URL to your client as a remote MCP endpoint:
{
"mcpServers": {
"openregistry": {
"url": "https://openregistry.sophymarine.com/mcp"
}
}
}
That works in Claude Desktop, Cursor, and Cline with the usual remote-MCP flow.
CTA
If you need an anonymous first pass, this is a good place to start: search Monzo as a public profile, verify the company number, then branch into filings or officers without signing up anywhere. The live profile for the example company is at /company/GB/09446231 on the OpenRegistry site.
OpenRegistry's full coverage
OpenRegistry is a free remote MCP server giving AI agents real-time access to company-registry data from 29 national governments. This article focused on the UK; the same toolkit covers:
🇬🇧 UK Companies House · 🇮🇪 CRO · 🇦🇺 ABR · 🇨🇭 Zefix · 🇳🇴 Brreg · 🇫🇷 INSEE Sirene + RNE · 🇫🇮 PRH · 🇨🇿 ARES · 🇵🇱 KRS · 🇹🇼 GCIS · 🇨🇦 Corporations Canada · 🇨🇦 BC · 🇨🇦 NWT · 🇧🇪 KBO · 🇮🇲 IoM Registry · 🇮🇸 RSK · 🇱🇮 Liechtenstein HR · 🇩🇪 Handelsregister · 🇳🇿 Companies Office · 🇲🇨 RCI · 🇮🇹 Registro Imprese (BRIS) · 🇭🇰 Companies Registry · 🇲🇾 SSM · 🇰🇷 OPENDART · 🇨🇾 DRCOR · 🇰🇾 CIMA · 🇲🇽 PSM · 🇷🇺 ЕГРЮЛ
→ Hosted MCP endpoint: https://openregistry.sophymarine.com/mcp
→ Docs: https://openregistry.sophymarine.com/docs/
→ Free anonymous tier: 20 req/min, all tools, every jurisdiction.
Made by Sophymarine.
Top comments (0)