Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Nederlandse overheids- en registerdata via MCP: KVK, BAG, energielabel, kenteken, DSO en meer.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
X-Api-KeyYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http getapi https://api.getapi.nl/mcp --header 'X-Api-Key: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"getapi": {
"url": "https://api.getapi.nl/mcp",
"headers": {
"X-Api-Key": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"getapi": {
"type": "http",
"url": "https://api.getapi.nl/mcp",
"headers": {
"X-Api-Key": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
X-Api-Key HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
kadaster.bag.addressAddress lookup by postcode and house number Returns full BAG address data for a Dutch address, including BAG IDs, usage purposes, surface area, build year, status, and GPS coordinates. Data is sourced from the PDOK BAG open API (Landelijke Voorziening BAG). Results are cached for
kadaster.bag.address.suggestAddress autocomplete suggestions Returns address suggestions for autocomplete functionality based on a partial query. Useful for implementing address autocomplete in forms. Returns up to 10 suggestions with full address details and BAG identifiers. Results are cached for 1 hour.
kadaster.bag.idAddress lookup by nummeraanduiding ID Returns full BAG address data for a given BAG nummeraanduiding ID. The nummeraanduiding ID is a 16-digit identifier from the BAG register. Data is sourced from the PDOK BAG open API (Landelijke Voorziening BAG). Results are cached for 24 hour
cbs.sbiSBI code index Returns all SBI codes from the local dataset. Optionally filter by `level` (1–5) and/or `parent_code` to retrieve only the direct children of a given SBI code. Levels: 1 = sectie (A–U), 2 = afdeling, 3 = groep, 4 = klasse, 5 = subklasse. Source: [CBS Standaard Bedr
cbs.sbi.searchSBI code search Searches through all SBI codes and titles using a free-text query. Returns up to 25 matches, ordered by level (broad → specific) and code. Source: [CBS Standaard Bedrijfsindeling 2025](https://www.cbs.nl/sbi) Cost: 0.1 credit(s) per call. An API key is required vi
cbs.sbi.detailSBI code lookup Returns the title, description, level and full classification path for a single SBI code. Accepts both the dotted CBS format (`64.92.3`) and the numeric format (`64923`). Source: [CBS Standaard Bedrijfsindeling 2025](https://www.cbs.nl/sbi) Cost: 0.1 credit(s) per
lookup.dns.nameserversNameserver lookup for a domain Returns the NS records for the given domain. Results are cached for 10 minutes. Cost: 1 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer ); a per-call wallet payment via x402 is also accepted.
lookup.dns.recordsDNS record lookup for a domain and record type Returns DNS records of the specified type for a domain. Supported types: A, AAAA, CNAME, MX, NS, TXT, SOA, PTR, SRV, ALL (default). Results are cached for 5 minutes. Cost: 1 credit(s) per call. An API key is required via the X-Api-Ke
validation.dnsblCheck an IP address against DNS-based blacklists (RBLs) Checks an IP address against 5 public DNSBL / RBL zones (Spamhaus, SpamCop, SORBS, Barracuda, PSBL) by querying their DNS-based blacklists. This is a lightweight, realtime check without any external API calls or rate limits.
dso.documentsSearch environmental documents Searches environmental documents (Omgevingswet and Wro) in context for the given location. Returns all applicable plans, environmental plans and related documents. Accepts coordinates or a postcode. Source: [DSO Omgevingsinformatie Ontsluiten v2](ht
dso.plansSearch spatial plans Searches spatial plans (Wro) for the given location. Returns zoning plans, integration plans and amendment plans that affect the location. Accepts coordinates or a postcode. Source: [DSO Ruimtelijke Plannen Opvragen v4](https://developer.omgevingswet.overheid
validation.emailValidate an email address Checks the RFC format and verifies that the domain has a valid DNS or MX record. Cost: 1 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer ); a per-call wallet payment via x402 is also accepted.
validation.email.batchValidate a batch of email addresses Validates up to 25 email addresses in a single request. Each address is checked for RFC format and DNS/MX record existence. Cost: 1 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer ); a per-call wall
validation.email.disposableDisposable email domain checker Checks the domain against a continuously updated blocklist of known throwaway email services (Mailinator, Guerrilla Mail, 10minutemail, etc.). Cost: 1 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer );
lookup.postcodeZipcode lookup for the Netherlands Returns address data for a Dutch postcode, optionally refined by house number. There are multiple sources available with varying coverage and accuracy. Cost: 0.5 credit(s) per call. An API key is required via the X-Api-Key header (or Authorizati
validation.ibanValidate an international IBAN / BIC Validates an IBAN (ISO 13616) fully offline: country-specific length + structure and the mod-97 check digit. Supported for 70+ countries. For Dutch IBANs the bank name and BIC are resolved from the bank code. An optional BIC can be submitted t
lookup.ipGet ISP information and location details for an IP address Returns location, ISP, organisation and hosting details for a given IP address. Results are cached for 1 hour. Cost: 1 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer ); a per
ndw.laadpuntenCharging points list Returns a list of all publicly accessible charging points in the Netherlands. Data comes from the NDW Open Data platform (DOT-NL); each charging point includes all available source fields, including the complete `availabilities` (counts, power, current type,
ndw.laadpunten.detailCharging point detail Returns the details of a single charging point by external ID (EVSEId or locationId), including all available NDW fields and the complete availabilities. Cost: 0.5 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer
ndw.emissiezonesEmission zones list Returns an overview of all environmental zones (low-emission and zero-emission zones) in the Netherlands. Data comes from the NDW Open Data platform (DATEX II format). Optionally paginate with `page` (plus `per_page`, max 500; only then does the response conta
ndw.emissiezones.detailEmission zone detail Returns the details of a single emission zone by external ID, including the zone's GeoJSON geometry and vehicle restrictions. Cost: 0.5 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer ); a per-call wallet payment
ndw.truckparkingTruck parking list Returns an overview of all truck parking locations in the Netherlands with current occupancy information. Static location data is combined with dynamic occupancy status (DATEX II). Optionally paginate with `page` (plus `per_page`, max 500; only then does the re
ndw.truckparking.detailTruck parking detail Returns the details of a single truck parking location by external ID. Cost: 0.5 credit(s) per call. An API key is required via the X-Api-Key header (or Authorization: Bearer ); a per-call wallet payment via x402 is also accepted.
property.pandgegevensProperty data lookup (pandgegevens) Returns combined property data for a Dutch address: Address details + BAG identifiers, Energy label info, property value (WOZ waarde), spatial planning data, and environmental information. The `energy_labels` block contains every EP-Online labe
property.pandgegevens.liteLightweight property data lookup (pandgegevens lite) Returns property data for a Dutch address: Address details + BAG identifiers, energy label info, and building characteristics. The `energy_labels` block contains all EP-Online labels (complete records); the summary blocks show
property.woz.waardeWOZ-value lookup (WOZ-waarde) Returns the Dutch government property assessment value (WOZ-waarde) for a property, including the historical values of the last three years. Alongside the value, the ground area of the WOZ object (grondoppervlakte) and the linked cadastral parcel (ka
rdw.vehicleVehicle lookup by Dutch license plate (kenteken) — Pro / extended response Returns vehicle registration data from the RDW Basisregistratie Voertuigen, enriched with fuel + emission information, a national milieuzone compliance flag, and a wide range of extended fields: catalogusp
property.energy.labelEnergy label lookup for a Dutch address Returns the registered energy label(s) for a Dutch address from EP-Online (RVO). Each label carries the complete EP-Online record (field names are translated to English; fields that EP-Online does not provide for that label are `null`). Res
scraping.emailE-mail Address Extractor Uses a simple regex to extract email addresses from the HTML content of a given URL. It is not always possible to extract email addresses due to obfuscation techniques. In such cases, the api will try to decode it. If it still fails, it will return an emp
validation.vatValidate an EU VAT number (VIES) Validates a European VAT number via the official VIES system of the European Commission. The country code must be the first two characters of the VAT number (e.g. `NL820646660B01`). Supported countries: all 27 EU member states + Northern Ireland (
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified against the domain getapi.nl (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 902 ms (HTTP 200)
No sign-in needed
Read 30 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 22 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Tethered Trust
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Een MCP-server die de GetApi-API beschikbaar maakt voor AI-clients zoals Claude Desktop.
Installeer de server via npm:
npm install -g getapi-mcp
Deze server maakt alle GetApi API-endpoints beschikbaar als tools voor AI-clients. De server communiceert via stdio en wordt gestart met npx getapi-mcp. De API-key wordt uitsluitend via de omgevingsvariabele API_KEY ingesteld.
npx getapi-mcp
Voeg de volgende configuratie toe aan de MCP-configuratie van je client (bijvoorbeeld claude_desktop_config.json voor Claude Desktop):
{
"mcpServers": { "getapi": { "command": "npx", "args": ["-y", "getapi-mcp@0.1.0"], "env": { "API_KEY": "ga_live_xxxxxxxxxxxxxxxxxxxx" } } } }
Belangrijk: De API-key wordt alleen via env ingesteld. De server redigeert de key volledig uit logs en output.
Je moet een actieve API-key van GetApi hebben. Zie hun dashboard voor informatie over het aanmaken en beheren van keys.
Opmerking: De key moet het formaat ga_live_xxxxx of ga_test_xxxxx hebben.
De tool-lijst wordt automatisch gegenereerd uit de GetApi OpenAPI spec en wordt elk uur geüpdatet.
| Tool | Omschrijving |
|---|---|
getapi_kadaster_bag_address | Adres zoeken op postcode en huisnummer (BAG) |
getapi_kadaster_bag_address-suggest | Adres-autocomplete suggesties |
getapi_kadaster_bag_id | Adres zoeken op nummeraanduiding-ID |
getapi_lookup_postcode | Postcode-lookup (NL) |
getapi_lookup_ip | IP-/ISP-informatie |
getapi_validation_iban | IBAN / BIC valideren |
getapi_validation_vat | EU BTW-nummer valideren (VIES) |
getapi_property_pandgegevens | Pandgegevens op postcode en huisnummer |
getapi_rdw_vehicle | Voertuig op kenteken (RDW) |
getapi_lookup_dns_records | DNS-records van een domein |
| ... | De volledige lijst wordt uit de OpenAPI spec gegenereerd |
Bekijk de GetApi API-documentatie voor de volledige lijst van endpoints.
Als er een netwerkfout optreedt, krijg je een specifiek foutbericht:
| Code | Omschrijving | Oplossing |
|---|---|---|
404 | Resource niet gevonden | Check de URL en parameters |
400 | Fout bij parameters | Controleer de parameters op syntaxis |
422 | Validatiefout | Controleer de parameter types |
503 | Server tijdelijk niet beschikbaar | Probeer het later opnieuw |
TIMEOUT | Request time-out | Verhoog de timeout |
401 | Ongeldige API key | Controleer je API key |
https://api.getapi.nlDe server checkt elk uur of de GetApi spec is gewijzigd. Bij updates:
Opmerking: Niet alle MCP-clients verwerken automatische updates. Herstart je client als je nieuwe tools wilt zien.
Deze waarden zijn op dit moment vast in de server ingesteld (niet via env aanpasbaar); alleen API_KEY is een omgevingsvariabele.
| Optie | Default | Omschrijving |
|---|---|---|
specUrl | https://api.getapi.nl/docs/api.json | URL naar de GetApi OpenAPI spec |
baseUrl | https://api.getapi.nl | Base URL voor API verzoeken |
authHeader | X-Api-Key | Header naam voor auth |
refreshIntervalMs | 3600000 (1 uur) | Interval waarmee de spec wordt gecontroleerd |
timeoutMs | 10000 | Request timeout (ms) |
maxResponseSize | 1048576 | Max response size (1 MB) |
maxSpecSize | 5242880 | Max spec size (5 MB) |
x402ExcludedOperations | leeg | Operation-IDs die niet als tool worden geëxporteerd |
De enige omgevingsvariabele is API_KEY:
{
"mcpServers": { "getapi": { "command": "npx", "args": ["-y", "getapi-mcp@0.1.0"], "env": { "API_KEY": "ga_live_xxxxxxxxxxxxxxxxxxxx" } } } }
De server stopt met deze melding als API_KEY ontbreekt of niet met ga_live_/ga_test_ begint. Stel de variabele in via je MCP client configuratie (zie Configuratie).
https://api.getapi.nl/docs/api.json) is niet bereikbaarDe server start in dat geval met alleen de getapi_ping fallback-tool en probeert het bij de volgende refresh opnieuw.
inputSchema van de toolrequired401: ongeldige of ontbrekende API-key404: verkeerde parameters of onbekend endpoint503/504: API tijdelijk niet beschikbaar of timeout# Afhankelijkheden installeren
npm install
npm run validate
npm run verify
npm test
npm run test:coverage
npm run check:docs
API_KEY=ga_test_... npm run test:live
npm run test:package
npm run typecheck npm run lint
npm run build
CI draait deze checks automatisch: .github/workflows/ci.yml op elke push/PR en .github/workflows/release.yml vóór publicatie.
De server praat via stdio met een MCP-client. Voor een snelle handmatige controle kun je hem direct starten en hem JSON-RPC-berichten op stdin sturen:
# Start de server (met een geldige ga_live_/ga_test_ key)
API_KEY="ga_test_1234567890" node dist/bin.js
Stuur vervolgens bijvoorbeeld deze regel naar stdin:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"cli","version":"1.0.0"}}}
Alle logregels verschijnen op stderr; stdout bevat uitsluitend JSON-RPC. Zo zie je direct of de server correct opstart en welke tools beschikbaar zijn.
Gebruik de configuratie onder MCP Server configuratie. De client start de server zelf via stdio (command: "npx") en geeft de API-key via env mee; er is geen poort of URL nodig.
Zie de CHANGELOG voor een lijst van updates en verbeteringen.
MIT License - zie LICENSE voor details.
Voor vragen, bugs en suggesties, neem contact op via:
Let op: Deze server werkt alleen met een actieve GetApi API-key. Zonder geldige API-key werkt de server niet.