
Danish company data (CVR) and annual-report financials for B2B lead research. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one company snapshot by 8-digit CVR number (read-only).
Danish CVR number, exactly 8 digits as a string, e.g. "24256790" (Novo Nordisk A/S). Get it from search_companies or recommend_leads.
Get one company snapshot by 8-digit CVR number (read-only).
| Argument | Type | Description |
|---|---|---|
| cvrnummer* | string | Danish CVR number, exactly 8 digits as a string, e.g. "24256790" (Novo Nordisk A/S). Get it from search_companies or recommend_leads. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"cvrnummer"
],
"properties": {
"cvrnummer": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "Danish CVR number, exactly 8 digits as a string, e.g. \"24256790\" (Novo Nordisk A/S). Get it from search_companies or recommend_leads."
}
},
"additionalProperties": false
}Static documentation for the CVR read model and tool usage rules (no database writes).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get structured financial history for one CVR (read-only).
| Argument | Type | Description |
|---|---|---|
| year | integer | Only return the fiscal year whose period ends in this calendar year, e.g. 2024. |
| limit | integer | Maximum number of annual statements to return, newest first (1 to 50), e.g. 5. Default 10. |
| cvrnummer* | string | Danish CVR number, exactly 8 digits as a string, e.g. "24256790" (Novo Nordisk A/S). Get it from search_companies or recommend_leads. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"cvrnummer"
],
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 1990,
"description": "Only return the fiscal year whose period ends in this calendar year, e.g. 2024."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Maximum number of annual statements to return, newest first (1 to 50), e.g. 5. Default 10."
},
"cvrnummer": {
"type": "string",
"pattern": "^\\d{8}$",
"description": "Danish CVR number, exactly 8 digits as a string, e.g. \"24256790\" (Novo Nordisk A/S). Get it from search_companies or recommend_leads."
}
},
"additionalProperties": false
}Ranked lead shortlist from CVR filters (read-only). Scores the 500 highest-revenue matches (revenue, employees, email, phone) and returns them best first; page with limit and offset. Includes GDPR contact warnings.
| Argument | Type | Description |
|---|---|---|
| city | string | Postal town (postdistrikt) as a prefix match, or a 4-digit postal code, e.g. 'Aarhus' (matches 'Aarhus C' and 'Aarhus N') or '8000'. |
| limit | integer | Number of leads to return (1 to 25), e.g. 10. Default 10. |
| offset | integer | Number of ranked leads to skip, for paging, e.g. 10 for page 2 with limit 10. Default 0. Ranking covers the 500 highest-revenue matches, so offset is at most 499. |
| region | string | Danish region, e.g. 'Midtjylland'. One of Hovedstaden, Sjælland, Syddanmark, Midtjylland, Nordjylland ('Region ' prefix optional). |
| max_revenue | integer | Maximum revenue in DKK from the latest annual report, e.g. 50000000 for 50 million DKK. |
| min_revenue | integer | Minimum revenue (omsætning) in DKK from the latest annual report, e.g. 10000000 for 10 million DKK. |
| municipality | string | Municipality (kommune) of the current CVR address, by name or code, e.g. 'Aarhus', 'Københavns Kommune' or '751'. |
Search Danish companies in the CVR read model (read-only). Filters include industry, size, municipality (kommune), city/postnummer and region. Prefer exclude_reklamebeskyttelse=true for marketing leads.
| Argument | Type | Description |
|---|---|---|
| city | string | Postal town (postdistrikt) as a prefix match, or a 4-digit postal code, e.g. 'Aarhus' (matches 'Aarhus C' and 'Aarhus N') or '8000'. |
| limit | integer | Number of companies to return (1 to 50), e.g. 20. Default 20. |
| offset | integer | Number of results to skip, for paging, e.g. 20 for page 2 with limit 20. Default 0. |
| region | string | Danish region, e.g. 'Midtjylland'. One of Hovedstaden, Sjælland, Syddanmark, Midtjylland, Nordjylland ('Region ' prefix optional). |
| max_revenue | integer | Maximum revenue in DKK from the latest annual report, e.g. 50000000 for 50 million DKK. |
| min_revenue | integer | Minimum revenue (omsætning) in DKK from the latest annual report, e.g. 10000000 for 10 million DKK. |
| municipality | string | Municipality (kommune) of the current CVR address, by name or code, e.g. 'Aarhus', 'Københavns Kommune' or '751'. |
| industry_code | string | Exact Danish industry code (DB25/NACE, up to 6 digits), e.g. "621000" (computer programming). |
| max_employees | integer | Maximum average number of employees from the latest annual report, e.g. 50. |
| min_employees | integer | Minimum average number of employees from the latest annual report, e.g. 10. |
| status_contains | string | Case-insensitive part of the CVR status (Danish), e.g. "normal" or "aktiv" for active companies, "konkurs" for bankruptcy. |
| industry_contains | string | Case-insensitive text match on the industry name and secondary industries (Danish), e.g. "tømrer", "software" or "restaurant". |
| company_name_contains | string | Case-insensitive part of the company name, e.g. "Novo" or "Carlsberg". |
| exclude_reklamebeskyttelse | boolean | Leave out companies with reklamebeskyttelse (marketing protection, may not be contacted for marketing). Default true; set false only for research, not outreach. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Postal town (postdistrikt) as a prefix match, or a 4-digit postal code, e.g. 'Aarhus' (matches 'Aarhus C' and 'Aarhus N') or '8000'."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Number of leads to return (1 to 25), e.g. 10. Default 10."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 499,
"minimum": 0,
"description": "Number of ranked leads to skip, for paging, e.g. 10 for page 2 with limit 10. Default 0. Ranking covers the 500 highest-revenue matches, so offset is at most 499."
},
"region": {
"type": "string",
"maxLength": 40,
"minLength": 3,
"description": "Danish region, e.g. 'Midtjylland'. One of Hovedstaden, Sjælland, Syddanmark, Midtjylland, Nordjylland ('Region ' prefix optional)."
},
"max_revenue": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum revenue in DKK from the latest annual report, e.g. 50000000 for 50 million DKK."
},
"min_revenue": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Minimum revenue (omsætning) in DKK from the latest annual report, e.g. 10000000 for 10 million DKK."
},
"municipality": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Municipality (kommune) of the current CVR address, by name or code, e.g. 'Aarhus', 'Københavns Kommune' or '751'."
},
"industry_code": {
"type": "string",
"maxLength": 32,
"description": "Exact Danish industry code (DB25/NACE, up to 6 digits), e.g. \"621000\" (computer programming)."
},
"max_employees": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Maximum average number of employees from the latest annual report, e.g. 50."
},
"min_employees": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Minimum average number of employees from the latest annual report, e.g. 10."
},
"status_contains": {
"type": "string",
"maxLength": 80,
"description": "Case-insensitive part of the CVR status (Danish), e.g. \"normal\" or \"aktiv\" for active companies, \"konkurs\" for bankruptcy."
},
"industry_contains": {
"type": "string",
"maxLength": 120,
"description": "Case-insensitive text match on the industry name and secondary industries (Danish), e.g. \"tømrer\", \"software\" or \"restaurant\"."
},
"company_name_contains": {
"type": "string",
"maxLength": 120,
"description": "Case-insensitive part of the company name, e.g. \"Novo\" or \"Carlsberg\"."
},
"exclude_reklamebeskyttelse": {
"type": "boolean",
"default": true,
"description": "Leave out companies with reklamebeskyttelse (marketing protection, may not be contacted for marketing). Default true; set false only for research, not outreach."
}
},
"additionalProperties": false
}| industry_code | string | Exact Danish industry code (DB25/NACE, up to 6 digits), e.g. "621000" (computer programming). |
| max_employees | integer | Maximum average number of employees from the latest annual report, e.g. 50. |
| min_employees | integer | Minimum average number of employees from the latest annual report, e.g. 10. |
| status_contains | string | Case-insensitive part of the CVR status (Danish), e.g. "normal" or "aktiv" for active companies, "konkurs" for bankruptcy. |
| industry_contains | string | Case-insensitive text match on the industry name and secondary industries (Danish), e.g. "tømrer", "software" or "restaurant". |
| company_name_contains | string | Case-insensitive part of the company name, e.g. "Novo" or "Carlsberg". |
| exclude_reklamebeskyttelse | boolean | Leave out companies with reklamebeskyttelse (marketing protection, may not be contacted for marketing). Default true; set false only for research, not outreach. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Postal town (postdistrikt) as a prefix match, or a 4-digit postal code, e.g. 'Aarhus' (matches 'Aarhus C' and 'Aarhus N') or '8000'."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Number of companies to return (1 to 50), e.g. 20. Default 20."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 10000,
"minimum": 0,
"description": "Number of results to skip, for paging, e.g. 20 for page 2 with limit 20. Default 0."
},
"region": {
"type": "string",
"maxLength": 40,
"minLength": 3,
"description": "Danish region, e.g. 'Midtjylland'. One of Hovedstaden, Sjælland, Syddanmark, Midtjylland, Nordjylland ('Region ' prefix optional)."
},
"max_revenue": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Maximum revenue in DKK from the latest annual report, e.g. 50000000 for 50 million DKK."
},
"min_revenue": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Minimum revenue (omsætning) in DKK from the latest annual report, e.g. 10000000 for 10 million DKK."
},
"municipality": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Municipality (kommune) of the current CVR address, by name or code, e.g. 'Aarhus', 'Københavns Kommune' or '751'."
},
"industry_code": {
"type": "string",
"maxLength": 32,
"description": "Exact Danish industry code (DB25/NACE, up to 6 digits), e.g. \"621000\" (computer programming)."
},
"max_employees": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Maximum average number of employees from the latest annual report, e.g. 50."
},
"min_employees": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Minimum average number of employees from the latest annual report, e.g. 10."
},
"status_contains": {
"type": "string",
"maxLength": 80,
"description": "Case-insensitive part of the CVR status (Danish), e.g. \"normal\" or \"aktiv\" for active companies, \"konkurs\" for bankruptcy."
},
"industry_contains": {
"type": "string",
"maxLength": 120,
"description": "Case-insensitive text match on the industry name and secondary industries (Danish), e.g. \"tømrer\", \"software\" or \"restaurant\"."
},
"company_name_contains": {
"type": "string",
"maxLength": 120,
"description": "Case-insensitive part of the company name, e.g. \"Novo\" or \"Carlsberg\"."
},
"exclude_reklamebeskyttelse": {
"type": "boolean",
"default": true,
"description": "Leave out companies with reklamebeskyttelse (marketing protection, may not be contacted for marketing). Default true; set false only for research, not outreach."
}
},
"additionalProperties": false
}