robertalsop avatar

UK Companies House

robertalsop/bartram_foundry

This connects Claude to the UK Companies House API with 12 tools covering the full spectrum of company intelligence. You get search across companies and officers, detailed company profiles, officer and PSC (persons with significant control) lookups, filing history, and document retrieval. The "with cleaning" bit suggests it handles the messiness of raw Companies House data for you. Reach for this when you're doing UK business research, due diligence, compliance checks, or building workflows that need to verify company details, track directorship changes, or pull financial filings without wrestling with the API yourself.

tools
22
auth
Secret needed
transport
STDIO
env var
1
last updated
Apr 5, 2026

Tools

22 tools

Public tool metadata for what this MCP can expose to an agent.

search_companiesFind UK companies by name using the Companies House search engine. Returns matches with company number, name, current status, incorporation date, and registered office. Call this first when the user mentions a company by name — the returned company_number is the key required b...2 params

Find UK companies by name using the Companies House search engine. Returns matches with company number, name, current status, incorporation date, and registered office. Call this first when the user mentions a company by name — the returned company_number is the key required b...

Parameters* required
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
querystring
Free-text search query. Matched against company or officer names by the Companies House search engine (case-insensitive, fuzzy). Examples: 'Tesco', 'Revolut', 'John Smith'.
search_officersFind company officers (directors, secretaries, LLP members) by name. Returns matches with an opaque officer_id, the officer's name, and a sample appointment. Call this when the user asks about an individual by name; the returned officer_id feeds ``get_officer_appointments`` to...2 params

Find company officers (directors, secretaries, LLP members) by name. Returns matches with an opaque officer_id, the officer's name, and a sample appointment. Call this when the user asks about an individual by name; the returned officer_id feeds ``get_officer_appointments`` to...

Parameters* required
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
querystring
Free-text search query. Matched against company or officer names by the Companies House search engine (case-insensitive, fuzzy). Examples: 'Tesco', 'Revolut', 'John Smith'.
search_disqualified_officersFind officers on the public register of disqualified UK company directors. Use this to check whether a named person has been banned from acting as a director. The returned officer_id can be passed to ``get_natural_officer_disqualification`` (for humans) or ``get_corporate_offi...2 params

Find officers on the public register of disqualified UK company directors. Use this to check whether a named person has been banned from acting as a director. The returned officer_id can be passed to ``get_natural_officer_disqualification`` (for humans) or ``get_corporate_offi...

Parameters* required
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
querystring
Free-text search query. Matched against company or officer names by the Companies House search engine (case-insensitive, fuzzy). Examples: 'Tesco', 'Revolut', 'John Smith'.
alphabetical_companies_searchBrowse UK companies alphabetically starting from a given name prefix. Results are ordered by company name, not by relevance. Prefer ``search_companies`` for fuzzy/ranked matching; use this only when the user explicitly wants alphabetical ordering (e.g. "list companies starting...2 params

Browse UK companies alphabetically starting from a given name prefix. Results are ordered by company name, not by relevance. Prefer ``search_companies`` for fuzzy/ranked matching; use this only when the user explicitly wants alphabetical ordering (e.g. "list companies starting...

Parameters* required
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
querystring
Free-text search query. Matched against company or officer names by the Companies House search engine (case-insensitive, fuzzy). Examples: 'Tesco', 'Revolut', 'John Smith'.
search_dissolved_companiesFind companies that have been dissolved (no longer on the live register) by name. Returns matches with company number, previous names, and dates of incorporation and dissolution. Use this when the user is researching a company that may have been struck off or liquidated. For c...2 params

Find companies that have been dissolved (no longer on the live register) by name. Returns matches with company number, previous names, and dates of incorporation and dissolution. Use this when the user is researching a company that may have been struck off or liquidated. For c...

Parameters* required
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
querystring
Free-text search query. Matched against company or officer names by the Companies House search engine (case-insensitive, fuzzy). Examples: 'Tesco', 'Revolut', 'John Smith'.
advanced_company_searchSearch UK companies with structured filters (name tokens, status, type, SIC, location). Prefer this over ``search_companies`` when the user wants to narrow by multiple criteria (e.g. "active PLCs in Manchester with SIC 62020"). All filters are optional; at least one filter sho...7 params

Search UK companies with structured filters (name tokens, status, type, SIC, location). Prefer this over ``search_companies`` when the user wants to narrow by multiple criteria (e.g. "active PLCs in Manchester with SIC 62020"). All filters are optional; at least one filter sho...

Parameters* required
company_name_excludesvalue
Substring that must NOT appear in the company name.
company_name_includesvalue
Substring that must appear in the company name.
company_statusvalue
Filter by registration status. Valid values include: 'active', 'dissolved', 'liquidation', 'receivership', 'administration', 'voluntary-arrangement', 'converted-closed', 'insolvency-proceedings', '...
company_typevalue
Filter by company type. Common values: 'ltd' (private limited), 'plc' (public limited), 'llp' (limited liability partnership), 'charitable-incorporated-organisation', 'community-interest-company',...
locationvalue
Filter by registered office locality. Free-text match against the registered office locality field (typically a town or city).
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
sic_codesvalue
Filter by UK SIC 2007 industry classification codes. Pass a list of 5-digit codes as strings (e.g. ['62020', '62090'] for IT consulting).
get_company_profileFetch the full Companies House profile for a UK company. Returns registered name, status, company type, incorporation/dissolution dates, registered office, accounting reference dates, SIC codes, and previous names. This is usually the first call after you have a company_number...1 params

Fetch the full Companies House profile for a UK company. Returns registered name, status, company type, incorporation/dissolution dates, registered office, accounting reference dates, SIC codes, and previous names. This is usually the first call after you have a company_number...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_company_registersReport where a company holds each of its statutory registers. Indicates, per register type (directors, secretaries, members, PSCs, LLP members, usual residential addresses), whether the register is kept at Companies House or at the company's Single Alternative Inspection Locat...1 params

Report where a company holds each of its statutory registers. Indicates, per register type (directors, secretaries, members, PSCs, LLP members, usual residential addresses), whether the register is kept at Companies House or at the company's Single Alternative Inspection Locat...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_company_uk_establishmentsList UK establishments (branches) of an overseas-incorporated company. Only applies to overseas companies (``company_type`` = ``oversea-company``) that have registered one or more establishments in the UK. Returns ``None`` for purely UK-incorporated companies.1 params

List UK establishments (branches) of an overseas-incorporated company. Only applies to overseas companies (``company_type`` = ``oversea-company``) that have registered one or more establishments in the UK. Returns ``None`` for purely UK-incorporated companies.

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_officer_listList the officers currently or formerly appointed at a specific company. Covers directors, secretaries, and LLP members. Each entry carries an ``appointment_id`` (scoped to this company) and an ``officer_id`` (the person's global identifier) that can be passed to ``get_officer...2 params

List the officers currently or formerly appointed at a specific company. Covers directors, secretaries, and LLP members. Each entry carries an ``appointment_id`` (scoped to this company) and an ``officer_id`` (the person's global identifier) that can be passed to ``get_officer...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
get_officer_appointmentsList every company appointment (current and past) held by a given officer. Use this after ``search_officers`` or ``get_officer_list`` to see the full directorship history of a person across the entire UK register. Each entry includes the company number, the role, and appointme...2 params

List every company appointment (current and past) held by a given officer. Use this after ``search_officers`` or ``get_officer_list`` to see the full directorship history of a person across the entire UK register. Each entry includes the company number, the role, and appointme...

Parameters* required
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
officer_idstring
Opaque Companies House officer identifier (a URL-safe base64 string). Copy from the ``refs.officer_id`` field of a ``search_officers`` hit, a ``get_officer_list`` item, or a ``search_disqualified_o...
get_officer_disqualificationFetch the full disqualification order for an officer. One tool covers both disqualification variants: - ``natural-disqualification`` for human directors — returns reasons, date ranges, nationality, any permission-to-act grants, and prior variations. - ``corporate-disqualificat...2 params

Fetch the full disqualification order for an officer. One tool covers both disqualification variants: - ``natural-disqualification`` for human directors — returns reasons, date ranges, nationality, any permission-to-act grants, and prior variations. - ``corporate-disqualificat...

Parameters* required
kindstring
Whether the disqualified officer is a natural person (human) or a corporate body. ``search_disqualified_officers`` items distinguish these via their ``date_of_birth`` field (present only for natura...one of natural-disqualification · corporate-disqualification
officer_idstring
Opaque Companies House officer identifier (a URL-safe base64 string). Copy from the ``refs.officer_id`` field of a ``search_officers`` hit, a ``get_officer_list`` item, or a ``search_disqualified_o...
get_company_psc_listList the persons with significant control (PSCs) declared for a company. PSCs are the individuals or entities that ultimately own or control the company (typically >25% of shares, >25% of voting rights, or right to appoint directors). Each entry's ``kind`` field indicates the...2 params

List the persons with significant control (PSCs) declared for a company. PSCs are the individuals or entities that ultimately own or control the company (typically >25% of shares, >25% of voting rights, or right to appoint directors). Each entry's ``kind`` field indicates the...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
get_company_psc_statementsList PSC statements recorded against a company. Statements are formal declarations about PSC status rather than concrete PSCs (e.g. "the company has no registrable person with significant control", "investigation ongoing"). Complements ``get_company_psc_list`` — a company may...2 params

List PSC statements recorded against a company. Statements are formal declarations about PSC status rather than concrete PSCs (e.g. "the company has no registrable person with significant control", "investigation ongoing"). Complements ``get_company_psc_list`` — a company may...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
get_company_pscFetch the full record for a single person with significant control (PSC). This single tool covers every PSC variant (individual, corporate-entity, legal-person, super-secure, plus their beneficial-owner counterparts). Dispatch is driven by the ``kind`` argument — **copy it str...3 params

Fetch the full record for a single person with significant control (PSC). This single tool covers every PSC variant (individual, corporate-entity, legal-person, super-secure, plus their beneficial-owner counterparts). Dispatch is driven by the ``kind`` argument — **copy it str...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
kindstring
The kind of PSC to fetch. Copy the value straight from the ``kind`` field of the corresponding ``get_company_psc_list`` item — it is one of the eight literal values listed.one of individual-person-with-significant-control · individual-beneficial-owner · corporate-entity-person-with-significant-control · corporate-entity-beneficial-owner · legal-person-person-with-significant-control · legal-person-beneficial-owner
psc_idstring
Opaque PSC notification identifier. Copy from the ``refs.psc_id`` field of the matching ``get_company_psc_list`` item.
get_company_chargesList all registered charges (security interests over assets) for a company. A charge is a form of security granted to a lender against company assets (mortgages, debentures, fixed/floating charges). Use when assessing the company's debt exposure or encumbrances. Returns ``None...1 params

List all registered charges (security interests over assets) for a company. A charge is a form of security granted to a lender against company assets (mortgages, debentures, fixed/floating charges). Use when assessing the company's debt exposure or encumbrances. Returns ``None...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_company_charge_detailsFetch full details of a single charge registered against a company. Returns the charge's classification, particulars, secured details, persons entitled, transactions (creation, amendment, satisfaction), and any associated insolvency cases. Use after ``get_company_charges`` wit...2 params

Fetch full details of a single charge registered against a company. Returns the charge's classification, particulars, secured details, persons entitled, transactions (creation, amendment, satisfaction), and any associated insolvency cases. Use after ``get_company_charges`` wit...

Parameters* required
charge_idstring
Companies House charge identifier. Copy from the ``refs.charge_id`` field of the matching ``get_company_charges`` item.
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_company_filing_historyList a company's filing history — every document submitted to Companies House. Covers the full statutory history: incorporation, accounts, confirmation statements (formerly annual returns), officer appointments and resignations, address changes, share capital changes, resoluti...2 params

List a company's filing history — every document submitted to Companies House. Covers the full statutory history: incorporation, accounts, confirmation statements (formerly annual returns), officer appointments and resignations, address changes, share capital changes, resoluti...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
next_page_tokenvalue
Opaque cursor from a previous page's pagination.next_page. Omit on the first call; pass the previous response's token to fetch the next page.
get_company_insolvencyFetch insolvency proceedings (liquidation, administration, CVA, etc.) for a company. Returns ``None`` for the vast majority of companies. Populated when the company has been or is subject to formal insolvency: liquidation, receivership, administration, company voluntary arrang...1 params

Fetch insolvency proceedings (liquidation, administration, CVA, etc.) for a company. Returns ``None`` for the vast majority of companies. Populated when the company has been or is subject to formal insolvency: liquidation, receivership, administration, company voluntary arrang...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_company_exemptionsFetch any exemptions granted to a company from certain filing requirements. Exemptions typically apply to PSC-register obligations for companies whose shares are admitted to trading on certain regulated markets, or to disclosure-and-transparency-rules exemptions. Returns ``Non...1 params

Fetch any exemptions granted to a company from certain filing requirements. Exemptions typically apply to PSC-register obligations for companies whose shares are admitted to trading on certain regulated markets, or to disclosure-and-transparency-rules exemptions. Returns ``Non...

Parameters* required
company_numberstring
UK company number assigned by Companies House. 1-10 alphanumeric characters, typically 8 digits, possibly with an alpha prefix (e.g. 'SC' for Scotland, 'NI' for Northern Ireland, 'OC' for an LLP)....
get_document_metadataFetch metadata for a single filed document (PDF, JSON, XML, …). Returns the document's identifiers, page count, filename, filing category, and a ``resources`` map keyed by MIME type showing the content-length and timestamps for each representation the API can serve. Use the ma...1 params

Fetch metadata for a single filed document (PDF, JSON, XML, …). Returns the document's identifiers, page count, filename, filing category, and a ``resources`` map keyed by MIME type showing the content-length and timestamps for each representation the API can serve. Use the ma...

Parameters* required
document_idstring
Companies House document identifier. Copy from the ``refs.document_id`` field of a ``get_company_filing_history`` item. Only populated when the filing has a downloadable document attached.
get_document_contentReturn a downloadable URL for a single filed Companies House document. The tool itself does not transfer bytes — it returns a short-lived HTTP URL (~10 minutes) pointing at this server's own ``/documents/{signed_token}`` route. Fetching the URL streams the raw document with th...2 params

Return a downloadable URL for a single filed Companies House document. The tool itself does not transfer bytes — it returns a short-lived HTTP URL (~10 minutes) pointing at this server's own ``/documents/{signed_token}`` route. Fetching the URL streams the raw document with th...

Parameters* required
content_typestring
MIME type of the document representation to download. The Companies House API advertises: 'application/pdf', 'application/json', 'application/xml', 'application/xhtml+xml', 'application/zip', 'text...default: application/pdf
document_idstring
Companies House document identifier. Copy from the ``refs.document_id`` field of a ``get_company_filing_history`` item. Only populated when the filing has a downloadable document attached.

Sponsors

Configuration

COMPANIES_HOUSE_API_KEYsecret

Companies House API key. Optional — a default key is provided for convenience. Set your own for heavy usage or production workloads.

Readme

Details

Repository
github.com/robertalsop/bartram_foundry
Category
Search & Web Crawling
Package
bartram-companies-house
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Search & Web Crawling MCP servers

View all
1rog0x avatarNpmrog0x/mcp-npm-toolsnpm package search, audit, bundle analysis for AI agents0stars
2rsweeting1 avatarPixelvaultrsweeting1/pixelvault-mcpAI-native marketplace for pre-cleared licensed media assets — search, license, and stream rights.0stars
3sdmcc avatarTedScoutio.github.sdmcc/tedscout-mcpSearch EU public tenders across TED and 8 national portals. Monitor, match, and analyse procurement.0stars
4shagarwal avatarDatabazaarshagarwal/databazaar-mcpSearch and preview datasets publicly. Account-required full data via MCP.0stars
5sigaihealth avatarCancer Support Hubsigaihealth/cancersupportSearch 585+ free cancer support resources across Washington State in 7 languages0stars
6skurakov avatarGetExperienceskurakov/getexperience-mcpSearch and book tours and travel experiences in 40+ countries via MCP.0stars