🚀 RDW MCP Server
オランダのRDW(Rijksdienst voor het Wegverkeer)の車両登録データを照会するためのモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、公式のRDWオープンデータAPIを使用して、車両情報、燃料/排出ガスデータの検索、ブランドやモデルでの車両検索を行うツールを提供します。
🚀 クイックスタート
好みの方法を選択してください:
- グローバルインストール(推奨):
npm install -g rdw-mcp-server → rdw-mcp
- NPX(インストール不要):
npx rdw-mcp-server
- ローカル開発: リポジトリをクローン →
npm install → npm run build → node build/index.js
インストールをテストする:
rdw-mcp
npx rdw-mcp-server
(Ctrl+Cを押して停止)
Claude Desktopに追加する(下記の設定セクションを参照)
次のような質問を始めることができます:
- "ナンバープレート12-ABC-3を検索して"
- "BMWの車両を表示して"
✨ 主な機能
- 完全なナンバープレート検索:オランダのナンバープレート(kenteken)で、RDWデータベースから利用可能なすべての車両情報を取得
- 包括的な車両データ:基本仕様、技術詳細、重量、寸法、登録情報
- 統合された燃料と排出ガス情報:詳細な燃料タイプ、排出ガス、環境仕様、音レベル
- APK検査履歴:完全なAPK(MOT)検査記録と有効期限
- 安全性とリコール情報:車両のリコール情報と安全対策通知
- 登録履歴:完全な所有権と登録変更履歴
- 技術仕様:車軸荷重、車体タイプ、詳細な技術データ
- 欠陥記録:既知の技術的欠陥と検査結果
- リアルタイムデータ:すべての公式RDWデータベースから最新の情報にアクセス
- 拡張されたカバレッジ:一度の検索で8つ以上の異なるRDWデータセットからのデータを取得
📦 インストール
グローバルインストール(CLIでの使用に推奨)
npm install -g rdw-mcp-server
グローバルインストール後、サーバーを直接実行できます:
rdw-mcp
NPXを使用する(インストールせずに実行)
npx rdw-mcp-server
これにより、グローバルにインストールせずにパッケージを直接実行できます。
ソースからのインストール(ローカル開発用)
git clone https://github.com/yourusername/rdw-mcp-server.git
cd rdw-mcp-server
npm install
npm run build
node build/index.js
💻 使用例
基本的な使用法
グローバルインストール後、MCPサーバーを起動します:
標準入出力モード(デフォルト):
rdw-mcp
HTTPモード:
rdw-mcp --http
rdw-mcp --http --port=8080
サーバーは標準入出力とHTTPの両方のトランスポートをサポートします:
- 標準入出力:直接のコマンドラインとClaude Desktopの統合に使用
- HTTP:リモートアクセス、Web統合、拡張可能なデプロイメントに使用
HTTPトランスポートの機能
HTTPモード(--http)で実行すると、サーバーは次の機能を提供します:
- MCPエンドポイント:
POST /mcp - 主要なMCPプロトコルエンドポイント
- ヘルスチェック:
GET /health - サーバーの状態とバージョン情報
- CORSサポート:Web統合のためにクロスオリジンリクエストが有効になっています
- ステートレス設計:セッション管理がなく、スケーリングに最適
- エラーハンドリング:適切なHTTPステータスコードとJSON-RPCエラーレスポンス
HTTP使用例:
rdw-mcp --http --port=3000
curl http://localhost:3000/health
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
MCPクライアント設定
MCPクライアント設定(例:Claude Desktop)に追加します:
グローバルインストールを使用する場合(推奨):
{
"servers": {
"rdw": {
"command": "rdw-mcp"
}
}
}
npxを使用する場合(代替案):
{
"servers": {
"rdw": {
"command": "npx",
"args": ["rdw-mcp-server"]
}
}
}
ローカル開発モード
ソースからローカル開発を行う場合:
git clone https://github.com/yourusername/rdw-mcp-server.git
cd rdw-mcp-server
npm install
npm run build
node build/index.js
開発モード
自動再構築を行う開発用:
npm run dev
利用可能なツール
rdw-license-plate-lookup
オランダのナンバープレートで、RDWデータベースから利用可能なすべての車両情報を検索します。
パラメーター:
kenteken(文字列): 検索するオランダのナンバープレート
戻り値:
- すべてのRDWデータベースからの完全な車両情報で、以下を含みます:
- 基本詳細:ブランド、モデル、色、タイプ、バリアント、バージョン
- 技術仕様:エンジン、出力、寸法、シリンダー数、排気量
- 重量と容量:空車重量、整備重量、牽引能力、車軸荷重
- 登録データ:最初の登録日、所有権履歴、型式承認
- 検査記録:APK有効期限、検査履歴、技術的欠陥
- 燃料と排出ガス:燃料タイプ、排出ガスレベル、CO2クラス、音レベル
- 安全情報:リコール通知、安全対策、未解決のリコール
- 車体仕様:車体タイプ、欧州分類
- 財務データ:カタログ価格、BPM税情報
- ステータスインジケーター:輸出ステータス、タクシーインジケーター、保険ステータス
例:ナンバープレート "12-ABC-3" を検索して、RDWデータベースの完全な情報を取得
必要条件
- Node.js:バージョン18.0.0以上
- npm:バージョン8.0.0以上(Node.jsに付属)
- インターネット接続:RDW APIにアクセスするために必要
Claude Desktopの設定
このMCPサーバーをClaude Desktopで使用するには、claude_desktop_config.jsonに以下を追加します:
グローバルインストールを使用する場合(推奨)
npm install -g rdw-mcp-server でグローバルにインストールした場合:
{
"mcpServers": {
"rdw": {
"command": "rdw-mcp"
}
}
}
NPXを使用する場合(代替案)
グローバルにインストールしない場合:
{
"mcpServers": {
"rdw": {
"command": "npx",
"args": ["rdw-mcp-server"]
}
}
}
開発モードのみ
ローカルソースコードで開発する場合:
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"]
}
}
}
データソース
このサーバーは、すべての主要な公式RDW(オランダの車両当局)のオープンデータAPIを使用しています:
- 基本API:
https://opendata.rdw.nl/resource/
- 車両登録:データセット
m9d7-ebf2 - 基本的な車両情報と仕様
- 燃料と排出ガス:データセット
8ys7-d773 - 燃料タイプ、排出ガス、環境データ
- APK検査:データセット
2wi1-7t2k - APK(MOT)検査履歴と有効期限
- リコールと安全性:データセット
j3wq-qf4v - 車両のリコールと安全対策通知
- 車軸仕様:データセット
3huj-srit - 技術的な車軸荷重仕様
- 車体タイプ:データセット
vezc-m2t6 - 車体と車体タイプの分類
- 車両の色:データセット
t8be-g8yr - 追加の色情報
- 技術的欠陥:データセット
hx2c-gt41 - 既知の欠陥と検査結果
すべてのデータは、公式の政府ソースからリアルタイムで取得され、公開されています。
プライバシーとデータ使用
- データの保存なし:このサーバーは車両データをローカルに保存しません
- リアルタイムクエリ:すべてのリクエストは直接RDW APIに転送されます
- 公開データのみ:公開されている登録データのみにアクセスします
- 認証不要:個人または機密データは必要とせず、処理もしません
レート制限
RDW APIにはレート制限が設定されている場合があります。レート制限に遭遇した場合は:
- リクエスト間に数秒待機する
- 連続して大量のリクエストを行わない
- アプリケーションロジックに遅延を実装することを検討する
例のクエリ
Claude DesktopのようなMCPクライアントに接続したら、次のような質問をすることができます:
完全な車両情報:
- "ナンバープレート12-ABC-3を検索して"
- "kenteken XYZ-123に関する利用可能な情報は何ですか?"
- "ナンバープレート1-ABC-23の車両について教えて"
- "ナンバープレートABC-12-Dのすべてのデータを表示して"
- "kenteken DEF-456の完全なRDW情報を取得して"
特定の情報要求:
- "kenteken ABC-12-Dの排出ガスデータは何ですか?"
- "ナンバープレートXYZ-456のAPK履歴を表示して"
- "車両12-ABC-3にリコールはありますか?"
- "kenteken DEF-456の登録履歴は何ですか?"
- "ナンバープレートGHI-789の技術的欠陥を表示して"
技術と安全の詳細:
- "車両12-ABC-3の牽引能力は何ですか?"
- "kenteken XYZ-456の車軸仕様を表示して"
- "ナンバープレートABC-12-Dに未解決のリコールはありますか?"
- "kenteken DEF-456の検査中に見つかった欠陥は何ですか?"
- "ナンバープレートGHI-789の完全な検査履歴を表示して"
🔧 技術詳細
- 言語:TypeScript
- ランタイム:Node.js
- プロトコル:モデルコンテキストプロトコル(MCP)
- トランスポート:標準入出力(stdio)
- 検証:入力検証にZodスキーマを使用
- API:RDWオープンデータエンドポイントへのRESTful呼び出し
エラーハンドリング
サーバーには、次のような包括的なエラーハンドリングが含まれています:
- 無効なナンバープレート(形式が間違っているか存在しない)
- ネットワーク接続問題
- APIのレート制限とタイムアウト
- RDW APIからの欠落または不正なデータ
- 無効な検索パラメーター
トラブルシューティング
一般的な問題
サーバーが起動しない場合:
- Node.jsのバージョンが18.0.0以上であることを確認:
node --version
- 再インストールを試す:
npm uninstall -g rdw-mcp-server && npm install -g rdw-mcp-server
データが返されない場合:
- インターネット接続を確認する
- ナンバープレートの形式を確認する(オランダのナンバープレート:XX-XXX-X、XXX-XX-Xなど)
- 一部の古い車両はRDWデータベースに完全なデータがない場合があります
Claude Desktopの接続問題:
- 設定がインストール方法(グローバル vs npx)と一致していることを確認する
- グローバルインストールを使用している場合、
rdw-mcp コマンドがターミナルで動作することを確認する
- npxを使用している場合、
npx rdw-mcp-server がターミナルで動作することを確認する
- 設定変更後にClaude Desktopを再起動する
- 開発環境の場合、絶対パスとビルドディレクトリが正しいことを確認する
ヘルプを得る
問題に遭遇した場合は:
- コンソール出力のエラーメッセージを確認する
- ナンバープレートの形式がオランダの標準に一致していることを確認する
- 既知の有効なナンバープレートでテストする
- アクティブなインターネット接続があることを確認する
📄 ライセンス
MIT
コントリビューション
コントリビューションは大歓迎です!このMCPサーバーは、追加のRDWデータセットや機能で拡張することができます。
開発セットアップ
-
リポジトリをクローンする:
git clone https://github.com/jodur/rdw-mcp-server.git
cd rdw-mcp-server
-
依存関係をインストールする:
npm install
-
ビルドとテスト:
npm run build
npm start
利用可能なRDWデータセット
RDWは、統合できるさらに多くのデータセットを提供しています:
- APK(MOT)検査結果
- 車両のリコール
- タクシーとバスの登録
- 車両の所有権変更
- 技術的欠陥データ
コードスタイル
- 厳格な型付けでTypeScriptを使用する
- 既存のコードパターンに従う
- すべての関数にJSDocコメントを追加する
- 入力検証にZodを使用する
- 適切なエラーハンドリングを含める
変更履歴
バージョン2.1.0
- 新しいトランスポート:Streamable HTTPトランスポートのサポートを追加(ステートレス)
- SDK互換性:最新のMCP TypeScript SDKパターンに更新
- HTTP機能:
/mcp エンドポイントと /health チェックを持つExpress.jsサーバー
- コマンドライン:HTTPモードのための
--http と --port=N 引数を追加
- CORSサポート:Web統合のためにクロスオリジンリクエストを有効にする
- ステートレス設計:リクエストごとに新しいサーバーインスタンスを作成し、スケーリングに最適
- 最新のAPI:廃止された
server.tool() から server.registerTool() に更新
- 拡張された構造:関数を分離することでコードの組織性を向上
- デュアルトランスポート:標準入出力(デフォルト)とHTTPの両方のトランスポートをサポート
バージョン2.0.0
- 主要な機能強化:一度の検索ですべての利用可能なRDWデータベースを照会するようになりました
- APK検査履歴と記録を追加
- 車両のリコールと安全対策情報を追加
- 完全な登録/所有権履歴を追加
- 車軸荷重仕様と技術データを追加
- 車体タイプと車体分類を追加
- 技術的欠陥記録と検査結果を追加
- 追加の色情報を追加
- パフォーマンス向上のために並列データ取得を強化
- 8つ以上のRDWデータセットからの包括的な車両データ
- ツールの説明とドキュメントを更新
バージョン1.1.0
- 破壊的変更:単一の包括的な検索ツールに簡素化
- すべての燃料と排出ガスデータを主要なナンバープレート検索に統合
- 個別の燃料/排出ガスおよび車両検索ツールを削除
- 排出コードとすす排出量を含む燃料/排出ガスデータの表示を強化
- 単一クエリでのデータの完全性を改善
バージョン1.0.2
- npmユーザー向けの包括的なREADMEの改善
- インストールと使用方法の説明を強化
- トラブルシューティングとプライバシーセクションを追加
- 例のクエリと開発セットアップを改善
- 削除されたテストファイルへのpackage.jsonの参照を修正
バージョン1.0.1
- 車両データの出力を強化
- ナンバープレートの正規化を改善
- 包括的なエラーハンドリングを追加
- ドキュメントを強化
バージョン1.0.0
- 最初のリリース
- 基本的なナンバープレート検索
- 燃料と排出ガスデータ
- ブランド/モデルでの車両検索
免責事項
このサーバーは公開されているRDWデータを使用しており、公式のRDW組織とは提携していません。重要な車両情報は常に公式チャネルを通じて確認してください。