io.github.aicayzer/companies-house MCP Server
io.github.aicayzer/companies-house
Search UK Companies House register: find companies, officers, ownership, filings and documents via AI assistant or CLI.
What is the io.github.aicayzer/companies-house MCP server?
The Companies House MCP server provides access to the UK Companies House public register through Claude, Cursor, and other AI assistants. It lets you search companies and officers, read company records, trace ownership and persons with significant control, retrieve filing history, and download filed documents—all via your own free API key with no hosted backend.
This server connects AI assistants to the UK Companies House public register. You can search for companies by name with filters, look up officers and their appointments, trace ownership structures, review filing history, and download actual filed documents. It's useful for due diligence, company research, ownership verification, and regulatory compliance checks. Everything runs on your own API key; no data is proxied or shared.
How to install io.github.aicayzer/companies-house
Copy-paste configuration for popular MCP clients.
COMPANIES_HOUSE_API_KEYYour own API key from developer.company-information.service.gov.uk — free to register
Tools & capabilities
Tools this server exposes to the agent.
search_companies— Search the Companies House register by company name with optional filters for status, type, incorporation date, location, and SIC code.search_officers— Search for officers (people) across the entire Companies House register.get_company_profile— Retrieve a company's full profile including status, addresses, SIC codes, and filing dates.get_officers— Get the list of officers currently in post at a company.get_appointments— Find all appointments held by a specific officer across the register.officer_network— Trace where one person is appointed across multiple companies.get_ownership— Retrieve persons with significant control (PSC) information for a company.get_officer_disqualifications— Check the disqualified directors register for an officer.get_charges— Retrieve charges (mortgages and security interests) registered against a company.get_insolvency— Get insolvency records for a company.get_company_registers— Retrieve company registers information.get_exemptions— Get exemption records for a company.get_uk_establishments— Retrieve UK establishment records for a company.get_filings— Get the filing history for a company.get_filing_document— Retrieve details of a specific filing.download_filing_document— Download the actual PDF document of a filing.company_report— Generate a comprehensive report on a company by reading main records in a single call.due_diligence_check— Screen a company against the register and report entries relevant for due diligence review.
Use cases
- Search for a company by name and retrieve its full profile, officers, and ownership structure for due diligence checks.
- Trace an individual officer's appointments across all companies they are registered with.
- Download filed documents (accounts, annual returns, etc.) directly from Companies House for compliance or audit purposes.
- Screen a company against the public register to identify adverse entries, disqualifications, or insolvency records.
- Verify persons with significant control and trace beneficial ownership chains across multiple entities.
io.github.aicayzer/companies-house MCP server FAQ
It's an MCP server that gives Claude, Cursor, and other AI assistants access to the UK Companies House public register. You can search companies, officers, ownership records, filing history, and download filed documents—all using your own free API key.
Yes. You need a free API key from developer.company-information.service.gov.uk (takes about a minute to get), and Companies House allows 600 requests per five minutes per key at no cost.
Run `npx -y companies-house-mcp` and set your `COMPANIES_HOUSE_API_KEY` environment variable in your client's config. Full setup instructions are at companies-house.uk/mcp.
No. Your API key stays on your machine, and requests go directly from your machine to Companies House. There is no hosted backend, proxy, or telemetry.
You can search companies by name (with filters for status, type, incorporation date, location, SIC code), search officers by name, look up company profiles, trace ownership, review filing history, and download actual filed documents.
No. It is not affiliated with or endorsed by Companies House or the UK Government, but it uses the official public Companies House API.
README (reference)
Source of truth, from the repository.
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
Related MCP servers
Official ACF® MCP server — Agentic Commerce Framework® governance copilot for AI assistants.

io.github.aicrafted/searxng-mcp
MCP server for SearXNG aggregator — web search across multiple engines via Model Context Protocol

Plushwipes Agent Revenue
Read-only tools for evaluating a live Plushwipes performance-commission opportunity.

Spark SQL
Query Spark SQL clusters via Thrift/HiveServer2. Works with Spark, EMR, Hive, Impala.
Post-scrape data cleaner, no LLM: repairs mojibake, HTML, invisible chars. Plus a verdict.
AIDC MCP for OPR/BOD sizing, validation, and rackPlan layout from the shared 3D graph.
View repository →