Skip to main content
Glama
jodur

RDW MCP Server

by jodur

Servidor MCP RDW

npm version License: MIT

Un servidor de Protocolo de Contexto de Modelo (MCP) para consultar datos de registro de vehículos de la RDW neerlandesa (Rijksdienst voor het Wegverkeer). Dada una matrícula (kenteken), devuelve especificaciones del vehículo, datos de combustible/emisiones, historial de APK/inspección, historial de registro/propiedad, especificaciones de ejes y carrocería, códigos de defectos y estado de retirada abierta, todo desde la API oficial de datos abiertos de RDW. Ejecútalo localmente mediante stdio/npx, o despliégalo como servidor MCP remoto en Cloudflare Workers y conéctalo directamente a claude.ai.

Inicio rápido

Elige tu método preferido:

  • Instalación global (recomendado): npm install -g rdw-mcp-serverrdw-mcp

  • NPX (sin instalación): npx rdw-mcp-server

  • Desarrollo local: Clona el repositorio → npm installnpm run buildnode build/index.js

  • Remoto (Cloudflare Workers): Sin proceso local en absoluto: despliega una vez, conéctate desde claude.ai como conector personalizado. Ver Desplegar como servidor MCP remoto.

Prueba la instalación:

rdw-mcp        # if globally installed
# OR
npx rdw-mcp-server  # if using npx

(Presiona Ctrl+C para detener)

Añádelo a Claude Desktop (ver sección de Configuración más abajo)

Empieza a hacer preguntas como:

  • "Busca la matrícula 12-ABC-3"

  • "Muéstrame el historial de APK y cualquier defecto técnico para kenteken 1-ABC-23"

Related MCP server: Car Price MCP Server

Características

  • Búsqueda completa de matrícula: Obtén información disponible del vehículo de las bases de datos de RDW mediante la matrícula neerlandesa (kenteken)

  • Datos completos del vehículo: Especificaciones básicas, detalles técnicos, pesos, dimensiones e información de registro

  • Combustible y emisiones integrados: Tipo de combustible detallado, emisiones, especificaciones ambientales y niveles de sonido

  • Historial de inspección APK: Historial de informes de inspección periódica y fechas de caducidad de APK resultantes

  • Historial de registro: Historial de cambios de propiedad/registro

  • Especificaciones técnicas: Cargas por eje, tipos de carrocería y datos técnicos detallados

  • Registros de defectos: Códigos de defectos encontrados durante las inspecciones

  • Estado de retirada abierta: Si el vehículo tiene actualmente una retirada de fabricante abierta

  • Datos en tiempo real: Accede a información actualizada de las bases de datos oficiales de RDW

  • Remoto o local: Ejecútalo localmente mediante stdio/npx, o despliégalo como servidor MCP remoto serverless en Cloudflare Workers - ver Desplegar como servidor MCP remoto

Instalación

Instalación global (recomendado para uso CLI)

npm install -g rdw-mcp-server

Después de la instalación global, puedes ejecutar el servidor directamente:

rdw-mcp

Usando NPX (ejecutar sin instalar)

npx rdw-mcp-server

Esto ejecuta el paquete directamente sin instalarlo globalmente.

Desde el código fuente (desarrollo local)

git clone https://github.com/yourusername/rdw-mcp-server.git
cd rdw-mcp-server
npm install
npm run build
node build/index.js

Uso

Como comando global

Después de la instalación global, inicia el servidor MCP:

Modo Stdio (predeterminado):

rdw-mcp

Modo HTTP:

rdw-mcp --http          # Runs on port 3000
rdw-mcp --http --port=8080  # Custom port

El servidor admite tanto transporte stdio como HTTP:

  • Stdio: Para integración directa con línea de comandos y Claude Desktop

  • HTTP: Para acceso remoto, integraciones web y despliegues escalables

Características del transporte HTTP

Cuando se ejecuta en modo HTTP (--http), el servidor proporciona:

  • Endpoint MCP: POST /mcp - Endpoint principal del protocolo MCP

  • Comprobación de salud: GET /health - Estado del servidor e información de versión

  • Soporte CORS: Solicitudes entre orígenes habilitadas para integraciones web

  • Diseño sin estado: Sin gestión de sesiones, perfecto para escalar

  • Manejo de errores: Códigos de estado HTTP adecuados y respuestas de error JSON-RPC

Ejemplo de uso HTTP:

# Start HTTP server
rdw-mcp --http --port=3000

# Health check
curl http://localhost:3000/health

# MCP requests (requires proper JSON-RPC format)
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

En la configuración del cliente MCP (VS Code)

El soporte MCP de VS Code (.vscode/mcp.json) utiliza una clave servers con un type explícito:

Usando instalación global (recomendado):

{
  "servers": {
    "rdw": {
      "type": "stdio",
      "command": "rdw-mcp"
    }
  }
}

Usando npx (alternativa):

{
  "servers": {
    "rdw": {
      "type": "stdio",
      "command": "npx",
      "args": ["rdw-mcp-server"]
    }
  }
}

Para Claude Desktop, usa la clave mcpServers que se muestra en Configuración para Claude Desktop a continuación.

Modo de desarrollo local

Para desarrollo local desde el código fuente:

git clone https://github.com/yourusername/rdw-mcp-server.git
cd rdw-mcp-server
npm install
npm run build
node build/index.js

Modo de desarrollo

Para desarrollo con reconstrucción automática:

npm run dev

Desplegar como servidor MCP remoto (Cloudflare Workers)

Este repositorio también incluye un punto de entrada de Cloudflare Worker (src/worker.ts) que expone la misma herramienta rdw-license-plate-lookup como servidor MCP remoto - sin proceso local, sin túnel, sin contenedor. Dado que esta herramienta solo actúa como proxy de datos abiertos públicos de RDW (sin secretos, sin datos de usuario), se puede añadir a claude.ai sin OAuth.

Esto es completamente aditivo: la configuración existente de npx rdw-mcp-server / Claude Desktop stdio descrita anteriormente no se ve afectada.

Opción A: Desplegar mediante el panel de Cloudflare (sin CLI local requerido)

  1. Haz un fork o sube este repositorio a tu propia cuenta de GitHub.

  2. En el panel de Cloudflare: Workers & Pages → Create → Import a Git repository.

  3. Autoriza la aplicación de GitHub de Cloudflare (clic OAuth único) y selecciona tu repositorio.

  4. Cloudflare detecta automáticamente wrangler.jsonc y rellena previamente el comando de compilación/despliegue. Haz clic en Save and Deploy.

  5. Cloudflare ejecuta npm install + wrangler deploy en la nube y te da una URL en vivo, por ejemplo https://rdw-mcp-worker.<your-subdomain>.workers.dev.

  6. Cada push futuro a la rama conectada se reconstruye y se vuelve a desplegar automáticamente.

Opción B: Desplegar localmente con Wrangler

npm install
npm run cf:dev          # local Worker at http://localhost:8787

Verifica localmente con el Inspector MCP:

npx @modelcontextprotocol/inspector
# connect to http://localhost:8787/mcp (Streamable HTTP) or http://localhost:8787/sse (SSE)

Luego despliega:

npx wrangler login   # first time only
npm run deploy

Añadirlo a claude.ai

  1. claude.ai → Settings → Connectors → Add custom connector.

  2. Pega tu URL desplegada con la ruta /mcp, por ejemplo https://rdw-mcp-worker.<your-subdomain>.workers.dev/mcp.

  3. Deja los campos OAuth Client ID/Secret en blanco - este servidor no requiere autenticación.

  4. Haz clic en Add, luego actívalo mediante + → Connectors en una conversación.

  5. Prueba: "Busca la matrícula 12-ABC-3".

Notas

  • El Worker es público una vez desplegado - cualquiera con la URL puede llamar a la búsqueda de RDW a través de él. Eso está bien dado que solo actúa como proxy de datos de RDW ya públicos sin autenticación en el lado de RDW tampoco, pero tenlo en cuenta antes de añadir acciones de escritura o datos privados en el futuro (en ese punto, añade un proveedor OAuth).

  • El Worker usa McpAgent (del paquete agents), que está respaldado por Durable Objects y expone tanto /mcp (HTTP Streamable) como /sse (SSE heredado) para una amplia compatibilidad de clientes.

Herramienta disponible

rdw-license-plate-lookup

Busca información del vehículo en las bases de datos de RDW mediante la matrícula neerlandesa.

Parámetros:

  • kenteken (cadena): Matrícula neerlandesa a buscar

Devuelve:

  • Información del vehículo de las bases de datos de RDW, incluyendo:

    • Detalles básicos: Marca, modelo, color, tipo, variante, versión

    • Especificaciones técnicas: Motor, potencia, dimensiones, cilindros, cilindrada

    • Peso y capacidad: Peso en vacío, peso en orden de marcha, capacidad de remolque, cargas por eje

    • Datos de registro: Primera matriculación, historial de cambios de registro/propiedad, homologación de tipo

    • Registros de inspección: Fecha de caducidad de APK, historial de informes de inspección periódica, códigos de defectos encontrados

    • Combustible y emisiones: Tipo de combustible, niveles de emisiones, clase CO2, niveles de sonido

    • Información de seguridad: Estado de retirada abierta (los datos abiertos de RDW no exponen el historial de retiradas por vehículo, solo si hay una retirada actualmente abierta)

    • Especificaciones de carrocería: Tipo de carrocería, clasificaciones europeas

    • Datos financieros: Precio de catálogo, información de impuesto BPM

    • Indicadores de estado: Estado de exportación, indicador de taxi, estado de seguro

Ejemplo: Busca la matrícula "12-ABC-3" para obtener información completa de la base de datos de RDW

Requisitos

  • Node.js: Versión 18.0.0 o superior

  • npm: Versión 8.0.0 o superior (viene con Node.js)

  • Conexión a Internet: Necesaria para acceder a la API de RDW

Configuración para Claude Desktop

Para usar este servidor MCP con Claude Desktop, añade lo siguiente a tu claude_desktop_config.json:

Usando instalación global (recomendado)

Si instalaste globalmente con npm install -g rdw-mcp-server:

{
  "mcpServers": {
    "rdw": {
      "command": "rdw-mcp"
    }
  }
}

Usando NPX (alternativa)

Si prefieres no instalar globalmente:

{
  "mcpServers": {
    "rdw": {
      "command": "npx",
      "args": ["rdw-mcp-server"]
    }
  }
}

Solo modo de desarrollo

Para desarrollo con código fuente local:

Windows

{
  "mcpServers": {
    "rdw": {
      "command": "node",
      "args": ["C:\\ABSOLUTE\\PATH\\TO\\rdw-mcp\\build\\index.js"]
    }
  }
}

macOS/Linux

{
  "mcpServers": {
    "rdw": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/rdw-mcp/build/index.js"]
    }
  }
}

Fuentes de datos

Este servidor utiliza las API de datos abiertos oficiales de RDW (autoridad neerlandesa de vehículos), verificadas en vivo contra opendata.rdw.nl:

  • API base: https://opendata.rdw.nl/resource/

  • Registro de vehículos: Conjunto de datos m9d7-ebf2 - Información básica del vehículo y especificaciones

  • Combustible y emisiones: Conjunto de datos 8ys7-d773 - Tipos de combustible, emisiones y datos ambientales

  • Informes APK / Inspección: Conjunto de datos sgfe-77wx ("Meldingen Keuringsinstantie") - Historial de informes de inspección periódica y fechas de caducidad de APK resultantes

  • Historial de registro: Conjunto de datos db8s-mw3u ("Kenteken-tenaamstelling") - Historial de cambios de registro/propiedad

  • Especificaciones de ejes: Conjunto de datos 3huj-srit - Especificaciones técnicas de carga por eje

  • Tipos de carrocería: Conjunto de datos vezc-m2t6 - Clasificaciones de carrocería y tipo de cuerpo

  • Defectos técnicos: Conjunto de datos a34c-vvps ("Geconstateerde Gebreken") - Códigos de defectos encontrados durante las inspecciones

Nota: Los datos abiertos de RDW no exponen un conjunto de datos de retiradas por vehículo (solo un catálogo general de campañas de retirada sin campo de matrícula) ni un conjunto de datos separado de historial de colores por vehículo - los colores ya están cubiertos por el registro base del vehículo. El estado de retirada abierta proviene de un indicador en el registro base del vehículo.

Todos los datos se obtienen en tiempo real de fuentes gubernamentales oficiales y están disponibles públicamente.

Privacidad y uso de datos

  • Sin almacenamiento de datos: Este servidor no almacena ningún dato de vehículo localmente

  • Consultas en tiempo real: Todas las solicitudes se reenvían directamente a las API de RDW

  • Solo datos públicos: Solo se accede a datos de registro disponibles públicamente

  • Sin autenticación: No se requiere ni procesa ningún dato personal o sensible

Limitación de velocidad

La API de RDW puede imponer límites de velocidad. Si encuentras limitación de velocidad:

  • Espera unos segundos entre solicitudes

  • Evita hacer solicitudes masivas en rápida sucesión

  • Considera implementar retrasos en la lógica de tu aplicación

Ejemplos de consultas

Una vez conectado a un cliente MCP como Claude Desktop, puedes hacer preguntas como:

Información completa del vehículo:

  • "Busca la matrícula 12-ABC-3"

  • "¿Qué información está disponible para kenteken XYZ-123?"

  • "Cuéntame sobre el vehículo con matrícula 1-ABC-23"

  • "Muéstrame todos los datos de la matrícula ABC-12-D"

  • "Obtén información completa de RDW para kenteken DEF-456"

Solicitudes de información específica:

  • "¿Cuáles son los datos de emisiones para kenteken ABC-12-D?"

  • "Muéstrame el historial de APK para la matrícula XYZ-456"

  • "¿Hay alguna retirada para el vehículo 12-ABC-3?"

  • "¿Cuál es el historial de registro de kenteken DEF-456?"

  • "Muéstrame defectos técnicos para la matrícula GHI-789"

Detalles técnicos y de seguridad:

  • "¿Cuál es la capacidad de remolque del vehículo 12-ABC-3?"

  • "Muéstrame especificaciones de ejes para kenteken XYZ-456"

  • "¿Hay alguna retirada abierta para la matrícula ABC-12-D?"

  • "¿Qué defectos se encontraron durante las inspecciones para kenteken DEF-456?"

  • "Muéstrame el historial completo de inspecciones para la matrícula GHI-789"

Detalles técnicos

  • Lenguaje: TypeScript

  • Runtime: Node.js (stdio / HTTP) o Cloudflare Workers (MCP remoto)

  • Protocolo: Protocolo de Contexto de Modelo (MCP)

  • Transporte: Entrada/Salida estándar (stdio), HTTP Streamable o SSE (despliegue en Cloudflare Workers)

  • Validación: Esquemas Zod para validación de entrada

  • API: Llamadas RESTful a los endpoints de datos abiertos de RDW

Manejo de errores

El servidor incluye manejo integral de errores para:

  • Matrículas no válidas (formato incorrecto o inexistentes)

  • Problemas de conectividad de red

  • Limitación de velocidad de API y tiempos de espera

  • Datos faltantes o malformados de la API de RDW

  • Parámetros de búsqueda no válidos

Solución de problemas

Problemas comunes

El servidor no se inicia:

  • Asegúrate de que la versión de Node.js sea 18.0.0 o superior: node --version

  • Intenta reinstalar: npm uninstall -g rdw-mcp-server && npm install -g rdw-mcp-server

No se devolvieron datos:

  • Comprueba tu conexión a internet

  • Verifica el formato de la matrícula (matrículas neerlandesas: XX-XXX-X, XXX-XX-X, etc.)

  • Algunos vehículos más antiguos pueden no tener datos completos en la base de datos de RDW

Problemas de conexión con Claude Desktop:

  • Verifica que tu configuración coincide con el método de instalación (global vs npx)

  • Si usas la instalación global, asegúrate de que el comando rdw-mcp funciona en la terminal

  • Si usas npx, asegúrate de que npx rdw-mcp-server funciona en la terminal

  • Reinicia Claude Desktop después de los cambios de configuración

  • Para configuraciones de desarrollo, asegúrate de que la ruta absoluta y el directorio de compilación son correctos

Obtener Ayuda

Si encuentras problemas:

  1. Revisa la salida de la consola para ver mensajes de error

  2. Verifica que el formato de tu matrícula cumple con los estándares neerlandeses

  3. Prueba con matrículas válidas conocidas

  4. Asegúrate de tener una conexión a internet activa

Licencia

MIT

Contribuciones

¡Las contribuciones son bienvenidas! Este servidor MCP se puede ampliar con conjuntos de datos o funcionalidades adicionales de RDW.

Configuración de Desarrollo

  1. Clona el repositorio:

    git clone https://github.com/jodur/rdw-mcp-server.git
    cd rdw-mcp-server
  2. Instala las dependencias:

    npm install
  3. Compila y prueba:

    npm run build
    npm start

Conjuntos de Datos RDW Disponibles

RDW proporciona muchos más conjuntos de datos que podrían integrarse, más allá de los ya utilizados anteriormente:

  • Registros de taxis y autobuses

  • Variantes técnicas específicas de combustible

  • Historial de importación/exportación de vehículos

Estilo de Código

  • Usa TypeScript con tipado estricto

  • Sigue los patrones de código existentes

  • Añade comentarios JSDoc para todas las funciones

  • Usa Zod para la validación de entradas

  • Incluye un manejo de errores adecuado

Registro de Cambios

Versión 2.3.0

  • NUEVO: Servidor MCP remoto en Cloudflare Workers: Se añadió src/worker.ts, desplegable a través del panel de Cloudflare (integración con Git, sin necesidad de CLI) o wrangler deploy. Expone /mcp (HTTP Streamable) y /sse, sin autenticación: conéctalo directamente desde claude.ai como conector personalizado.

  • Lógica de herramientas compartida: Se extrajo la herramienta de consulta RDW a src/rdw-lib.ts, importada sin cambios tanto por el punto de entrada de Node como por el Worker: sin lógica duplicada, sin cambios de comportamiento en la distribución stdio/HTTP existente.

  • Brecha de datos corregida: La herramienta afirmaba anteriormente que devolvía el historial de APK, retiradas, historial de propiedad y defectos, pero nunca los obtenía realmente (suposiciones de endpoint no existe que resultaron ser incorrectas). Verificado en vivo contra opendata.rdw.nl y conectados los conjuntos de datos reales para el historial de APK/inspección (sgfe-77wx), historial de registro/propiedad (db8s-mw3u) y defectos encontrados (a34c-vvps).

  • Afirmaciones corregidas: La descripción de la herramienta y el README ya no afirman que existan datos de historial de retiradas o historial de color por vehículo que la API abierta de RDW no expone realmente: el estado de retirada ahora se describe con precisión como un indicador abierto/cerrado, no como un historial.

Versión 2.1.0

  • NUEVO TRANSPORTE: Se añadió soporte para transporte HTTP Streamable (sin estado)

  • Cumplimiento del SDK: Actualizado a los patrones modernos del SDK de MCP TypeScript

  • Funciones HTTP: Servidor Express.js con endpoint /mcp y comprobación /health

  • Línea de comandos: Se añadieron los argumentos --http y --port=N para el modo HTTP

  • Soporte CORS: Solicitudes de origen cruzado habilitadas para integraciones web

  • Diseño sin estado: Nueva instancia de servidor por solicitud, perfecto para escalar

  • API moderna: Actualizado de server.tool() (obsoleto) a server.registerTool()

  • Estructura mejorada: Mejor organización del código con funciones separadas

  • Transporte dual: Soporta tanto transporte stdio (predeterminado) como HTTP

Versión 2.0.0

  • GRAN MEJORA: Ahora consulta TODAS las bases de datos RDW disponibles en una sola búsqueda

  • Se añadió el historial y los registros de inspección APK

  • Se añadió información sobre retiradas de vehículos y acciones de seguridad

  • Se añadió el historial completo de registro/propiedad

  • Se añadieron especificaciones de carga por eje y datos técnicos

  • Se añadieron clasificaciones de tipo de carrocería y carrocería

  • Se añadieron registros de defectos técnicos y hallazgos de inspección

  • Se añadió información adicional sobre el color

  • Obtención de datos en paralelo mejorada para un mejor rendimiento

  • Datos completos del vehículo de más de 8 conjuntos de datos RDW

  • Descripción de la herramienta y documentación actualizadas

Versión 1.1.0

  • CAMBIO IMPORTANTE: Simplificado a una única herramienta de búsqueda integral

  • Se integraron todos los datos de combustible y emisiones en la búsqueda principal de matrículas

  • Se eliminaron las herramientas separadas de combustible/emisiones y búsqueda de vehículos

  • Visualización mejorada de datos de combustible/emisiones con códigos de emisión y emisiones de hollín

  • Mejorada la integridad de los datos en una sola consulta

Versión 1.0.2

  • Mejoras integrales del README para usuarios de npm

  • Instrucciones de instalación y uso mejoradas

  • Se añadieron secciones de solución de problemas y privacidad

  • Ejemplos de consultas y configuración de desarrollo mejorados

  • Corregidas las referencias en package.json a archivos de prueba eliminados

Versión 1.0.1

  • Salida de datos del vehículo mejorada

  • Normalización de matrículas mejorada

  • Manejo integral de errores añadido

  • Documentación mejorada

Versión 1.0.0

  • Lanzamiento inicial

  • Búsqueda básica de matrículas

  • Datos de combustible y emisiones

  • Búsqueda de vehículos por marca/modelo

Este servidor utiliza datos públicos de RDW y no está afiliado a la organización oficial RDW. Verifica siempre la información crítica del vehículo a través de canales oficiales.

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables access to comprehensive vehicle information including VIN decoding, license plate OCR, vehicle history checks (theft, title, salvage records), market valuations, specifications, and warranty data for vehicles across North America and Europe.
    6
    61
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides Brazilian vehicle price information using FIPE API, enabling users to get car brands, search car prices by brand, and get vehicles by type.
  • A
    license
    A
    quality
    A
    maintenance
    Enables accessing and querying Dutch government open datasets from CBS and data.overheid.nl, with tools for searching, filtering, downloading, and analyzing data using CSV, Parquet, DuckDB, or Pandas.
    9
    MIT

View all related MCP servers

Related MCP Connectors

  • VIN decoding and European vehicle data for automotive workflows.

  • Vehicle data for AI: VIN decoder, automotive specs, stolen checks, valuation and way more.

  • Car logo API and image CDN: search automotive brands, fetch brand data, and build logo CDN URLs.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jodur/RDW-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server