Company lookup in national business registries. Norway: brreg, orgnr, VAT, deadlines.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Company data for AI agents, any country. One MCP server and REST API, three national registers today: the United Kingdom's Companies House, looked up by company number; Norway's Enhetsregisteret / BrΓΈnnΓΈysundregistrene (brreg), looked up by organisasjonsnummer (orgnr); and Sweden's Bolagsverket, looked up by organisationsnummer β one JSON shape whichever you ask.
No install step, over stdio:
What makes it worth a tool slot:
company_deadlines gives the next filing date and names why in applies_because β a Norwegian legal form's statutory duty, or "Companies House publishes this date for the company itself" when the register states it rather than us computing it. Quote the reason, not just the number.cached and fetched_at. OpenCorporates' own knowledge base tells users to "allow 30 days" for a correction to reach its site β a 30Γ freshness gap, stated by the incumbent about itself.Security. Read-only, always β nothing here writes to a register or anywhere else. No credentials are required from a caller; this deployment's own upstream credential (COMPANIES_HOUSE_API_KEY) is read from the environment and never logged or returned. Three named upstreams, and nothing else is ever called: data.brreg.no, api.company-information.service.gov.uk and gw.api.bolagsverket.se. No personal data beyond what each national register already publishes about the entity itself β and because a Swedish sole trader's company number is their personnummer, the usage log stores no identifier at all for a country whose identifiers can be a natural person's (legal/privacy.md). This service does not perform sanctions, PEP or adverse-media screening, and it does not verify bank account details. Details: SECURITY.md.
One-click install, for a remote streamable-HTTP server:
Other clients (Claude Desktop, Cursor, VS Code, Cline, plain JSON configs): see docs/clients.md.
ChatGPT reaches an MCP server through a custom connector, and its deep research mode calls
exactly two tools β search and fetch β which this server ships alongside the five registry
tools. In ChatGPT, open Settings β Connectors, add a custom connector, and give it:
No authentication, no key, no account. If your ChatGPT plan does not show custom connectors under Settings β Connectors, turn on Settings β Security and login β Developer mode first, then add the URL from https://chatgpt.com/plugins.
search takes one free-text query β a company name, a national identifier, or a name plus a
country ("Tesco United Kingdom") β and returns citable rows; fetch takes a row's id
("NO:923609016") and returns that company's register record and its statutory filing
deadlines, with the full JSON of both in metadata.
Claude Desktop takes the same URL as a custom connector: Settings β Connectors β Add custom
connector, then https://api.foretak.dev/mcp. No key. For a local stdio install instead, see
Configuration.
Status:
0.3.0, live βGET /healthreturns{"version":"0.3.0","countries":["GB","NO","SE"]}. The five registry tools and their response shapes are frozen; two connector aliases (search,fetch) wrap them for ChatGPT and add no new shape. The hosted API atapi.foretak.devis live, and listed in the official MCP registry asio.github.foretak/registry-mcp. Countries: United Kingdom (Companies House), Norway (brreg), Sweden (Bolagsverket) β see below for each country's identifier format and example calls.
The same two commands as above β Streamable HTTP or local stdio. To add it as a project-level .mcp.json file instead of the CLI, see Configuration.
Abridged β the full CompanyReport also carries previous_names, industry_codes, registers, purpose, parent_id, confidence, cached, fetched_at and notes. Every field is documented in llms-full.txt Β§5.
euid is the EU-wide identifier some member-state registers publish (Finland does; none of ours do yet) β never the LEI, never constructed from parts. advertising_protected is true/false/null: whether the register marks this entity as protected against direct-marketing use, null meaning the register publishes no such flag at all (Norway and the UK, today); where it is true (Sweden's reklamspΓ€rr, for one), a notes sentence states it and that marking must travel with any contact details you pass on.
The United Kingdom, same shape, same abridgement:
published_deadlines carries the dates the register publishes itself, with the upstream field each came from. It is [] for Norway and Sweden, which compute all of their own.
Sweden, added in 0.3.0, is where "one shape" starts to earn the claim:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/registry-mcp-national-company-registries)<a href="https://allmcps.com/mcp/registry-mcp-national-company-registries"><img src="https://allmcps.com/api/badge/registry-mcp-national-company-registries?style=directory" alt="Registry Mcp β national company registries on AllMCPs" /></a>