search_company
Resolve a company name to its Belgian enterprise (KBO/BCE) number, or list the names registered for a number.
Available in ChatGPT · MCP server · NBB / CBSO
Annual accounts filed with the National Bank of Belgium, as structured JSON with the official rubric codes and labels in Dutch, French, German or English. Available as an app inside ChatGPT, and as a plain MCP server for every other client.
No card and nothing to install. Free during the public alpha.
Using something else? Every other MCP client takes the server URL https://uat.nbb-mcp.be/mcp — your account page has a block per client, with the command or config to paste.
search_companyResolve a company name to its Belgian enterprise (KBO/BCE) number, or list the names registered for a number.
get_annual_accountsFetch the annual accounts a company filed with the NBB: balance sheet, income statement, appropriation of results, social balance sheet and notes, each line with its official rubric code and a translated label.
check_xbrl_availabilityList every annual account a company filed with the NBB and whether each is machine-readable (XBRL) or a PDF-only image — the years get_annual_accounts can serve.
One JSON shape for every filing, whatever taxonomy generation it was filed under: each line carries its official rubric code (20/28, 9900), the translated label and the current and previous period figures. Facts that cannot be mapped come back in unmapped_facts rather than being dropped.
Full parameter tables, response times and the error codes are in the documentation.
MCP (Model Context Protocol) is the standard way an AI assistant calls tools that live somewhere else. If you use ChatGPT, Claude, Claude Code or Codex CLI, your client can connect to a remote MCP server over HTTP and then use its tools while answering you. This is such a server: in ChatGPT you switch it on from the app directory, and every other client takes a URL and a key once. Nothing to install and nothing to run.
The annual accounts as filed with the Central Balance Sheet Office (CBSO) of the National Bank of Belgium, read from its authentic-data web service rather than scraped from a website. Company-name lookup uses the KBO/BCE open-data denomination file, so legal names, abbreviations and commercial names in every language all resolve to the same enterprise number.
Filings exist from roughly 1978 onwards, but machine-readable ones start much later: deposits filed in the standardised models come back as structured data, and everything else is a PDF. Recent years (roughly 2016 onwards) are almost always structured; older ones are mixed. check_xbrl_availability lists everything a company filed and which of it is machine-readable. When a filing is PDF-only, the response says so with the error code pdf_fallback_required — the paid plan will read those with an LLM, arriving with the launch.
Dutch, French, German and English. The figures are identical in all four — only the labels differ, and they come from the National Bank's own label linkbases rather than from a machine translation. If a label is missing in the language you asked for, the response falls back to the filing's own language and records that in meta.