io.github.aicayzer/companies-house
UK Companies House public register: search companies, officers, ownership, filings and documents.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
companies-house-mcpclaude mcp add companies-house -e 'COMPANIES_HOUSE_API_KEY=<COMPANIES_HOUSE_API_KEY>' -- npx -y companies-house-mcp@4.0.1
{
"mcpServers": {
"companies-house": {
"command": "npx",
"args": [
"-y",
"companies-house-mcp@4.0.1"
],
"env": {
"COMPANIES_HOUSE_API_KEY": "<COMPANIES_HOUSE_API_KEY>"
}
}
}
}
Environment variables
COMPANIES_HOUSE_API_KEYYour own API key from developer.company-information.service.gov.uk — free to register
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Companies House CLI and MCP
Read the UK Companies House public register from your terminal, your scripts, or an AI assistant. Search companies, read their records, trace ownership, pull filings and download the filed documents themselves.
Everything runs on your own free API key. No hosted backend, no shared key, no proxy — requests go from your machine straight to Companies House.
Documentation: companies-house.uk
Pick your route
In an AI assistant — Claude Code, Claude Desktop, Codex, Cursor, Zed:
npx -y companies-house-mcp
Set COMPANIES_HOUSE_API_KEY in the client's config. Full setup for each client: companies-house.uk/mcp.
In the terminal — the ch command:
npm install -g companies-house-cli
ch config set-key your-key-here
ch report 00445790
Full reference: companies-house.uk/cli.
On your own server — an optional Cloudflare Worker you deploy into your own account, so Claude Code can reach it remotely. See companies-house.uk/self-hosting, or the deployment guide.
Get a free API key at developer.company-information.service.gov.uk. It takes about a minute.
What you can do
Find a company — search_companies / ch search by name, with filters for status, type, incorporation date, location and SIC code. search_officers / ch search-officers finds people across the whole register.
Read its record — get_company_profile / ch profile for status, addresses, SIC codes and filing dates. get_charges, get_insolvency, get_company_registers, get_exemptions and get_uk_establishments for the rest.
Trace people and ownership — get_officers / ch officers for who is in post, get_appointments and officer_network for everywhere one person is appointed, get_ownership / ch ownership for persons with significant control, and get_officer_disqualifications for the disqualified directors register.
Read the filings — get_filings / ch filings for the filing history, get_filing_document for one filing in detail, and download_filing_document / ch document for the filed PDF itself.
Get the whole picture at once — company_report / ch report reads the main records in a single call. due_diligence_check / ch check screens a company against the register and reports the entries a reviewer would want to look at.
Full parameter reference: companies-house.uk/tools.
What this is not
Companies House records what companies file. It carries out basic completeness checks but does not verify that the information is accurate.
So nothing here is a verification, a credit check, a sanctions or politically-exposed-person screening, or a clearance decision. due_diligence_check is a screening summary: it tells you what is on the register and what it could not check. It never concludes that a company is sound. An absence of adverse entries means nothing adverse has been filed.
The register also does not cover trading performance, litigation, or beneficial ownership held outside the persons-with-significant-control regime. Identity verification for existing directors and PSCs is still being rolled out under the Economic Crime and Corporate Transparency Act, so a name on the register does not mean the person behind it has been identity-checked.
Your key, your data
Your API key stays with you. The CLI reads it from --key, then COMPANIES_HOUSE_API_KEY, then ~/.config/companies-house/config.json, which is written with owner-only permissions. ch config show prints only the last four characters.
Nothing is sent anywhere except Companies House. There is no telemetry.
Companies House allows 600 requests per five minutes per key. The client queues requests to stay inside that, and if it does hit the limit it waits only when Companies House says the window is about to reset — otherwise it reports the limit rather than stalling.
Officer records include service addresses and dates of birth as published on the public register. Treat them as the personal data they are.
Development
git clone https://github.com/aicayzer/companies-house-mcp.git
cd companies-house-mcp
pnpm install && pnpm build && pnpm test:unit
See CONTRIBUTING.md.
Disclaimer
Not affiliated with or endorsed by Companies House or the UK Government. Uses the public Companies House API.
Licence
MIT
Frequently asked questions
What is io.github.aicayzer/companies-house?
UK Companies House public register: search companies, officers, ownership, filings and documents.
How do I install io.github.aicayzer/companies-house?
It runs on your machine. In Claude Code: claude mcp add companies-house -e 'COMPANIES_HOUSE_API_KEY=<COMPANIES_HOUSE_API_KEY>' -- npx -y companies-house-mcp@4.0.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.aicayzer/companies-house need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.aicayzer/companies-house open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.aicayzer/companies-house?
It is published by aicayzer. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.