Access UK company data through the Companies House API directly in MCP clients.
This MCP server provides comprehensive access to UK company information through 45+ endpoints, including:
- Company profile - registration info, status, and key dates
- Registered office address - official company address
- Company registers - available registers
- Insolvency information - insolvency status and proceedings
- Exemptions - disclosure exemptions
- UK establishments - UK branches of foreign companies
- Company search - basic and advanced search with multiple filters
- Search all - unified search across all resource types
- Officer search - find company officers by name
- Disqualified officers search - search disqualified directors
- Alphabetical search - companies by name prefix
- Dissolved companies search - find dissolved companies
- Directors and officers - current and past company officials
- Individual officer appointments - specific appointment details
- Officer appointment history - all appointments for an officer
- Officer disqualifications - corporate and natural person disqualifications
- Filing history - accounts, annual returns, and other documents
- Individual filing items - specific document details
- Persons with significant control (PSC) - beneficial ownership
- PSC individuals, corporate entities, and legal persons - detailed PSC information
- PSC statements - notifications and declarations
- PSC verification states and full records
- Registered charges - mortgages and debentures
- Individual charge details - specific charge information
- Register at Companies House Developer Hub
- Create an application to get your API key
The server is available on npm and can be run directly using npx:
npm install -g companies-house-mcp-serverOr use it directly with npx (recommended):
npx companies-house-mcp-serverAdd to your Claude Desktop config:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"companies-house": {
"command": "npx",
"args": ["-y", "companies-house-mcp-server"],
"env": {
"COMPANIES_HOUSE_API_KEY": "your_api_key_here"
}
}
}
}If you want to build from source:
git clone https://github.com/stefanoamorelli/companies-house-mcp.git
cd companies-house-mcp
npm install
npm run build
# Then use in Claude Desktop config:
{
"mcpServers": {
"companies-house": {
"command": "node",
"args": ["/absolute/path/to/companies-house-mcp/dist/index.js"],
"env": {
"COMPANIES_HOUSE_API_KEY": "your_api_key_here"
}
}
}
}Search for companies by name or company number
{
"query": "OpenAI",
"items_per_page": 20,
"start_index": 0
}Get detailed company information
{
"company_number": "13448796"
}Get the registered office address
{
"company_number": "13448796"
}Get information about company registers
{
"company_number": "13448796"
}Get company insolvency information
{
"company_number": "13448796"
}Get company exemptions
{
"company_number": "13448796"
}Get UK establishments of a foreign company
{
"company_number": "FC123456"
}Advanced search with multiple filters
{
"company_name": "Tech",
"company_status": "active",
"incorporated_from": "2020-01-01",
"incorporated_to": "2024-12-31",
"items_per_page": 20
}Search across all resource types
{
"query": "technology",
"items_per_page": 20
}Search for company officers
{
"query": "John Smith",
"items_per_page": 20
}Search for disqualified officers
{
"query": "Smith",
"items_per_page": 20
}Search companies alphabetically
{
"query": "AAA",
"items_per_page": 20
}Search dissolved companies
{
"query": "Old Company",
"items_per_page": 20
}Get list of company officers
{
"company_number": "13448796",
"register_type": "directors",
"items_per_page": 35
}Get specific officer appointment details
{
"company_number": "13448796",
"appointment_id": "AbCdEfGh"
}Get all appointments for an officer
{
"officer_id": "OFFICER123",
"items_per_page": 35
}Get corporate officer disqualification details
{
"officer_id": "CORP123"
}Get natural person disqualification details
{
"officer_id": "PERSON123"
}Get company filing history
{
"company_number": "13448796",
"category": "accounts",
"items_per_page": 25
}Get specific filing details
{
"company_number": "13448796",
"transaction_id": "MzM4NTY3"
}Get list of company charges
{
"company_number": "13448796",
"items_per_page": 25
}Get specific charge details
{
"company_number": "13448796",
"charge_id": "CHARGE123"
}Get list of PSCs
{
"company_number": "13448796",
"items_per_page": 25
}Get individual PSC details
{
"company_number": "13448796",
"psc_id": "PSC123"
}Get corporate entity PSC details
{
"company_number": "13448796",
"psc_id": "CORP-PSC123"
}Get legal person PSC details
{
"company_number": "13448796",
"psc_id": "LEGAL-PSC123"
}Get PSC statements
{
"company_number": "13448796",
"items_per_page": 25
}Get specific PSC statement
{
"company_number": "13448796",
"statement_id": "STMT123"
}Additional PSC tools available:
get_psc_individual_beneficial_ownerget_psc_individual_verificationget_psc_individual_full_recordget_psc_corporate_entity_beneficial_ownerget_psc_legal_person_beneficial_ownerget_psc_super_secureget_psc_super_secure_beneficial_owner
The codebase follows a modular architecture for maintainability and scalability:
src/
βββ api/ # API client modules
β βββ base-client.ts # Base HTTP client with auth
β βββ company-api.ts # Company endpoints
β βββ search-api.ts # Search endpoints
β βββ officers-api.ts # Officers endpoints
β βββ filing-api.ts # Filing history endpoints
β βββ charges-api.ts # Charges endpoints
β βββ psc-api.ts # PSC endpoints
β βββ client.ts # Main API client aggregator
βββ handlers/ # MCP request handlers
β βββ company-handlers.ts
β βββ search-handlers.ts
β βββ officers-handlers.ts
β βββ filing-handlers.ts
β βββ charges-handlers.ts
β βββ psc-handlers.ts
βββ tools/ # Tool definitions
β βββ tools-definition.ts
βββ types/ # TypeScript types & schemas
β βββ company.ts
β βββ search.ts
β βββ officers.ts
β βββ filing.ts
β βββ charges.ts
β βββ psc.ts
β βββ index.ts
βββ mcp-server.ts # Main MCP server
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint
# Build
npm run build
# Run locally
npm run devThe Companies House API has rate limits:
- 600 requests per 5 minutes per API key
- Some endpoints may have additional restrictions
GNU Affero General Public License v3.0 - see LICENSE file for details.
For commercial licensing options, contact: stefano@amorelli.tech
Β© 2025 Stefano Amorelli (https://amorelli.tech)
