Skip to main content
Glama
companieswise

companieswise

Official
by qinisolabs

companieswise

Verified UK company lookup & number validation for AI agents — official Companies House data, not guesses.

Verified, trustworthy data tools for AI agents. "Qiniso" means "truth" in Zulu.

Website · npm · MCP Registry


Ask an LLM "what's the registered name and status of company 00445790?" and it will answer confidently — and usually wrongly: invented names, the wrong status, a fabricated incorporation date. Company records live in the Companies House register, not a model's weights. companieswise looks the number up in the official Companies House snapshot and returns the real registered details — or an honest "not found" instead of a guess.

⚠️ Read this first — what the data is

  • UK-wide (England & Wales, Scotland, Northern Ireland).

  • A monthly snapshot of the live register. Company status is as of the dataset date, not real-time — a company dissolved last week may still read "Active" until the next snapshot, and dissolved companies are generally absent. For current status, check the live register.

  • Not advice. Not legal, financial, credit, or KYC/AML advice, and not a substitute for statutory due diligence.

Related MCP server: Qiniso

Install

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

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

npx -p companieswise companieswise-update

This downloads the latest monthly Companies House snapshot (~tens of MB) to a local cache. Re-run it whenever you want to refresh; a GitHub Action rebuilds the snapshot monthly, so companieswise-update always fetches the current month. Until you run it, validate_company_number works fully and lookup_company/search_company clearly say they're on the sample.

Optional: live mode (BYO key)

By default companieswise serves the monthly snapshot (offline, no key). If you set a free Companies House API key, it switches to live queries against the official Companies House API instead — real-time register status, including dissolved companies, on your own key (no shared rate limit):

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

lookup_company and search_company use the live API when the key is set (results tagged "dataset": "live") and fall back to the snapshot when it isn't ("dataset": "snapshot"), so it's always clear which you're getting. validate_company_number is offline either way. The key is sent only to the official Companies House API. CH_API_KEY is accepted as an alias.

Use it as a library

npm i companieswise
import { lookupCompany, validateCompanyNumber, searchCompany } from "companieswise";

validateCompanyNumber("SC123456");   // { valid: true, prefix: "SC", meaning: "Company registered in Scotland" }
validateCompanyNumber("6").number;   // "00000006" — normalises/zero-pads
lookupCompany("00000006");           // official name, status, type, incorporation date, postcode, SIC — or found:false
searchCompany("greggs");             // companies whose registered name contains your words

A well-formed number that isn't in the snapshot returns found: false with a clear note — it never invents a company.

Tools — 3

Tool

What it answers

lookup_company

A company's official registered details by number (name, status, type, incorporation date, registered postcode, primary SIC)

validate_company_number

Is this a well-formed UK company number, and what does its prefix denote? (format only — there is no check digit)

search_company

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

Data & monthly auto-refresh

The data is the Companies House Free Company Data Product (UK-wide, live register), published under the Open Government Licence v3.0. Because the real dataset is ~5.6M companies — far too large to bundle into an npm package — the design splits code from data:

  • Code ships on npm (tiny).

  • Data is built monthly by a GitHub Action (.github/workflows/refresh-data.yml) that downloads the official snapshot, compiles a compact artifact, and publishes it as a GitHub Release asset.

  • companieswise-update downloads that artifact into a local cache; every response reports its datasetVersion (the snapshot date).

No API key, no rate limit, no per-request cost — lookups run locally against the cached snapshot. See ARCHITECTURE.md for why, and the hosted/real-time path.

What it is not

  • Not real-time. Monthly snapshot of the live register; status is as of the dataset date. For live status use the Companies House API/website.

  • Not the full register. The free snapshot is live companies; dissolved companies are generally absent (absent ≠ "never existed").

  • Not advice, and not a statutory KYC/AML check.

  • Not a guesser — unknown numbers return an honest "not found".

Privacy

This tool runs locally on your machine and is built not to collect, store, or transmit your data — no analytics, no telemetry, no account. By default it uses bundled/cached data offline; only if you set a Companies House API key does it send your lookup and key directly to the official Companies House API (never to Qiniso). Full policy: https://qinisolabs.github.io/privacy.html.

License

Apache-2.0. Company data © Crown copyright, Companies House, Open Government Licence v3.0; see NOTICE.

Available Tools

3 tools
lookup_companyA

USE THIS to get a UK company's official registered details by its Companies House number — instead of recalling them, which models get wrong (invented names, wrong status). Returns the registered name, status, company type, incorporation date, registered-office postcode and SIC code from official Companies House data, or an honest 'not found'. By default a MONTHLY snapshot (status as of the dataset date; dissolved companies generally absent). Set a free Companies House API key (env COMPANIESWISE_CH_API_KEY) for real-time data incl. dissolved companies. UK-wide (England & Wales, Scotland, NI).

Inputs: number (required).

search_companyA

USE THIS to find a UK company's number from its name (reverse lookup) instead of guessing the number — returns companies matching your search words from official Companies House data (the monthly snapshot by default, or the live register when a Companies House API key is set).

Inputs: query (required), limit.

validate_company_numberA

USE THIS to check a UK company number is well-formed and identify its register/type before relying on it — never assume 8 characters are valid. Checks the format (8 digits, or a 2-letter prefix + 6 digits; there is NO check digit) and returns what the prefix denotes (e.g. SC = Scotland, NI = Northern Ireland, OC = LLP). Does NOT confirm the company exists — use lookup_company for that.

Inputs: number (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.5/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct and non-overlapping purpose: lookup by number, search by name, and validate number format. No ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (lookup_company, search_company, validate_company_number).

    Tool Count5/5

    With 3 tools, the server is well-scoped for its narrow domain of UK company data lookup. Each tool serves an essential function without redundancy.

    Completeness5/5

    The tool set covers the complete workflow: search for a company to find its number, validate the number format, and retrieve official details. No obvious gaps.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables looking up UK companies, officers, ownership, filings, and running due diligence checks via the Companies House API, usable from AI tools like Claude or Cursor.
      12 npm
      39
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      The deterministic fact-verification layer for AI agents. Validates the structured facts an agent emits — IBANs, payment cards, VAT and national tax IDs, crypto and bank addresses, domains, emails, phone numbers, securities and academic identifiers, plus dates, currencies and holidays — against checksums and curated authoritative data, not guesses.
      56
      1
      Apache 2.0
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to search and retrieve UK Companies House data including company profiles, officers, and filing history via the official API.
      4
      196 npm
      1
      MIT
    • F
      license
      B
      quality
      D
      maintenance
      Provides access to UK Companies House public data, enabling search and retrieval of company profiles, officers, filing history, and more through natural language queries.
      12
      -