Or Dmv について
Or Dmvは、オレゴン州DMVの窓口情報とリアルタイムの待ち時間を提供するMCPサーバーです。窓口の待ち時間確認や場所の検索に使え、未報告の状態を待ち時間ゼロと区別します。
主な機能
- 01窓口ごとのリアルタイム待ち時間
- 02市や地域による絞り込み
- 03住所と連絡先の表示
- 04取得不能な待ち時間を未報告として表示
- 05窓口結果の並べ替えと件数制限
活用シーン
- 01現在の待ち時間をもとに窓口を選ぶ
- 02市や郵便番号からDMV窓口を探す
- 03窓口の営業状況や予約専用かを確認
MCP 対応
オレゴン州DMVの待ち時間と窓口情報を取得するツールをMCPクライアントに公開します。Pipeworxゲートウェイ経由、またはローカルstdioサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/or-dmv/mcpclaude mcp add --transport http pipeworx-io-or-dmv https://gateway.pipeworx.io/or-dmv/mcp{"mcpServers":{"pipeworx-io-or-dmv":{"type":"http","url":"https://gateway.pipeworx.io/or-dmv/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-or-dmv":{"type":"http","url":"https://gateway.pipeworx.io/or-dmv/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-or-dmv":{"type":"http","url":"https://gateway.pipeworx.io/or-dmv/mcp"}}}{"mcpServers":{"pipeworx-io-or-dmv":{"serverUrl":"https://gateway.pipeworx.io/or-dmv/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@pipeworx/or-dmv
Oregon DMV MCP — オレゴン州の60か所すべてのDMV窓口のリアルタイム待ち時間と、同じデータに含まれる窓口検索機能です。キーは不要です。
Pipeworx の一部です。AI エージェントを1679以上のリアルタイムデータソースにつなぐMCPゲートウェイです。
DMVが機械可読なリアルタイム待ち時間フィードを公開している米国の州は、オレゴン州とノースカロライナ州の2州だけです。他の州では、フィードにCAPTCHAが設けられているか、クラウドからの送信がブロックされているか、機能していないか、スマートフォンアプリ内でしか利用できません。
ツール
or_dmv_wait_times(office?, city?, region?, open_only?, sort?, limit?)— 窓口ごとの、案内までの平均時間(分)と現在の待ち人数です。or_dmv_offices(office?, city?, zip?, region?, limit?)— 住所、市、ZIPコード、電話番号、緯度・経度、ODOT地域、予約専用かどうか、窓口のODOTページです。
認証
不要です。キーも認証も必要ありません。
データソース
https://dmv2u2.odot.state.or.us/waittimes/home/map
HTMLからスクレイピング — JSONエンドポイントはありません
このパックを利用する前に知っておくべきことが1つあります。
ODOTは待ち時間マップをサーバー側でレンダリングします。背後にAPIはなく、想定されるような/apiパスからは何も返りません。窓口の配列は、ページ内のインライン<script>タグでaveWaitModelsに代入されています。このパックはその識別子を見つけ、その後に続く配列リテラルの波括弧を対応付けて、結果をJSON.parseします。
そのため、オレゴン州のデータ取得はAPIベースのパックより構造的に脆弱です。ODOTのテンプレートが変更されて識別子の位置が変わったり、名前が変わったりすると、このパックが更新されるまで抽出に失敗する可能性があります。失敗した場合は、パース処理の不具合としてではなく、the Oregon wait-time page no longer contains the aveWaitModels office arrayという内容で報告し、nc_dmv_wait_timesへのヒントを表示します。
このパックが対処する注意点
営業時間外は待ち時間0分ではなく、not_reportingになります
営業時間外になると、ODOTはwaitTimeEnabled: falseに設定する一方で、averageMinutesUntilServedは-1、customersWaitingは0のままにします。これを待ち時間0分として公開すると「そのまま入ってすぐ案内される」と誤解されるため、該当する窓口はstatus: "not_reporting"、wait_minutes: nullとして返されます。
-1はODOTの利用不可を示す値です。waitTimeEnabledがtrueでもこの値が使われるため、その場合もnullに変換されます。レスポンスには常にoffices_reportingが含まれ、報告中の窓口が1つもない場合は、待ち列が空なのではなくフィードが停止中であることをnoteで示します。同じ理由から、sort: "wait"では報告中の窓口が先に並びます。
意図的に除外しているフィールド
各窓口のデータには、ipAddressと一連のfieldOfficeMachine*フィールドが含まれています。これらはODOT内部の待ち行列端末関連の情報であり、再公開しません。それ以外のフィールドはすべてそのまま引き継ぎます。open、appointmentOnly、closeDescription(closure_noteとして返されます)も含まれており、窓口の休業状況に関する実用的な情報を示します。
電話番号は10桁の数字のみの文字列(5419672014)で届き、(541) 967-2014形式に整えられます。
地域
regionでは、ODOTの6つの地域区分(Central Oregon、Eastern Oregon、Portland Area、Southern Oregon、The Coast、Willamette Valley)を指定できます。
関連項目
nc_dmv_wait_times/nc_dmv_offices— リアルタイムの待ち時間フィードを提供するもう1つの州、ノースカロライナ州です。ca_dmv_offices— カリフォルニア州の窓口情報です(待ち時間フィードは公開されていません)。
クイックスタート
MCPクライアント(Claude Desktop、Cursor、Windsurfなど)に追加します。
{
"mcpServers": {
"or-dmv": {
"url": "https://gateway.pipeworx.io/or-dmv/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/or-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/or_dmv_wait_times \
-H 'Content-Type: application/json' \
-d '{"office":"Portland"}'
最初の呼び出しにアカウントは不要です。ツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/or_dmv_wait_times を実行します。ツールを探すには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を実行します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。
{
"mcpServers": {
"or-dmv": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-or-dmv"]
}
}
}
または、次のコマンドを直接実行して、起動することを確認できます。
npx -y @pipeworx/mcp-or-dmv
stdin/stdout 経由で MCP を使用し、このパック固有のツールのみを対象に initialize/tools/list/tools/call に応答します。上記のゲートウェイ接続で追加される共通メタツールはありません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx の使用
ツールを直接呼び出す代わりに、自然な英語で質問できます。この方法は、上記のパックエンドポイントとフルゲートウェイの両方で使えます。
ask_pipeworx({ question: "your question about Or Dmv data" })
ゲートウェイが適切なツールを選び、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。