Nc Dmv について
Nc Dmv は、ノースカロライナ州 DMV の窓口情報を提供する MCP サーバーです。リアルタイムの待ち時間や窓口の詳細を確認でき、運転免許または車両関連の手続き先を探す際に、窓口、サービス、営業状況で絞り込めます。
主な機能
- 01平均・最長待ち時間のリアルタイム表示
- 02運転免許・車両サービス窓口
- 03住所、郵便番号、電話番号、営業時間
- 04窓口とサービスの絞り込み
- 05キー不要のアクセス
活用シーン
- 01訪問前の現在の待ち時間確認
- 02市区町村や郵便番号から窓口を検索
- 03車両または運転免許サービスで絞り込み
MCP 対応
待ち時間と窓口ディレクトリのツールを MCP クライアントに公開します。Pipeworx ゲートウェイ経由、またはローカルの stdio MCP サーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/nc-dmv/mcpclaude mcp add --transport http pipeworx-io-nc-dmv https://gateway.pipeworx.io/nc-dmv/mcp{"mcpServers":{"pipeworx-io-nc-dmv":{"type":"http","url":"https://gateway.pipeworx.io/nc-dmv/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-nc-dmv":{"type":"http","url":"https://gateway.pipeworx.io/nc-dmv/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-nc-dmv":{"type":"http","url":"https://gateway.pipeworx.io/nc-dmv/mcp"}}}{"mcpServers":{"pipeworx-io-nc-dmv":{"serverUrl":"https://gateway.pipeworx.io/nc-dmv/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/nc-dmv
ノースカロライナ DMV MCP — NCDMV の運転免許事務所とナンバープレート代理店すべてのリアルタイム待ち時間に加え、同じフィードで配信される事務所一覧を提供します。キーは不要です。
Pipeworx の一部です — AI エージェントを1679以上のリアルタイムデータソースに接続する MCP ゲートウェイです。
米国の州で、DMV が機械可読なリアルタイム待ち時間フィードを公開しているのは、ノースカロライナ州とオレゴン州の2州だけです。それ以外の州では、CAPTCHA で保護されている、クラウドからのアクセスがブロックされている、動作しない、またはスマートフォンアプリ内でしか利用できない状態です。
ツール
nc_dmv_wait_times(office?, service?, open_only?, sort?, limit?)— 事務所ごとの現在の平均待ち時間、最長待ち時間、営業中/休業中の状態を返します。運転免許事務所は148か所です。service: "vehicle"を指定すると、車両サービス/ナンバープレート代理店の窓口に切り替わります。nc_dmv_offices(office?, city?, zip?, service?, district?, limit?)— 住所、市、ZIP コード、電話番号、掲示されている営業時間、NCDMV の管轄地区を返します。このフィードは、存在する唯一の機械可読な NCDMV 事務所一覧のため、州の事務所検索にも使えます。
認証
不要です。キーも認証も必要ありません。
データソース
https://wait.services.ncdot.gov/IWT/IWTWeb/XmlStats.aspx?controller=IWT_UnitsListXML&UnitID=<n>
| UnitID | ルート | 内容 |
|---|---|---|
2 | 運転者サービス | 運転免許事務所148か所 |
182 | 車両サービス | ナンバープレート代理店の窓口(2026-07-29時点で1か所) |
このパックが対応する注意点
営業時間外のゼロは欠損ではなくデータです
掲示されている営業時間外は、すべての事務所が OfficeStatus を Closed とし、AvgWT/MaxWT を 0:00:00 と報告します。これは NCDMV が待ち行列が空であると報告している状態です。エラーでも欠損値でもなく、「すぐに窓口に行ける」という意味ではありません。
そのため、レスポンスには常に offices_open が含まれます。また、営業中の事務所がない場合は、note に待ち時間の数値が待ち行列が空の状態を示すゼロであると記載されます。同じ理由から、sort: "wait" は営業中の事務所を休業中の事務所より上位に並べます。そうしないと、最短待ち時間のランキングで、待ち時間ゼロで同率の休業中の事務所148か所が上位を占めてしまいます。
フィードはツリー構造ですが、番兵行の親情報は誤っています
UnitID=2 は161個の <Unit> ブロックを返します。ルート(UnitLevel 1)の Driver Services、地区(レベル2)11か所、実際の事務所(レベル3)148か所、そして Invalid という名前の番兵行です。UnitID=182 の場合、実際の窓口はレベル2にあります。
そのため、このパックでは UnitLevel で絞り込まず、ほかのユニットの ParentUnitId として一度も指定されていない UnitId、つまり葉を保持します。こうすることで、NCDOT がツリーを再編成しても動作します。
処理順序が重要です。Invalid の番兵行は、実際の事務所(Greensboro West、ParentUnitId=143)を親にしています。Invalid を除外する前に親の集合を計算すると、その事務所が結果から除外され、NCDMV が公開している148か所に対して147か所しか返されません。Invalid は最初に除外されます。
住所
-- はフィード内で null を表します。別の <ZipCode> タグはすべてのユニットで空のため、ZIP コードは1行の Address 文字列("521 S. Sandhills Blvd., Aberdeen, NC 28315")から解析する必要があります。この文字列の句読点は統一されていません。改行が含まれている事務所や、市の前のコンマがない事務所、NC が省略されている事務所("2479 E. Fifth St., Lumberton 28358")があります。パーサーは右から順に、ZIP コード、州の表記、最後のコンマより前にある市を抽出します。市を通りから安全に分離できない場合は、address に文字列全体を返し、city: null とします。
現在の網羅状況:148か所のうち、住所があるのは118か所です(NCDMV は30か所を空欄にしています)。住所がある118か所のうち、ZIP コードは118件、市は116件を解析できます。offices_missing_address で不足分を確認できます。
NCDMV 側の情報が古い項目もあります。Greensboro Express OLD は現在もフィードに表示されています。独自に判断して除外せず、公開されているとおりに返します。
待ち時間の単位
AvgWT/MaxWT は H:MM:SS 形式です。このパックでは整数の分に変換します。
関連項目
or_dmv_wait_times/or_dmv_offices— リアルタイム待ち時間フィードを提供するもう一つの州、オレゴン州。ca_dmv_offices— カリフォルニア州の現地事務所(待ち時間フィードは公開されていません)。
クイックスタート
MCP クライアント(Claude Desktop、Cursor、Windsurf など)に追加します:
{
"mcpServers": {
"nc-dmv": {
"url": "https://gateway.pipeworx.io/nc-dmv/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/nc-dmv/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツール(ask_pipeworx、discover_tools、search_within、remember/recall など、ゲートウェイ全体で利用できるツール群)も返します。そのため、表示されるツール数はこの表より多くなります。現在、単一パックのエンドポイントには、そのパック固有のツールとともに、共有ツールが約 30 個表示されます。接続の initialize 応答には正確な範囲が記載されており、その時点での確定情報です。
これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うことで、このパックでは扱えない質問にも、カタログ全体から振り分ける ask_pipeworx を通じて回答できます。MCP サーバーをもう 1 つ追加する必要はありません。現在、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費が、振り分け機能の利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度接続してください。
または、Pipeworx のフルゲートウェイに接続すると、このパックだけでなく、すべてのパックのツールが直接一覧表示されます:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も同じゲートウェイと、同じ 1679 以上のデータソースに接続します。異なるのは、どのパックのツールが直接一覧表示されるかだけです。ask_pipeworx を使えば、どちらからでもすべてのツールにアクセスできます。
MCP クライアントをお持ちでない場合:HTTP 経由で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/nc_dmv_wait_times \
-H 'Content-Type: application/json' \
-d '{"office":"Raleigh"}'
最初の呼び出しにアカウントは必要ありません。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/nc_dmv_wait_times を実行します。ツールを見つけるには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージは、ローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も必要ありません:
{
"mcpServers": {
"nc-dmv": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-nc-dmv"]
}
}
}
または、直接実行して起動を確認できます:
npx -y @pipeworx/mcp-nc-dmv
stdin/stdout 経由で MCP をやり取りし、このパックのツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx による振り分けはありません。
ask_pipeworx を使う
ツールを直接呼び出す代わりに、自然な英語で質問できます。上記のパックエンドポイントでも、フルゲートウェイでも利用できます:
ask_pipeworx({ question: "your question about Nc Dmv data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。