companieswise

Verified UK company lookup & number validation for AI agents.

Ask an LLM for a UK company's registered name and status by its number and it answers confidently — and usually wrongly. Those records live in the Companies House register, not a model's memory. companieswise looks them up in the official snapshot and returns the real details, or an honest "not found". "Qiniso" means "truth" in Zulu.

Read this first. The data is a monthly snapshot of the live register — company status is as of the dataset date, not real-time, and dissolved companies are generally absent. It's UK-wide (England & Wales, Scotland, NI) and is not legal, financial or KYC/AML advice.

Why it exists

Company registration data — the exact registered name, status, type, incorporation date and SIC of ~5.6M companies — is precisely the large, specific, changing reference data a language model cannot recall. Asked anyway, it pattern-matches a plausible answer and states it with full confidence. For onboarding, supplier checks, or due-diligence triage, a silently invented company record is a real problem. companieswise returns the official Companies House record by lookup, or an honest "not found".

Tools

lookup_company

A company's official registered details by number — name, status, type, incorporation date, registered postcode, primary SIC. Honest "not found" if absent.

validate_company_number

Is a UK company number well-formed, and what does its prefix denote (SC = Scotland, NI, OC = LLP…)? Format only — there's no check digit.

search_company

Reverse lookup — find a company's number from its registered name.

Add it to Claude

Easiest — one click, no config file. Download the Desktop Extension and open it; Claude Desktop installs it and (optionally) prompts for your Companies House API key in a form — no JSON to edit:

Download for Claude Desktop (.mcpb)

Or add it manually (npx)

Runs locally over stdio — no key, no login. Add this under mcpServers and restart:

{
  "mcpServers": {
    "companieswise": { "command": "npx", "args": ["-y", "companieswise"] }
  }
}

Then load the real data once (the package ships with a small sample):

npx -p companieswise companieswise-update

This caches the latest monthly Companies House snapshot locally — no API key, no rate limit, no per-request cost. A GitHub Action rebuilds the snapshot monthly, so re-running companieswise-update always fetches the current month.

Want real-time data? Add a free key (optional)

By default companieswise serves the monthly snapshot. If you set a free Companies House API key, it switches to live queries instead — real-time register status, including dissolved companies — using your own key (so there's no shared rate limit). Add it to the server's environment:

{
  "mcpServers": {
    "companieswise": {
      "command": "npx",
      "args": ["-y", "companieswise"],
      "env": { "COMPANIESWISE_CH_API_KEY": "your-companies-house-api-key" }
    }
  }
}

With a key set, results are tagged "dataset": "live"; without one, they stay on the snapshot ("dataset": "snapshot") — so it's always clear which you're getting. Nothing is sent anywhere except directly to the official Companies House API with your key.

What it is not

companieswise reports the official Companies House register snapshot (UK-wide). It is a monthly snapshot of the live register — status is as of the dataset date, not real-time, and dissolved companies are generally absent (absent ≠ "never existed"). It is not legal, financial, credit or KYC/AML advice, and not a statutory due-diligence check. Unknown numbers return an honest "not found" — never a fabricated company.