CVR Lookup
Server Details
Danish company register (CVR): look up any of 860,000+ active Danish companies, search by name, and get parsed annual-report financials as structured JSON — sourced live from the official registry.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct input and output: search by name, lookup by 8-digit CVR number, and retrieve financials. The descriptions even explicitly cross-reference (search_companies tells you to use lookup_company for the full record), leaving no room for misselection.
All names use snake_case with a verb_noun pattern (get_company_financials, lookup_company, search_companies). The verbs vary (get/lookup/search) rather than one canonical verb, but the convention is otherwise predictable and readable.
Three tools is at the low end but each covers a genuinely distinct capability for a read-only registry lookup. Nothing feels redundant, though the surface is a bit thin for a paid data product.
The core read workflows—search, full record retrieval, and financial data—are covered with no dead ends. Minor gaps exist (e.g. no search by industry/branch or bulk lookups), but an agent can complete the primary lookup tasks.
Available Tools
3 toolsget_company_financialsHent regnskabstal (Pro)AInspect
Hent strukturerede regnskabstal fra virksomhedens officielle årsrapporter: omsætning, bruttofortjeneste, resultat, egenkapital og balance per regnskabsår. Kræver Pro-plan.
| Name | Required | Description | Default |
|---|---|---|---|
| cvr | Yes | 8-cifret CVR-nummer, fx "43269070" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. It does add one valuable behavioral fact – the Pro-plan requirement – but says nothing about what happens for companies with no filed annual reports, how many years are returned, or the response shape. Adequate but thin for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: verb + resource + enumerated return fields, then the prerequisite clause. No filler, and the most decision-relevant information (what data you get) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema tool the description is nearly self-sufficient: it enumerates the returned metrics in lieu of an output schema and flags the Pro-plan gate. The only real gap is behavior on missing/absent annual-report data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single cvr parameter documents the 8-digit format and gives an example), so the schema already does the work. The description adds no additional parameter meaning, which is the expected baseline when coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (hent) and resource (strukturerede regnskabstal) and enumerates exactly which figures are returned (omsætning, bruttofortjeneste, resultat, egenkapital, balance per regnskabsår). An agent can see this is the financial-statements tool rather than lookup_company or search_companies, though it never names those siblings or draws the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied – you call it when you need official financial figures – with no explicit when-to-use vs. when-not guidance and no mention of alternatives for companies lacking annual reports. The one piece of guidance present is the entitlement prerequisite 'Kræver Pro-plan', which is useful but not a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_companySlå virksomhed op på CVR-nummerAInspect
Hent stamdata for en dansk virksomhed fra CVR-registret: navn, status, adresse, branche, virksomhedsform, ejere, ledelse og ansatte. Input er det 8-cifrede CVR-nummer.
| Name | Required | Description | Default |
|---|---|---|---|
| cvr | Yes | 8-cifret CVR-nummer, fx "43269070" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavior burden. 'Hent stamdata' communicates a read-only retrieval of registered data, but nothing is said about authentication, rate limits, caching, or what happens with an invalid/unknown CVR number. Adequate but not rich for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with zero filler: the scope first, then the input requirement. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 enumerates the returned data domains (name, status, address, industry, legal form, owners, management, employees), which compensates well for the missing return specification. Minor gaps remain around error/empty-result behavior, but an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single fully documented parameter (pattern ^\d{8}$ plus example '43269070'). The description's restatement of the 8-digit CVR number adds no format or syntax detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (hent) and resource (stamdata for a Danish virksomhed from CVR-registret) and enumerates the data domains returned (navn, status, adresse, branche, virksomhedsform, ejere, ledelse, ansatte). It does not explicitly distinguish itself from the siblings search_companies or get_company_financials, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'Input er det 8-cifrede CVR-nummer' tells the agent this tool applies when a CVR number is already known, implicitly contrasting with search_companies. There is no explicit when-to-use/when-not statement or named alternative, which keeps it at the implied-usage level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_companiesSøg virksomheder på navnAInspect
Søg i hele CVR-registret på virksomhedsnavn. Returnerer identitetsfelter (CVR-nummer, navn, status, by, branche) — brug lookup_company for den fulde post.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maks. antal resultater (standard 10) | |
| query | Yes | Virksomhedsnavn eller del af det (1-200 tegn) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return content (identity fields: CVR number, name, status, city, industry) and that the search covers the whole registry unfiltered. It is silent on result limits, pagination, ranking/ordering, and no-match behavior, which for a search tool is a meaningful omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, scope stated first, return fields and the alternative-tool pointer second. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully enumerates the returned identity fields, and with an unambiguous read-only search intent and fully covered parameters little is left unknown. Describing the limit/pagination behavior would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both query (1-200 chars) and limit (max 50, default 10) are already documented in the schema. The description only restates that matching is by name, adding negligible meaning beyond the schema, which is the expected baseline here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Søg i hele CVR-registret på virksomhedsnavn") plus the exact scope (entire registry) and return shape. It also names the sibling it is not (lookup_company), so an agent can distinguish the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use lookup_company when the full record is needed, implying this tool is for name-based discovery and summary fields. It does not state the reverse case (e.g. when the CVR number is already known), so the guidance is clear but not exhaustive on exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_company_financials - First observed
lookup_company - First observed
search_companies
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT- AlicenseNot gradedqualityBmaintenanceAnalyze LinkedIn & email outreach campaigns, track pipeline performance, and review lead conversations for RevOps, Sales Managers, and SDR teams.Apache 2.0
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1129 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.