Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
COMPANIES_HOUSE_API_KEYNoRequired for the United Kingdom (GB). A key is free and instant. Unset means GB lookups return upstream_error with a hint naming this variable — every other country keeps working.
REGISTRY_MCP_CACHE_PATHNoPath to the local SQLite response cache (24 h TTL). Defaults to ./data/cache.sqlite3../data/cache.sqlite3
REGISTRY_MCP_CONTACT_EMAILNoContact address sent in the User-Agent to the national registry, as Brønnøysundregistrene asks of API clients. Unset means an anonymous client, which may be throttled or blocked upstream.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
lookup_companyA

Look up a company by its national identifier and get the full CompanyReport — legal form, status, address, VAT registration where the register publishes it, board and accounts duties, employees, and more.

country="NO" is the norway company lookup for the norwegian business registry: Brønnøysundregistrene / Enhetsregisteret (brreg), by organisasjonsnummer (orgnr, org.nr). country="GB" is the uk company lookup at Companies House, by company number (company registration number, CRN) — eight characters, digits or a two-letter prefix and six digits, e.g. 00445790 or OC303675; short numbers are zero-padded for you, and "UK" is not a country code here, use "GB".

Use it once you have the identifier — from the user, an invoice, a contract, or a search_company hit's id; the identifier is normalised for you, so spaces, dots and a Norwegian VAT suffix ('NO...MVA') are all accepted. Call list_countries if you are unsure a country is supported. Read the returned notes before acting on the result — it carries caveats such as bankruptcy, dissolution, a deleted entity, or an unclassified legal form.

On error, this tool raises with the error text {"error": {"code", "message", "hint"}} (DECISIONS.md D-007). invalid_id means the identifier is malformed — fix it or call search_company with the company name instead of retrying the same string. not_found means the identifier is well-formed but no such entity exists — call search_company. unsupported_country means no module exists for that country yet — call list_countries. upstream_error/upstream_timeout means the national register is unavailable; it has already been retried once here, so wait roughly a minute before trying again yourself.

search_companyA

Search a national company register by name, when you have a name rather than an identifier.

country="NO" searches Brønnøysundregistrene / Enhetsregisteret (brreg) for Norwegian companies — the norway company lookup tool for the norwegian business registry when the organisasjonsnummer (orgnr, org.nr) is not yet known. country="GB" is the uk company search: Companies House by company name, returning each hit's company number (company registration number, CRN).

Use it when a user gives you a company name, then call lookup_company with the id of the right hit for the full report — a search hit is deliberately thin (name, legal form, status, city) and must not be acted on directly. limit is 1-100 (default 10). Hits arrive in the register's own relevance order, so read each hit's confidence rather than assuming the first row is the best one. Zero hits is not an error: hits is [], total is 0, and hint says what to try next — Norwegian names are registered upper-case and often carry an 'AS', 'ASA' or 'NUF' suffix, and UK names a 'LIMITED', 'LTD', 'PLC' or 'LLP' one, worth dropping before concluding a company does not exist.

On error, this tool raises with the error text {"error": {"code", "message", "hint"}}. bad_request means limit was out of range or name was empty — fix and retry. unsupported_country means call list_countries first. upstream_error/upstream_timeout means the national register is unavailable; wait roughly a minute and retry at most once more.

company_deadlinesA

Give the next occurrence of each statutory filing deadline a company faces.

country="NO" covers the Norwegian calendar (Regnskapsregisteret, Skatteetaten) for a company looked up by organisasjonsnummer (orgnr, org.nr) in Brønnøysundregistrene / Enhetsregisteret (brreg): årsregnskap, generalforsamling, skattemelding, aksjonærregisteroppgaven, mva-melding, a-melding. country="GB" covers the two Companies House obligations for a company number (CRN): the annual accounts filing and the confirmation statement (CS01).

Pass today (YYYY-MM-DD) for a reproducible answer; it defaults to the server's current UTC date. Quote due_date, not statutory_date. Each deadline's applies_because states where the date came from — quote it rather than presenting a date as unconditional fact: for Norway it names the legal form or flag and any assumption behind a computed date, and for the UK it says whether the date is Companies House's own published figure or one this tool computed from the statutory period. UK dates never roll forward off a weekend or bank holiday, so due_date equals statutory_date there; days_until goes negative for a filing Companies House still shows as overdue rather than rolling it to the next cycle. An empty deadlines list is a real answer — for Norway a bankrupt, deleted or compulsorily-liquidated entity or a branch/sub-unit, and for the UK any company whose status is not active — and notes explains why.

On error, this tool raises with the error text {"error": {"code", "message", "hint"}}. bad_request means today was not YYYY-MM-DD — fix the format and retry. Any lookup_company error code (invalid_id, not_found, unsupported_country, upstream_error, upstream_timeout) can also surface here, since this tool looks the entity up first — follow that code's hint.

validate_company_idA

Check whether a national company identifier is well-formed — no network call.

country="NO" checksum-checks a Norwegian organisasjonsnummer (orgnr, org.nr) for Brønnøysundregistrene / Enhetsregisteret (brreg); this is the cheap norway company lookup pre-check for the norwegian business registry. country="GB" shape-checks and normalises a UK company number (company registration number, CRN) for Companies House: it zero-pads a short number ('445790' → '00445790') and upper-cases a prefix ('oc303675' → 'OC303675'). A CRN has no check digit, so a GB valid: true means the shape is right and nothing more.

Use it on user input or a spreadsheet column before spending a real lookup_company call, since it is instant and free.

Returns a ValidationResult and never raises for a malformed identifier: valid: false comes with reason (what failed) and hint (what to do next) rather than a tool error — this tool answers a question, it does not fail on bad input (DECISIONS.md D-010). A valid identifier does not mean the entity exists; follow it with lookup_company if you need facts.

The only real error here is unsupported_country (no module for that country yet — call list_countries), raised with the error text {"error": {"code", "message", "hint"}}.

list_countriesA

List every national company registry this service can answer for right now, plus each one's identifier scheme (id_scheme, id_example, id_description), source URL, licence, and whether the upstream register needs a credential (requires_api_key, and api_key_env naming the environment variable that must be set for it).

Call this before your first lookup in a country you have not used here before, or whenever a user names a country you are unsure is supported — never hard-code a country list of your own, since it grows as registry modules are added with no change to any other tool's shape. Stub/example modules are hidden; only registries that actually answer are listed. This tool has no error mode; a failure here is a bug, not something to retry differently.

Prompts

Interactive templates invoked by user choice

NameDescription
explain_companyExplain one company for a non-expert reader: call lookup + deadlines and summarise.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/foretak/registry-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server