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

@omnizoek/mcp-server

v0.1.6

Published

MCP server that exposes OmniZoek Dutch government data APIs as AI agent tools (Claude Desktop, Cursor, and any MCP-compatible client).

Readme

@omnizoek/mcp-server

Model Context Protocol server for OmniZoek — exposes 16 Dutch government data APIs as AI agent tools.

Add this server to Claude Desktop, Cursor, or any MCP-compatible AI client and your agent can instantly look up Dutch addresses, validate IBANs, geocode locations, look up exchange rates, check company LEI records, check vehicle history, check ZE-zone compliance, look up energy labels, and more — all backed by live BAG, EP-Online, RDW, VIES, NS, ENTSO-E, PDOK, ECB, and GLEIF data.

npm version License: Proprietary


Available tools

| Tool | Description | |---|---| | omnizoek_address_enrich | Validate and enrich a Dutch address — BAG ID, building year, surface area, coordinates, energy label | | omnizoek_iban_to_bic | Resolve an IBAN to BIC/SWIFT and bank name | | omnizoek_vat_verify | Verify a European VAT number via EU VIES | | omnizoek_validate_finance | Checksum-validate a Dutch BSN or IBAN | | omnizoek_energy_label | Look up the official EP-Online energy label for an address | | omnizoek_emission_zone | Check whether a vehicle (by kenteken) may enter Dutch ZE-zones | | omnizoek_transit_disruptions | Get current NS train disruptions, optionally filtered by station | | omnizoek_grid_trigger | Get current ENTSO-E electricity price and whether the negative-price trigger is active | | omnizoek_minimum_wage | Look up the Dutch statutory minimum wage for a given age | | omnizoek_holiday_surcharge | Check if a date is a Dutch public holiday and get the wage surcharge multiplier | | omnizoek_exchange_rates | Get the latest ECB daily euro foreign exchange reference rates | | omnizoek_vat_rates | Get VAT rates for an EU country (full category breakdown for NL) | | omnizoek_geocode | Forward geocode a free-text query to Dutch coordinates (PDOK Locatieserver) | | omnizoek_reverse_geocode | Reverse geocode WGS84 coordinates to a Dutch address | | omnizoek_lei_lookup | Look up a legal entity by LEI code or search by company name (GLEIF) | | omnizoek_vehicle_history | Full vehicle history from RDW: specs, fuel, APK expiry, open recalls |


Quick start

You need an OmniZoek API key. Get one free at omnizoek.nl →

Use an omni_test_... key during development — it returns fixture data and is never billed.


Claude Desktop

Add the following to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "omnizoek": {
      "command": "npx",
      "args": ["-y", "@omnizoek/mcp-server"],
      "env": {
        "OMNIZOEK_API_KEY": "omni_live_YOUR_KEY_HERE"
      }
    }
  }
}

Restart Claude Desktop. You'll see the OmniZoek tools available in the tool panel.


Cursor

Add to your Cursor MCP config (~/.cursor/mcp.json or the workspace .cursor/mcp.json):

{
  "mcpServers": {
    "omnizoek": {
      "command": "npx",
      "args": ["-y", "@omnizoek/mcp-server"],
      "env": {
        "OMNIZOEK_API_KEY": "omni_live_YOUR_KEY_HERE"
      }
    }
  }
}

Docker

docker run --rm -i \
  -e OMNIZOEK_API_KEY=omni_live_YOUR_KEY_HERE \
  omnizoek/mcp-server

To use via Docker in your MCP config:

{
  "mcpServers": {
    "omnizoek": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "OMNIZOEK_API_KEY=omni_live_YOUR_KEY_HERE", "omnizoek/mcp-server"]
    }
  }
}

Environment variables

| Variable | Required | Description | |---|---|---| | OMNIZOEK_API_KEY | ✅ Yes | Your OmniZoek API key. Prefix omni_test_ for sandbox mode. |


Example prompts

Once configured, you can ask your AI agent:

  • "What street is postcode 1012LG house number 1?"
  • "Is IBAN NL91ABNA0417164300 valid, and what bank is it from?"
  • "Can a diesel Euro 4 van with kenteken AB123C drive through an Amsterdam ZE-zone?"
  • "What is the minimum wage for a 19-year-old in the Netherlands today?"
  • "Is 25 December 2025 a public holiday, and what is the retail surcharge multiplier?"
  • "What is the current electricity price in the Netherlands, and is the negative-price trigger active?"
  • "What are today's euro exchange rates from the ECB?"
  • "What are the VAT rates in the Netherlands, broken down by category?"
  • "Geocode the address Damrak 1 Amsterdam to coordinates."
  • "What address is nearest to coordinates 52.3756, 4.8951?"
  • "Look up the LEI record for ING Bank N.V. in the Netherlands."
  • "What is the APK expiry date and are there any open recalls for kenteken AB123C?"

Remote deployment (HTTP / Glama.ai Connector)

The package ships a second entry point — dist/http.js — that exposes the same 16 tools via MCP Streamable HTTP transport. Use this to run OmniZoek MCP as a remote server.

Run locally

PORT=3000 OMNIZOEK_API_KEY=omni_live_... npx omnizoek-mcp-http
# MCP endpoint: POST http://localhost:3000/mcp
# Health check:  GET http://localhost:3000/health

Docker (HTTP mode)

docker run -p 3000:3000 \
  -e OMNIZOEK_API_KEY=omni_live_... \
  -e HTTP_MODE=1 \
  omnizoek/mcp-server

Cloud Run (Google Cloud)

gcloud run deploy omnizoek-mcp \
  --image omnizoek/mcp-server \
  --set-env-vars HTTP_MODE=1 \
  --port 3000 \
  --allow-unauthenticated

# Map custom domain (CNAME mcp → ghs.googlehosted.com already set in DNS)
gcloud run domain-mappings create \
  --service omnizoek-mcp \
  --domain mcp.omnizoek.nl \
  --region europe-west4

The MCP endpoint will be available at https://mcp.omnizoek.nl/mcp.

Authentication

Pass your OmniZoek API key on each request via either header:

Authorization: Bearer omni_live_YOUR_KEY
X-Api-Key: omni_live_YOUR_KEY

The server requires a key on every request — there is no server-side fallback key. This means the deployed endpoint cannot be abused to bill a single account; each caller must supply their own key.

For private/single-tenant deployments you can set OMNIZOEK_ALLOW_ENV_KEY=1 alongside OMNIZOEK_API_KEY to use the env var as a fallback.

Glama.ai Connector submission

| Field | Value | |---|---| | Name | OmniZoek | | Description | 16 Dutch government data APIs — address enrichment, IBAN→BIC, VAT verify, geocode, vehicle history, energy labels, exchange rates and more. | | Server URL | https://mcp.omnizoek.nl/mcp | | Private Notes | Authorization: Bearer omni_test_YOUR_KEY (use a test key — never billed) |


Development

# Clone the monorepo
git clone https://github.com/JakoRens/searchworks-nl.git
cd searchworks-nl/omni-mcp

# Install dependencies
npm install

# Build
npm run build

# Run locally (requires OMNIZOEK_API_KEY)
OMNIZOEK_API_KEY=omni_test_... npm start

Test with MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js

Set OMNIZOEK_API_KEY in the inspector's environment variable panel, then use the tool explorer to call any tool interactively.


Links