← Back to home

CVR MCP Server Documentation

Accurate financial data on all Danish companies

Overview

Access accurate, live financial data for 800,000+ Danish companies sourced directly from Erhvervsstyrelsen. Search companies by name, pull income statements and balance sheets, compute financial ratios, and benchmark against industry peers. Trace ownership chains up and down, discover co-investors, and explore full person portfolios — all through natural conversation with Denmark’s Central Business Register (CVR).

Available Tools

ToolDescription
search_by_nameSearch companies or persons by name (fuzzy matching)
get_ownersAll owners of a company by CVR number
trace_ownership_chainTrace upward: who owns this company, recursively
trace_holdings_treeTrace downward: what does a person or company own
get_co_ownersFind other owners who co-invest alongside a given owner
filter_ownershipAdvanced filtering by status, company form, ownership %, date range
get_financialsP&L and balance sheet across accounting periods
get_financial_ratiosEquity ratio, ROE, gearing, current ratio, margins
get_company_infoCompany metadata: address, industry, employees, status
get_industry_benchmarksDST industry benchmark data for comparison
get_risk_free_rateDanish government bond yields (for WACC)
get_salary_rankingRank companies by average salary per employee
get_share_sale_earners_rankingRank persons by aggregated payout from majority share-sales
get_full_entityComplete company profile in one call
get_person_portfolioFull person portfolio: holdings, financials, ratios
search_batchSearch up to 10 names in a single call
get_owners_batchOwners for multiple companies at once
get_holdings_batchHoldings trees for multiple owners at once

Example Prompts

Company holdings look-up “What does Novo Nordisk own?”
Financial analysis “Show me the income statement and balance sheet for Halfspace.io over the last 5 years”
Person portfolio “What companies does Anders Holch Povlsen own, and how are they performing financially?”
Ownership tracing “Trace the full ownership chain above Maersk — who are the ultimate owners?”

Connect with Claude

  1. Open claude.ai → Settings → Connectors
  2. Click Add custom connector
  3. Paste this URL and click Add:
https://api.cvr.plus/mcp

Authentication is automatic — no password needed.

Troubleshooting

Connector won’t add / URL rejected. Make sure you paste the full URL including the /mcp path (https://api.cvr.plus/mcp). Remove any trailing slash or whitespace.

Authentication loops or never completes. The server uses OAuth 2.1 with pre-registered clients for Claude and ChatGPT (see the protected-resource metadata). If the browser popup closes without redirecting, disable pop-up blockers for claude.ai, remove the connector, and add it again. Safari’s “Prevent Cross-Site Tracking” can also interfere — try Chrome or Firefox if you hit repeated failures.

Search returns no results. Check spelling; the server does typo-tolerant fuzzy fallback but abbreviations (“KFC”) are not expanded. Try the full legal name (“A.P. Møller - Mærsk A/S”), or search the CVR number directly with get_company_info.

Financial data looks wrong or is missing. Danish SMEs (class B) are not required to publish revenue — only ~6% report nettoomsaetning. bruttofortjeneste (gross profit) is the usable top line for most filings. For cross-checking, the authoritative source is datacvr.virk.dk.

“Rate limit exceeded” errors. Limits are applied per OAuth client to keep the service fair. Wait a minute and retry; if you need higher limits for a legitimate project, email the address below.

Tool call times out. Deep ownership traces (trace_holdings_tree, get_person_portfolio) can be expensive for very large conglomerates. Lower max_depth (default 10 → try 3–5) or use the batch variants with a narrower scope.

Still stuck? Server status is exposed at /health. If it returns 200 OK but your client can’t connect, the issue is most likely on the client side — otherwise email support.

Support

For questions or issues, email thomas.ryde@gmail.com.

Privacy policy: api.cvr.plus/privacy

Terms of service: api.cvr.plus/terms