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.
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".
A company's official registered details by number — name, status, type, incorporation date, registered postcode, primary SIC. Honest "not found" if absent.
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.
Reverse lookup — find a company's number from its registered name.
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)
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.
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.
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.