# Danish annual reports (CVR) (npm · dk-regnskab-mcp)

Key figures, history and all tagged facts from Danish companies' annual reports (XBRL).

- Trust score: 69/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-25

## Components

- npm · `dk-regnskab-mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/mikkelmanniche-dk-dk-regnskab-mcp/dk-regnskab-mcp.md), [page](https://verifymcp.io/servers/mikkelmanniche-dk-dk-regnskab-mcp/dk-regnskab-mcp)

## Channel facts

- Registry: `npm`
- Package: `dk-regnskab-mcp`
- Version: `0.3.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-25.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 103 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1076 tokens (~215/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 5 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the Danish annual reports (CVR) MCP server?

Danish annual reports (CVR) runs locally as an npm package, launched with npx -y dk-regnskab-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add mikkelmanniche-dk-dk-regnskab-mcp -- npx -y dk-regnskab-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "mikkelmanniche-dk-dk-regnskab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "dk-regnskab-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "mikkelmanniche-dk-dk-regnskab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "dk-regnskab-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add mikkelmanniche-dk-dk-regnskab-mcp -- npx -y dk-regnskab-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mikkelmanniche-dk-dk-regnskab-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "dk-regnskab-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mikkelmanniche-dk-dk-regnskab-mcp --command npx --arg -y --arg dk-regnskab-mcp
```

### Hermes

```yaml
mcp_servers:
  mikkelmanniche-dk-dk-regnskab-mcp:
    command: "npx"
    args: ["-y", "dk-regnskab-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "mikkelmanniche-dk-dk-regnskab-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "dk-regnskab-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add mikkelmanniche-dk-dk-regnskab-mcp -t stdio -c npx -a -y dk-regnskab-mcp
```

### Other

```json
{
  "mcpServers": {
    "mikkelmanniche-dk-dk-regnskab-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "dk-regnskab-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 69)

First indexed and scored.

## MCP tools (5)

### `search_company` (~162 tokens)

Search Danish companies by name

Find a Danish company's CVR number by name (or check a CVR number) in the CVR register. Use it first when you only have a name; every other tool needs the CVR number. Matches all words of the query against current company names; returns name, status, company type, industry and address. Needs CVR_USER and CVR_PASSWORD in the server's environment (free system-to-system access to the CVR register); without them it returns an error saying how to get access.

Input parameters:

- `limit` (integer): Maximum number of companies to return.
- `query` (string, required): Company name or part of it, e.g. "Carlsberg" or "lego a/s". An 8-digit CVR number looks up that company.

Output parameters:

- `companies` (array): Best matches first; empty when nothing matches.

### `list_filings` (~177 tokens)

List published filings

List what a Danish company has filed with the Danish Business Authority (Erhvervsstyrelsen): annual reports, interim reports and their documents (PDF, XBRL), newest first. Use it to see which years are available or to get document links; use get_financials for the figures themselves. Returns an empty list for a CVR number with no filings (e.g. sole proprietorships). No paging: raise limit or set year to reach older filings.

Input parameters:

- `cvr` (string, required): Danish CVR number, 8 digits (spaces, dashes and a DK prefix are accepted), e.g. "24256790".
- `limit` (integer): How many filings to return, newest first.
- `year` (integer): Only filings whose reporting period ends in this calendar year. Omit for all years.

Output parameters:

- `cvr` (string)
- `filings` (array)

### `get_financials` (~261 tokens)

Get key financials from an annual report

Read one annual report (XBRL) of a Danish company and return its key figures for that year and the year before: revenue, gross profit, operating profit, profit, equity, assets, cash, employees, plus company name, period, currency and auditor. Use it for one year's headline numbers; use get_financials_history for a trend over several years and get_report_facts for any other line item. Group reports default to the consolidated group. Values are in the filing's currency (usually DKK); a missing figure is null and notes say why (small companies may legally omit revenue). found=false when the company has no machine-readable annual report for that year.

Input parameters:

- `cvr` (string, required): Danish CVR number, 8 digits (spaces, dashes and a DK prefix are accepted), e.g. "24256790".
- `scope` (string): For group reports (koncernregnskab): "group" = the consolidated group, "parent" = the parent company alone. Ignored for single companies.
- `year` (integer): Calendar year the reporting period ends in (a 2024/25 financial year ending June 2025 is 2025). Omit for the latest annual report.

Output parameters:

- `auditor` (object)
- `currency` (string|null)
- `cvr` (string|null)
- `figures` (array): Key figures; current = this report's year, previous = the year before.
- `found` (boolean)
- `groupReport` (boolean)
- `message` (string): Why nothing was found (only when found=false).
- `name` (string|null)
- `notes` (array): Gaps, conflicts and caveats found in the filing, in plain English.
- `period`: Reporting period, ISO dates.
- `previousPeriod`
- `reportType` (string|null)
- `scope` (string): Whose figures these are; "company" for a report without a group.
- `source` (object): The filing document the figures were read from.
- `taxonomy` (string)

### `get_financials_history` (~192 tokens)

Get key financials over several years

Return the same key figures as get_financials for each of a Danish company's latest annual reports, one row per reporting year, newest first. Use it for trends and growth; use get_financials when one year (with its previous-year comparison and auditor) is enough. Reads one filing per year, so it is slower than get_financials. A corrected report replaces the original; years without a machine-readable report are skipped.

Input parameters:

- `cvr` (string, required): Danish CVR number, 8 digits (spaces, dashes and a DK prefix are accepted), e.g. "24256790".
- `scope` (string): For group reports (koncernregnskab): "group" = the consolidated group, "parent" = the parent company alone. Ignored for single companies.
- `years` (integer): How many reporting years to return, counting back from the latest.

Output parameters:

- `name` (string|null)
- `years` (array): Newest first; empty when the company has no machine-readable annual reports.

### `get_report_facts` (~284 tokens)

Get all tagged figures from an annual report

Return every figure and text the company tagged in one annual report (XBRL), not only the key figures: e.g. staff costs, depreciation, receivables, dividends, the auditor's opinion. Use it when get_financials doesn't have the line item you need; filter with match to keep the answer short. Concepts are the taxonomy's own English names (fsa = Danish GAAP, ifrs = IFRS, gsd/cmn = general details). Breakdowns by dimension are left out; long texts are cut at 500 characters.

Input parameters:

- `cvr` (string, required): Danish CVR number, 8 digits (spaces, dashes and a DK prefix are accepted), e.g. "24256790".
- `limit` (integer): Maximum number of facts to return; total says how many matched.
- `match` (string): Only concepts whose name contains this text, case-insensitive, e.g. "Employee" or "Dividend".
- `scope` (string): For group reports (koncernregnskab): "group" = the consolidated group, "parent" = the parent company alone. Ignored for single companies.
- `year` (integer): Calendar year the reporting period ends in (a 2024/25 financial year ending June 2025 is 2025). Omit for the latest annual report.

Output parameters:

- `facts` (array)
- `found` (boolean)
- `message` (string): Why nothing was found (only when found=false).
- `name` (string|null)
- `period`: Reporting period, ISO dates.
- `scope` (string): Whose figures these are; "company" for a report without a group.
- `source` (object): The filing document the figures were read from.
- `total` (number): Facts matching the filter, before limit.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/mikkelmanniche-dk-dk-regnskab-mcp/dk-regnskab-mcp#diagnostics

## Score history

- 2026-09-25: 69

## Common questions

### What is the Danish annual reports (CVR) MCP server?

Danish annual reports (CVR) is an MCP server listed in the public MCP registry as io.github.mikkelmanniche-dk/dk-regnskab-mcp. Key figures, history and all tagged facts from Danish companies' annual reports (XBRL). This page covers its npm package (dk-regnskab-mcp).

### Is the Danish annual reports (CVR) MCP server safe to use?

Danish annual reports (CVR) scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Danish annual reports (CVR) MCP server expose?

Danish annual reports (CVR) exposes 5 tools: search_company, list_filings, get_financials, get_financials_history, get_report_facts. Their descriptions and schemas cost roughly 1,076 tokens of context every time the server is loaded.

### Is the Danish annual reports (CVR) MCP server still maintained?

Danish annual reports (CVR) is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Danish annual reports (CVR) MCP server under?

Danish annual reports (CVR) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/dk-regnskab-mcp
- Socket report: https://socket.dev/npm/package/dk-regnskab-mcp
- Repository: https://github.com/mikkelmanniche-dk/dk-regnskab-mcp
- Changelog RSS feed: https://verifymcp.io/servers/mikkelmanniche-dk-dk-regnskab-mcp/dk-regnskab-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/mikkelmanniche-dk-dk-regnskab-mcp/dk-regnskab-mcp.json
- HTML version of this page: https://verifymcp.io/servers/mikkelmanniche-dk-dk-regnskab-mcp/dk-regnskab-mcp
