# UK Company Intelligence MCP (`quantamind/uk-company-intelligence-mcp`) Actor

MCP server for UK company intelligence. One call returns legal identity, directors, SIC codes, accounts status, charges, website description, and hiring signals. Sourced from the official Companies House API.

- **URL**: https://apify.com/quantamind/uk-company-intelligence-mcp.md
- **Developed by:** [Callum Cameron](https://apify.com/quantamind) (community)
- **Categories:** MCP servers, Developer tools, AI
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.00 / 1,000 company lookups

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## UK Company Intelligence MCP

One tool call. Every important fact about any UK-registered company.

**QuantaMind's UK Company Intelligence MCP** is an MCP server that gives AI agents instant access to verified, enriched business intelligence for any UK company — sourced from the official Companies House register and public job boards. Pass a company name or registration number; receive a single clean JSON response covering legal identity, people, financial health signals, web presence, and hiring activity.

---

### What you get in one call

| Field | Source | Detail |
|---|---|---|
| Company name & number | Companies House API | Verified legal name |
| Status | Companies House API | Active, Dissolved, In Administration, etc. |
| Type | Companies House API | Ltd, PLC, LLP, CIC, etc. |
| Jurisdiction | Companies House API | England/Wales, Scotland, Northern Ireland |
| Incorporation date | Companies House API | |
| Registered address | Companies House API | Full address |
| SIC codes | Companies House API | Industry classification codes |
| Directors | Companies House API | Active officers only, with roles and appointment dates |
| Accounts overdue | Companies House API | Computed from next due date |
| Registered charges | Companies House API | Security interests over company assets |
| Website description | Company website | Plain-English description of what the company does |
| Contact details | Company website | Email, phone, address from homepage |
| Active job listings | ATS public APIs | Count of open roles |
| Example job titles | ATS public APIs | Up to 10 current role titles |
| Technology keywords | ATS public APIs | Tech stack inferred from job descriptions |

---

### How to use

#### As an MCP server (recommended)

Connect your MCP client to:

````

https://mcp.apify.com/actor/QuantaMind~uk-company-intelligence-mcp/mcp

````

With your [Apify API token](https://console.apify.com/account/integrations) as a bearer token.

**Claude Desktop** (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "uk-company-intelligence-mcp": {
      "command": "npx",
      "args": ["-y", "@apify/actor-mcp-runner", "QuantaMind~uk-company-intelligence-mcp"],
      "env": { "APIFY_TOKEN": "your_apify_token_here" }
    }
  }
}
````

#### Tool: `lookup_uk_company`

**Input:**

| Parameter | Required | Description |
|---|---|---|
| `query` | Yes | Company name or CH number (e.g. `"Monzo Bank Limited"` or `"09446231"`) |
| `websiteUrl` | No | Known website URL. Skips domain inference. |

**Example call:**

```json
{
  "query": "Monzo Bank Limited"
}
```

**Example response (abbreviated):**

```json
{
  "attribution": "Contains public sector information licensed under the Open Government Licence v3.0",
  "companyName": "MONZO BANK LIMITED",
  "companyNumber": "09446231",
  "status": "Active",
  "type": "Private limited company",
  "jurisdiction": "England/Wales",
  "incorporationDate": "2015-02-13",
  "registeredAddress": "Broadwalk House, 5 Appold Street, London, EC2A 2AG",
  "sicCodes": ["6419"],
  "accounts": {
    "overdue": false,
    "nextDue": "2025-09-30",
    "lastMadeUpTo": "2024-02-28"
  },
  "directors": [
    { "name": "TS ANIL", "role": "Director", "appointedOn": "2020-05-14" }
  ],
  "charges": [],
  "website": {
    "websiteFound": true,
    "websiteUrl": "https://monzo.com",
    "robotsAllowed": true,
    "description": "Organise, save & invest with a free UK current account, joint account or business account.",
    "contactEmail": null,
    "contactPhone": null
  },
  "hiring": {
    "source": "greenhouse",
    "activeListingCount": 69,
    "exampleTitles": ["Analytics Engineer", "Backend Engineer III", "Android Engineer"],
    "techKeywords": ["AWS", "BigQuery", "Docker", "GCP", "Go", "Kafka", "Kubernetes", "Python", "React"]
  },
  "lookedUpAt": "2026-06-29T15:00:00.000Z"
}
```

#### As a standalone Actor

Pass input via the Apify Console or API:

```json
{ "query": "Tesco PLC" }
```

Results are pushed to the Actor's default dataset.

***

### Pricing

Pay per lookup via Apify's pay-per-event model.

| Event | Price |
|---|---|
| Company lookup | **$0.015** per successful result |
| Actor start | $0.00005 (negligible startup cost) |

You are only charged when a result is successfully returned. Failed lookups (company not found, API error) are not charged. There are no subscription fees or minimum spend.

***

### Data sources

- **Companies House API** — the official UK government company register. All legal identity data is sourced directly from this API. Free, authoritative, updated in real time.
- **Company websites** — the registered company's public homepage, scraped in accordance with each site's `robots.txt`.
- **Greenhouse / Lever ATS APIs** — public job board APIs published by applicant tracking systems. No authentication required; designed to be machine-readable.

**Not used:** LinkedIn (prohibited by their Terms of Service under UK law).

***

### API key setup

This Actor requires a free [Companies House API key](https://developer.company-information.service.gov.uk/).

Set it as an environment variable in your Actor's configuration in the Apify Console:

| Variable | Value |
|---|---|
| `COMPANIES_HOUSE_API_KEY` | Your Companies House API key |

The key is never hardcoded or logged. It is read exclusively from the environment at runtime.

**Security best practice:** Restrict your Companies House API key by IP address in the [Companies House developer portal](https://developer.company-information.service.gov.uk/). Regenerate the key regularly.

***

### Rate limits

- **Companies House API:** 600 requests per 5-minute window per API key. UK Company Intelligence MCP caches results for 5 minutes to stay well within this limit under normal usage.
- **Apify:** Standard platform rate limits apply.

***

### Privacy notice

**Data controller:** QuantaMind (sole trader, United Kingdom). Contact: callumcameron8@outlook.com

**ICO registration:** Registered with the UK Information Commissioner's Office under the Data Protection Act 2018. Registration number: ZC185248.

#### What personal data is processed

When you call `lookup_uk_company`, the Actor retrieves director names and appointment details from the Companies House public register. This constitutes personal data under UK GDPR.

The Actor does **not** collect, store, or process any personal data about users of this service. No query terms, API tokens, IP addresses, or usage data are retained by this Actor beyond the duration of the individual request.

#### Lawful basis

Processing of director data is carried out under **legitimate interest** (UK GDPR Article 6(1)(f)). The legitimate interest pursued is the provision of B2B company intelligence to users conducting due diligence, credit assessment, supplier verification, and similar commercial research — activities that are standard in the B2B data industry and consistent with reasonable expectations of individuals who hold director roles at registered companies.

A Legitimate Interest Assessment (LIA) has been completed and is held on file.

#### What is included — and what is not

Returned data is limited to information held on the public Companies House register: company name, number, status, type, registered address, SIC codes, officer names and roles, and filing/charge information. Director residential addresses are **not** returned even where present in the register. No personal email addresses or personal phone numbers of individuals are returned.

#### Data retention

This Actor does not persist any data. Each lookup is a real-time pass-through to the Companies House API and public websites. No results are stored beyond the Apify dataset entry created by a single Actor run, which is subject to Apify's standard data retention policy.

#### Attribution

Contains public sector information licensed under the [Open Government Licence v3.0](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/).

#### robots.txt compliance

UK Company Intelligence MCP checks and honours each website's `robots.txt` file before scraping. Pages that disallow crawlers are skipped.

#### Your rights

If you believe this Actor has processed personal data about you unlawfully, contact callumcameron8@outlook.com. You may also lodge a complaint with the [ICO](https://ico.org.uk/make-a-complaint/).

***

### Terms of service

By using UK Company Intelligence MCP you agree to the following terms.

**1. Permitted use.** This service may be used for lawful commercial and research purposes including due diligence, supplier verification, credit assessment, and sales intelligence. It may not be used to facilitate harassment, stalking, discrimination, or any activity unlawful under UK law.

**2. Data accuracy.** Data is sourced from the Companies House public register and company websites. While every effort is made to return accurate information, no warranty is given as to the completeness, accuracy, or fitness for purpose of results. You are responsible for verifying information before acting on it.

**3. No liability.** To the maximum extent permitted by law, QuantaMind shall not be liable for any loss or damage arising from use of this service or reliance on data returned by it.

**4. Compliance.** You are responsible for ensuring your use of this service complies with applicable laws, including UK GDPR, and with the terms of any downstream platforms or systems you integrate with.

**5. Fair use.** Automated bulk lookups designed to scrape the entire Companies House register are not permitted. This service is intended for targeted lookups in the course of normal business workflows.

**6. Changes.** These terms may be updated at any time. Continued use of the service constitutes acceptance of the current terms.

**Contact:** callumcameron8@outlook.com

***

### Local development

```bash
## Clone and install
npm install

## Add your Companies House API key
cp .env.example .env
## Edit .env and add: COMPANIES_HOUSE_API_KEY=your_key_here

## Run tests
npm run test:all

## Start as stdio MCP server (for Claude Desktop local testing)
npm run start:stdio

## Single lookup (Actor mode)
npm run start:once
```

***

*Contains public sector information licensed under the Open Government Licence v3.0*

# Actor input Schema

## `query` (type: `string`):

UK company name (e.g. 'Tesco PLC') or Companies House registration number (e.g. '00445790' or 'SC123456'). Names are searched; numbers are looked up directly.

## `websiteUrl` (type: `string`):

Known website URL for the company (e.g. 'https://monzo.com'). If provided, skips domain inference. robots.txt is always checked before any scraping.

## Actor input object example

```json
{
  "query": "Monzo Bank Limited"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "Monzo Bank Limited"
};

// Run the Actor and wait for it to finish
const run = await client.actor("quantamind/uk-company-intelligence-mcp").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "query": "Monzo Bank Limited" }

# Run the Actor and wait for it to finish
run = client.actor("quantamind/uk-company-intelligence-mcp").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "Monzo Bank Limited"
}' |
apify call quantamind/uk-company-intelligence-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=quantamind/uk-company-intelligence-mcp",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "UK Company Intelligence MCP",
        "description": "MCP server for UK company intelligence. One call returns legal identity, directors, SIC codes, accounts status, charges, website description, and hiring signals. Sourced from the official Companies House API.",
        "version": "1.0",
        "x-build-id": "uKqHvnsYzELevE2sU"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/quantamind~uk-company-intelligence-mcp/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-quantamind-uk-company-intelligence-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/quantamind~uk-company-intelligence-mcp/runs": {
            "post": {
                "operationId": "runs-sync-quantamind-uk-company-intelligence-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/quantamind~uk-company-intelligence-mcp/run-sync": {
            "post": {
                "operationId": "run-sync-quantamind-uk-company-intelligence-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Company name or registration number",
                        "type": "string",
                        "description": "UK company name (e.g. 'Tesco PLC') or Companies House registration number (e.g. '00445790' or 'SC123456'). Names are searched; numbers are looked up directly."
                    },
                    "websiteUrl": {
                        "title": "Website URL (optional)",
                        "type": "string",
                        "description": "Known website URL for the company (e.g. 'https://monzo.com'). If provided, skips domain inference. robots.txt is always checked before any scraping."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
