Skip to main content
Glama

Company Financials API: UK, Denmark & Norway accounts + LEI

company_accounts
Read-onlyIdempotent

Get normalized financials of UK, Danish and Norwegian companies, including private ones, straight from the official accounts they file with Companies House (UK), Erhvervsstyrelsen (Denmark) and the Brønnøysund Register of Company Accounts (Norway): revenue, gross profit, operating profit, net income, equity, net assets, current assets, cash, creditors and employees. Every number comes with the exact fact or field it was taken from, so you can audit any value. Each row also gets the company's LEI from GLEIF when it has one. Look up companies by company number, CVR or organisation number, or get the newest filings. For credit checks, KYB, M&A and lead research, and for AI agents.

Price: $0.04 per company-year.

Input Schema

NameRequiredDescriptionDefault
countriesNoRegisters to read, as codes: GB (Companies House), DK (Erhvervsstyrelsen), NO (Brønnøysund Regnskapsregisteret), BE
enrichLeiNotrue (default) = look up each company's Legal Entity Identifier at GLEIF by its registration number and add `lei` and `lei_status` (null when the company has no LEI)
cvrNumbersNoDanish CVR numbers, 8 digits, e.g. ["24256790"]
maxResultsNoMaximum company-years per country, newest filings first, e.g. 1 for a company's latest accounts
orgNumbersNoNorwegian organisation numbers, 9 digits, e.g. ["923609016"]
companyNumbersNoUK Companies House numbers, e.g. ["03117531", "SC123456"] (shorter numbers are zero-padded to 8)
enterpriseNumbersNoBelgian KBO/BCE enterprise numbers, 10 digits with or without dots, e.g. ["0403.170.701"]

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/open-world, so the description is free to add the details that matter: per-call pricing ($0.04 per company-year), that every figure carries its source fact for auditing, and that LEI is joined from GLEIF with a null when absent. It stops short of describing pagination, rate limits, or error behavior when a registration number is unknown.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core verb and sources, then the returned fields, then the audit/LEI notes and pricing — a sensible order. It is slightly padded by the audience pitch ('for credit checks, KYB, M&A and lead research, and for AI agents'), which is marketing rather than operational guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully lists the financial fields returned and the accompanying LEI fields, and it explains the country-code defaults. For a 7-parameter, zero-required tool it covers what an agent needs, though it omits response shape details such as per-country grouping and behavior on unmatched identifiers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter, including defaults, digit patterns and the maxResults semantics. The description only echoes the identifier types and the 'newest filings' ordering, adding little syntax or meaning beyond the structured fields — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get normalized financials of UK, Danish and Norwegian companies') and enumerates the exact data points returned (revenue, gross profit, equity, employees, etc.). It also names the three official registers it reads from, which clearly separates it from the US-focused sibling sec_company_financials and from company_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete lookup modes ('by company number, CVR or organisation number, or get the newest filings') and target scenarios (credit checks, KYB, M&A, lead research). What is missing is explicit exclusion guidance — nothing tells the agent to use sec_company_financials for US companies or company_check for a lighter lookup, even though those siblings exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.