An agent without a register still gives you an answer.
It won’t say it doesn’t know. It will describe a company as it stood in its training data, present tense, with nothing attached that you could check. Below is the same question, asked twice.
One question, two ways of answering it
Answered from memory
“Carillion plc is a large UK construction and facilities-management group.”
Illustrative, not a transcript. The fault isn’t the sentence — it’s that nothing is attached to it. No register named, no date, no licence, nothing a reviewer could open.
Answered from the register
Verbatim from GET /v1/GB/company/03782379, fetched 2026-09-07. Abridged — the report carries forty-seven more fields.
And where it cannot know, it says so
The next question is when Carillion must file. There’s no honest answer, so none is given.
A service that always produces a number is a service that sometimes makes one up. This is the entire deadlines response for a company in liquidation.
Try it yourself
Real calls against the live API below, not canned examples. Keep the pre-filled identifier or paste your own company number or name.
Give it the register — one line
claude mcp add registry-mcp --transport http https://api.foretak.dev/mcp
Hosted at api.foretak.dev: no account and no key for any of the three countries, and 60 requests a minute. Plain REST works the same way — curl https://api.foretak.dev/v1/GB/company/00445790.
uvx registry-mcp or npx registry-mcp runs the same server yourself, over stdio. Norway needs no credential; a self-hosted GB needs a free Companies House key and SE a Bolagsverket OAuth 2 client pair — without them those two countries answer upstream_error naming the missing variable, and every other country keeps working.
Three registers, one shape
Three registers that agree on almost nothing about how they say it. Norway derives “active” from four separate brreg flags; the UK reads one published status field; Sweden has no status field at all, and it’s inferred from three independent signals. All three come back as status: "active", with status_detail giving the sentence behind it.
Below is what one of the three looks like in full. Norway and Sweden return the same fifty-five field names against the same shape — what differs is what each register has to fill in.
{"country": "GB","registry": "companies-house","id": "00445790","name": "TESCO PLC","legal_form": "Public limited company","status": "active","status_detail": "Active on the Companies House register.","is_active": true,"registered_at": "1947-11-27","vat_registered": null,"industry_codes": [{ "code": "47110", "scheme": "SIC 2007" }],"published_deadlines": [ { "kind": "annual_accounts", "due_date": "2027-08-26", "source": "accounts.next_accounts.due_on" }, { "kind": "confirmation_statement", "due_date": "2027-07-02", ... }],"confidence": 1.0,"confidence_basis": "exact identifier lookup in the Companies House register","fetched_at": "2026-09-06T22:40:28Z","source_url": "https://find-and-update.company-information.service.gov.uk/company/00445790","license": "Crown copyright — Companies House public register, free to re-use"}Sweden’s dates are computed, not quoted
Bolagsverket publishes no filing calendar, so both Swedish deadlines are derived from statute — and the response names the provision in the same breath as the date.
aktiebolagslagen 7 kap. 10 §
annual_accounts 2027-07-31
årsredovisningslagen 8 kap. 6 §
Both assume a financial year ending 31 December — Bolagsverket’s free dataset doesn’t publish the real one. If it differs, both dates move by the same number of months.
An honest 501
Bolagsverket’s free API has no name search — not the register, the API. Ask it by name and you get a refusal, not a guess.
"Bolagsverket’s free API cannot
search by company name."
The hint names lookup_company with the organisationsnummer, validate_company_id to check the shape first, and Bolagsverket’s downloadable register files for a real name search.
Five tools, plus two connector aliases
All read-only. Nothing here writes to a register, or anywhere else.
lookup_companythe full report, by national identifiersearch_companyby name — the UK and Norway; Sweden’s register API has no name search, and says socompany_deadlinesthe next filing deadline of each kind, quoted or computedvalidate_company_idis it well-formed — no network calllist_countrieswhich registers can answer right nowsearch / fetchChatGPT connector aliases for the two aboveSeven tools, not fifty. Tool-selection accuracy degrades once an agent is carrying more than about thirty, and some clients cap near forty.