Enables searching for BMW vehicles registered in the Netherlands through the RDW (Dutch Vehicle Authority) database, providing access to vehicle information and specifications.
Serves as the runtime environment for the MCP server, enabling execution of the TypeScript code that interfaces with the RDW API.
Used as the programming language for implementing the MCP server's functionality, providing type safety for API interactions.
Allows querying for Volkswagen vehicles (including specific models like Golf) in the RDW database, retrieving registration data and vehicle specifications for vehicles in the Netherlands.
Employed for input validation of parameters passed to the MCP tools, ensuring proper data types and formats when querying the RDW API.
RDW MCP Server
A Model Context Protocol (MCP) server for querying Dutch RDW (Rijksdienst voor het Wegverkeer) vehicle registration data. This server provides tools to look up vehicle information, fuel/emissions data, and search vehicles by brand and model using the official RDW open data API.
Quick Start
- Install globally:
- Test the installation:(Press Ctrl+C to stop)
- Add to Claude Desktop (see Configuration section below)
- Start asking questions like:
- "Look up license plate 12-ABC-3"
- "Show me BMW vehicles"
Features
- License Plate Lookup: Get comprehensive vehicle information by Dutch license plate (kenteken)
- Fuel & Emissions Data: Retrieve detailed fuel type, emissions, and environmental specifications
- Vehicle Search: Search for vehicles by brand and optionally model name
- Real-time Data: Access up-to-date information from official RDW databases
- Enhanced Data: Detailed vehicle specifications including technical, financial, and inspection data
Installation
Global Installation (Recommended for CLI usage)
After global installation, you can run the server directly:
Local Installation (For development or custom usage)
Then run with:
From Source (Development)
Usage
As a Global Command
After global installation, start the MCP server:
The server will start and listen on stdio for MCP protocol messages.
In MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
If installed globally:
If installed locally:
Direct Node.js Usage
Development Mode
For development with auto-rebuild:
Available Tools
1. rdw-license-plate-lookup
Look up vehicle information by Dutch license plate.
Parameters:
kenteken
(string): Dutch license plate to look up
Example: Look up license plate "12-ABC-3"
2. rdw-fuel-emissions
Get fuel type and emissions data for a vehicle.
Parameters:
kenteken
(string): Dutch license plate to look up
Example: Get emissions data for "12-ABC-3"
3. rdw-vehicle-search
Search for vehicles by brand and optionally model.
Parameters:
brand
(string): Vehicle brand (e.g., "VOLKSWAGEN", "BMW")model
(string, optional): Vehicle model/trade namelimit
(number, optional): Maximum results (1-100, default 10)
Example: Search for BMW vehicles
Requirements
- Node.js: Version 18.0.0 or higher
- npm: Version 8.0.0 or higher (comes with Node.js)
- Internet connection: Required for accessing RDW API
Configuration for Claude Desktop
To use this MCP server with Claude Desktop, add the following to your claude_desktop_config.json
:
Windows
macOS/Linux
Data Sources
This server uses the official RDW (Dutch vehicle authority) open data APIs:
- Base API:
https://opendata.rdw.nl/resource/
- Vehicle Registration: Dataset
m9d7-ebf2
for basic vehicle information - Fuel & Emissions: Dataset
8ys7-d773
for fuel and emissions data
All data is retrieved in real-time from official government sources and is publicly available.
Privacy & Data Usage
- No Data Storage: This server does not store any vehicle data locally
- Real-time Queries: All requests are forwarded directly to RDW APIs
- Public Data Only: Only publicly available registration data is accessed
- No Authentication: No personal or sensitive data is required or processed
Rate Limiting
The RDW API may impose rate limits. If you encounter rate limiting:
- Wait a few seconds between requests
- Avoid making bulk requests in quick succession
- Consider implementing delays in your application logic
Example Queries
Once connected to an MCP client like Claude Desktop, you can ask questions like:
License Plate Lookups:
- "Look up license plate 12-ABC-3"
- "What information is available for kenteken XYZ-123?"
- "Tell me about the vehicle with plate 1-ABC-23"
Emissions and Fuel Data:
- "What are the emissions data for kenteken ABC-12-D?"
- "Show me fuel consumption for license plate XYZ-456"
- "What's the environmental category of vehicle 12-ABC-3?"
Vehicle Search:
- "Show me BMW vehicles registered in the Netherlands"
- "Find Volkswagen Golf models in the database"
- "Search for MERCEDES vehicles"
- "List Toyota Corolla vehicles"
Combined Queries:
- "Find BMW X5 vehicles and show their emissions data"
- "Search for electric vehicles by Tesla"
Technical Details
- Language: TypeScript
- Runtime: Node.js
- Protocol: Model Context Protocol (MCP)
- Transport: Standard I/O (stdio)
- Validation: Zod schemas for input validation
- API: RESTful calls to RDW open data endpoints
Error Handling
The server includes comprehensive error handling for:
- Invalid license plates (wrong format or non-existent)
- Network connectivity issues
- API rate limiting and timeouts
- Missing or malformed data from RDW API
- Invalid search parameters
Troubleshooting
Common Issues
Server not starting:
- Ensure Node.js version is 18.0.0 or higher:
node --version
- Try reinstalling:
npm uninstall -g rdw-mcp-server && npm install -g rdw-mcp-server
No data returned:
- Check your internet connection
- Verify the license plate format (Dutch plates: XX-XXX-X, XXX-XX-X, etc.)
- Some older vehicles may not have complete data in the RDW database
Claude Desktop connection issues:
- Ensure the absolute path in your configuration is correct
- Check that the build directory exists:
ls build/
ordir build\
- Restart Claude Desktop after configuration changes
Getting Help
If you encounter issues:
- Check the console output for error messages
- Verify your license plate format matches Dutch standards
- Test with known valid license plates
- Ensure you have an active internet connection
License
MIT
Contributing
Contributions are welcome! This MCP server can be extended with additional RDW datasets or functionality.
Development Setup
- Clone the repository:
- Install dependencies:
- Build and test:
Available RDW Datasets
The RDW provides many more datasets that could be integrated:
- APK (MOT) inspection results
- Vehicle recalls
- Taxi and bus registrations
- Vehicle ownership changes
- Technical defects data
Code Style
- Use TypeScript with strict typing
- Follow existing code patterns
- Add JSDoc comments for all functions
- Use Zod for input validation
- Include proper error handling
Changelog
Version 1.0.2
- Comprehensive README improvements for npm users
- Enhanced installation and usage instructions
- Added troubleshooting and privacy sections
- Improved example queries and development setup
- Fixed package.json references to removed test files
Version 1.0.1
- Enhanced vehicle data output
- Improved license plate normalization
- Added comprehensive error handling
- Enhanced documentation
Version 1.0.0
- Initial release
- Basic license plate lookup
- Fuel and emissions data
- Vehicle search by brand/model
Disclaimer
This server uses public RDW data and is not affiliated with the official RDW organization. Always verify critical vehicle information through official channels.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Provides tools to query Dutch vehicle registration data through the official RDW open API, allowing users to look up vehicle information by license plate, retrieve fuel/emissions data, and search vehicles by brand and model.
Related MCP Servers
- AsecurityAlicenseAqualityAllows you to search for artworks, retrieve detailed information about specific artworks, access image tiles for artworks, and explore user-created collections from the Rijksmuseum.Last updated -71222JavaScriptMIT License
- -securityFlicense-qualityEnables AI agents to perform WHOIS lookups to retrieve domain registration details, including ownership, registration dates, and availability status without requiring browser searches.Last updated -22JavaScript
- -securityAlicense-qualityReal-time hydrological information retrieval service that provides water level, precipitation, dam discharge data, and observatory location information.Last updated -PythonApache 2.0
- -securityAlicense-qualityA bridge between large language models and Dutch parliamentary data, providing access to Dutch parliamentary documents, debates, and member information from the Tweede Kamer.Last updated -1212MIT License