npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@virkly/mcp-server

v0.3.0

Published

Model Context Protocol server for Virkly API - Access Danish company, person, and industry data in AI assistants

Downloads

12

Readme

Virkly MCP Server

Model Context Protocol server for accessing Danish company data in AI assistants.

This MCP server enables AI assistants like Claude Desktop, Cursor IDE, and other MCP-compatible clients to look up and search Danish companies using the Virkly API.

Features

  • CVR Lookup - Get detailed company information by CVR number (with full ERST data via expand)
  • CVR Search - Search for companies by name with pagination
  • CVR Persons - List all persons with roles at a company (directors, board, owners, founders)
  • Person Lookup - Look up a person by enhedsNummer, with roles and professional network
  • Person Search - Search for persons by name with pagination
  • Industry List - Browse Danish industries with company counts
  • Real-time Data - Access up-to-date company data from Danish Business Authority (ERST)
  • Structured Responses - Clean JSON output for easy AI processing
  • API Key Authentication - Simple and secure authentication

Installation

npm install -g @virkly/mcp-server

Or locally:

npm install @virkly/mcp-server

Prerequisites

You need a Virkly API key to use this MCP server.

  1. Sign up at virkly.io
  2. Create an API key in your dashboard

Setup

Claude Desktop

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "virkly": {
      "command": "npx",
      "args": ["-y", "@virkly/mcp-server"],
      "env": {
        "VIRKLY_API_KEY": "your_api_key_here"
      }
    }
  }
}

Cursor IDE

Add this to your Cursor MCP settings (Settings > Features > MCP Servers):

{
  "virkly": {
    "command": "npx",
    "args": ["-y", "@virkly/mcp-server"],
    "env": {
      "VIRKLY_API_KEY": "your_api_key_here"
    }
  }
}

Environment Variables

  • VIRKLY_API_KEY (required) - Your Virkly API key
  • VIRKLY_BASE_URL (optional) - Custom API endpoint (default: https://virkly.io)

Usage

Once configured, you can use the MCP tools in your AI assistant:

CVR Lookup

Look up a company by CVR number:

Look up company with CVR 36070867

Parameters:

  • cvr (string, required) - CVR number (8 digits)
  • expand (boolean, optional) - Return full ERST data instead of curated format (default: false)

Example response:

Company: A.P. Moller - Maersk A/S
CVR: 36070867
Status: Aktiv
Address: Esplanaden 50, 1098 Kobenhavn K, Denmark
Industry: Shipping
Start Date: 1996-01-01

CVR Search

Search for companies by name with pagination:

Find companies named "Maersk" — page 2

Parameters:

  • query (string, required) - Company name or partial name (min 2 characters)
  • limit (number, optional) - Maximum results per page (default: 10, max: 50)
  • page (number, optional) - Page number (default: 1)

CVR Persons

List all persons associated with a company:

Who are the directors and owners of CVR 36070867?

Parameters:

  • cvr (string, required) - CVR number (8 digits)

Returns: Name, role, enhedsNummer, start date, and ownership percentage for each person.

Person Lookup

Look up person with enhedsNummer 4000059964

Parameters:

  • enhedsNummer (integer, required) - ERST enhedsNummer of the person
  • include_historic (boolean, optional) - Include ended roles (default: false)

Returns: Name, statistics, active roles, and professional network (co-directors/board members).

Person Search

Find persons named "Jensen" — page 2

Parameters:

  • name (string, required) - Person name or partial name (min 2 characters)
  • limit (number, optional) - Maximum results per page (default: 10, max: 100)
  • page (number, optional) - Page number (default: 1)

Troubleshooting

"VIRKLY_API_KEY environment variable is required"

Your API key is not configured. Make sure you've added it to your MCP server configuration.

"Invalid VIRKLY_API_KEY"

Your API key is incorrect or has been revoked. Check your API key at virkly.io/dashboard/keys.

"CVR number must be exactly 8 digits"

CVR numbers in Denmark are always 8 digits. Make sure you're providing the full CVR number without spaces or dashes.

Server not showing up in Claude Desktop

  1. Restart Claude Desktop after updating the configuration
  2. Check that the JSON configuration is valid
  3. Verify that Node.js is installed and accessible
  4. Check Claude Desktop logs for errors

Links

Support