companies-house-mcp
This MCP server provides access to UK company information through an API, allowing users to retrieve detailed data via over 45 endpoints. It is particularly useful for company analysis and research, offering easy access to registration info, addresses, and insolvency data.
GitHub Stars
3
User Rating
Not Rated
Favorites
0
Views
11
Forks
0
Issues
0
Companies House MCP Server
Access UK company data through the Companies House API directly in MCP clients.
What it does
This MCP server provides comprehensive access to UK company information through 45+ endpoints, including:
Company Information
- 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
Search Capabilities
- 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
Officers & Appointments
- 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 & Documents
- Filing history - accounts, annual returns, and other documents
- Individual filing items - specific document details
Ownership & Control
- 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
Financial
- Registered charges - mortgages and debentures
- Individual charge details - specific charge information
Setup
Get an API key
- Register at Companies House Developer Hub
- Create an application to get your API key
Install
The server is available on npm and can be run directly using npx:
npm install -g companies-house-mcp-server
Or use it directly with npx (recommended):
npx companies-house-mcp-server
Configure Claude Desktop
Add 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"
}
}
}
}
Build from source (optional)
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"
}
}
}
}
Available Tools
Company Information Tools
search_companies
Search for companies by name or company number
{
"query": "OpenAI",
"items_per_page": 20,
"start_index": 0
}
get_company_profile
Get detailed company information
{
"company_number": "13448796"
}
get_registered_office_address
Get the registered office address
{
"company_number": "13448796"
}
get_registers
Get information about company registers
{
"company_number": "13448796"
}
get_insolvency
Get company insolvency information
{
"company_number": "13448796"
}
get_exemptions
Get company exemptions
{
"company_number": "13448796"
}
get_uk_establishments
Get UK establishments of a foreign company
{
"company_number": "FC123456"
}
Search Tools
advanced_company_search
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_all
Search across all resource types
{
"query": "technology",
"items_per_page": 20
}
search_officers
Search for company officers
{
"query": "John Smith",
"items_per_page": 20
}
search_disqualified_officers
Search for disqualified officers
{
"query": "Smith",
"items_per_page": 20
}
alphabetical_search
Search companies alphabetically
{
"query": "AAA",
"items_per_page": 20
}
dissolved_search
Search dissolved companies
{
"query": "Old Company",
"items_per_page": 20
}
Officers Tools
get_officers
Get list of company officers
{
"company_number": "13448796",
"register_type": "directors",
"items_per_page": 35
}
get_officer_appointment
Get specific officer appointment details
{
"company_number": "13448796",
"appointment_id": "AbCdEfGh"
}
get_officer_appointments_list
Get all appointments for an officer
{
"officer_id": "OFFICER123",
"items_per_page": 35
}
get_corporate_officer_disqualification
Get corporate officer disqualification details
{
"officer_id": "CORP123"
}
get_natural_officer_disqualification
Get natural person disqualification details
{
"officer_id": "PERSON123"
}
Filing History Tools
get_filing_history
Get company filing history
{
"company_number": "13448796",
"category": "accounts",
"items_per_page": 25
}
get_filing_history_item
Get specific filing details
{
"company_number": "13448796",
"transaction_id": "MzM4NTY3"
}
Charges Tools
get_charges
Get list of company charges
{
"company_number": "13448796",
"items_per_page": 25
}
get_charge_details
Get specific charge details
{
"company_number": "13448796",
"charge_id": "CHARGE123"
}
Persons with Significant Control Tools
get_persons_with_significant_control
Get list of PSCs
{
"company_number": "13448796",
"items_per_page": 25
}
get_psc_individual
Get individual PSC details
{
"company_number": "13448796",
"psc_id": "PSC123"
}
get_psc_corporate_entity
Get corporate entity PSC details
{
"company_number": "13448796",
"psc_id": "CORP-PSC123"
}
get_psc_legal_person
Get legal person PSC details
{
"company_number": "13448796",
"psc_id": "LEGAL-PSC123"
}
get_psc_statements_list
Get PSC statements
{
"company_number": "13448796",
"items_per_page": 25
}
get_psc_statement
Get specific PSC statement
{
"company_number": "13448796",
"statement_id": "STMT123"
}
Additional PSC tools available:
get_psc_individual_beneficial_owner
get_psc_individual_verification
get_psc_individual_full_record
get_psc_corporate_entity_beneficial_owner
get_psc_legal_person_beneficial_owner
get_psc_super_secure
get_psc_super_secure_beneficial_owner
Architecture
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
Development
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint
# Build
npm run build
# Run locally
npm run dev
API Rate Limits
The Companies House API has rate limits:
- 600 requests per 5 minutes per API key
- Some endpoints may have additional restrictions
License
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)
25
Followers
95
Repositories
2
Gists
0
Total Contributions
Obsidian Knowledge-Management MCP (Model Context Protocol) server that enables AI agents and development tools to interact with an Obsidian vault. It provides a comprehensive suite of tools for reading, writing, searching, and managing notes, tags, and frontmatter, acting as a bridge to the Obsidian Local REST API plugin.
GemSuite MCP is an open-source server designed for advanced interactions with the Gemini API. Utilizing the Model Context Protocol (MCP), it intelligently selects models to ensure optimal performance and minimal token costs, facilitating seamless integration. Built with TypeScript, it operates in a Node.js environment.