RDW MCP Server
Servidor MCP RDW
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-server→rdw-mcpNPX (sin instalación):
npx rdw-mcp-serverDesarrollo local: Clona el repositorio →
npm install→npm run build→node build/index.jsRemoto (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-serverDespués de la instalación global, puedes ejecutar el servidor directamente:
rdw-mcpUsando NPX (ejecutar sin instalar)
npx rdw-mcp-serverEsto 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.jsUso
Como comando global
Después de la instalación global, inicia el servidor MCP:
Modo Stdio (predeterminado):
rdw-mcpModo HTTP:
rdw-mcp --http # Runs on port 3000
rdw-mcp --http --port=8080 # Custom portEl 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 MCPComprobación de salud:
GET /health- Estado del servidor e información de versiónSoporte 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.jsModo de desarrollo
Para desarrollo con reconstrucción automática:
npm run devDesplegar 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)
Haz un fork o sube este repositorio a tu propia cuenta de GitHub.
En el panel de Cloudflare: Workers & Pages → Create → Import a Git repository.
Autoriza la aplicación de GitHub de Cloudflare (clic OAuth único) y selecciona tu repositorio.
Cloudflare detecta automáticamente
wrangler.jsoncy rellena previamente el comando de compilación/despliegue. Haz clic en Save and Deploy.Cloudflare ejecuta
npm install+wrangler deployen la nube y te da una URL en vivo, por ejemplohttps://rdw-mcp-worker.<your-subdomain>.workers.dev.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:8787Verifica 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 deployAñadirlo a claude.ai
claude.ai → Settings → Connectors → Add custom connector.
Pega tu URL desplegada con la ruta
/mcp, por ejemplohttps://rdw-mcp-worker.<your-subdomain>.workers.dev/mcp.Deja los campos OAuth Client ID/Secret en blanco - este servidor no requiere autenticación.
Haz clic en Add, luego actívalo mediante + → Connectors en una conversación.
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 paqueteagents), 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 especificacionesCombustible y emisiones: Conjunto de datos
8ys7-d773- Tipos de combustible, emisiones y datos ambientalesInformes APK / Inspección: Conjunto de datos
sgfe-77wx("Meldingen Keuringsinstantie") - Historial de informes de inspección periódica y fechas de caducidad de APK resultantesHistorial de registro: Conjunto de datos
db8s-mw3u("Kenteken-tenaamstelling") - Historial de cambios de registro/propiedadEspecificaciones de ejes: Conjunto de datos
3huj-srit- Especificaciones técnicas de carga por ejeTipos de carrocería: Conjunto de datos
vezc-m2t6- Clasificaciones de carrocería y tipo de cuerpoDefectos 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 --versionIntenta 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-mcpfunciona en la terminalSi usas npx, asegúrate de que
npx rdw-mcp-serverfunciona en la terminalReinicia 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:
Revisa la salida de la consola para ver mensajes de error
Verifica que el formato de tu matrícula cumple con los estándares neerlandeses
Prueba con matrículas válidas conocidas
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
Clona el repositorio:
git clone https://github.com/jodur/rdw-mcp-server.git cd rdw-mcp-serverInstala las dependencias:
npm installCompila 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) owrangler 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 existeque resultaron ser incorrectas). Verificado en vivo contraopendata.rdw.nly 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
/mcpy comprobación/healthLínea de comandos: Se añadieron los argumentos
--httpy--port=Npara el modo HTTPSoporte 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) aserver.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
Aviso Legal
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables 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.6611MIT
- FlicenseNot gradedqualityDmaintenanceProvides Brazilian vehicle price information using FIPE API, enabling users to get car brands, search car prices by brand, and get vehicles by type.
- FlicenseNot gradedqualityDmaintenanceProvides real-time Dutch Railways (NS) data for journey planning, live departures, disruptions, and station search.3
- AlicenseAqualityAmaintenanceEnables 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.9MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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