mcpField
D
Dol Whd

Dol Whd

リモート
pipeworx.io法務・行政04 日前に更新
リポジトリ公式サイト

Dol Whd について

Dol Whdは、米国労働省賃金・労働時間局がFY2005以降に結論を出した執行事例を提供します。雇用主の違反、事例履歴、未払い賃金、データの対象範囲を調べる用途向けです。

主な機能

  1. 01雇用主・業界・州・日付で事例検索
  2. 02雇用主の事例履歴と集計の取得
  3. 03未払い賃金額による業界ランキング
  4. 04データ範囲と日付範囲の確認

活用シーン

  1. 01雇用主の賃金違反履歴の確認
  2. 02業界別の未払い賃金の調査
  3. 03データの調査日対象範囲の確認

MCP 対応

賃金・労働時間局の執行データ検索と、雇用主、未払い賃金、データ範囲の照会ツールを公開します。単独のstdio MCPサーバーまたはPipeworxゲートウェイ経由で利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://gateway.pipeworx.io/dol-whd/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

@pipeworx/dol-whd — DOL 賃金・労働時間法の執行

2005会計年度以降に確定した、米国労働省の賃金・労働時間部門によるコンプライアンス措置。賃金未払い、遡及賃金、最低賃金および時間外労働に関する違反、児童労働、H-1B および H-2A の違反が対象です。osha では、すでに DOL による執行のうち OSHA 関連を扱っています。こちらは、これまで誰も照会できなかった同系列のデータです。

Pipeworx の一部です。AI エージェントを 1878 以上の稼働中データソースに接続する MCP ゲートウェイです。これは独立した非公式の連携であり、上流プロバイダーとは提携、承認、公開のいずれも行っていません。

キーが提供されたため、2026-09-01 に _incubator から昇格しました(フリート #1052)。このキーが使えるようになるまで、すべての行リクエストが 401 を返していたため、当初はフリート #651 で10行のカタログプレビューを基に構築されました。

ツール

ツール回答する内容
whd_search「雇用主は賃金違反で指摘を受けていますか?」— 雇用主、NAICS、州、日付で絞り込み
whd_employer1つの雇用主の全案件履歴と集計値
whd_top_backwages「業界で最も多額の遡及賃金を支払う義務があるのは誰ですか?」
whd_coverageデータセットの対象範囲、公開日、調査結果の日付範囲

認証

プラットフォームキー(PLATFORM_DOL_KEY。ゲートウェイと registry-api に設定)を使用し、_apiKey で BYO による上書きができます。https://dataportal.dol.gov から無料で取得できるキーは、すべての DOL データセットを対象とし、申請してすぐに利用できます。承認手続きはありません。ゲートウェイがプラットフォームキーを注入するため、_apiKey はどのツールの required リストにも含まれていません。

これは data.gov の共通キーではありません([[reference-datagov-key-universal]] は該当しません)。DOL オープンデータポータルは独自のキーを発行します。

カタログは公開されていますが、行データは公開されていないため、注意が必要です。 GET /v4/datasets と GET /v4/datasets/10362 はどちらもキーなしで 200 を返すため、データを要求するまではソースが公開されているように見えます。データを要求すると、キーなしの行リクエストは 401 と "The API key is either incorrect or missing from your query." を返します。

さらに厄介なことに、エンドポイントによって認証方法が異なります。 /v4/datasets* は X-API-KEY: ヘッダーを受け付けますが、/v4/get/... はこれを 401 で拒否し、クエリパラメーターとしてキーを指定する必要があります。カタログ呼び出しは成功し、すべてのデータ呼び出しが 401 を返すため、キーの指定場所が間違っているのではなく、キーが無効だと誤解されがちです。このパックでは常にクエリパラメーターを使用します。

上流のスロットリングは、キーごとではなく送信元 IP ごとに適用されます。 数分間におよそ20回呼び出すと、HTTP 429 が返されます。x-amzn-errortype: ForbiddenException が含まれますが、Retry-After はなく、約10分間続きます。実測では、スロットリング中の IP から偽のキーを指定した場合も 429 が返されましたが、キーを完全に省略した場合は引き続き 401 が返されました。このことから、制限が IP に適用されると分かります。そのため、これはキーごとのクォータではなく、共通の外部向け IP に伴うリスクです。このパックは2回バックオフした後、例外をスローせずに { found: false, reason: "upstream_rate_limited" } を返すため、スロットリングと案件のない雇用主を区別できます。

データソース

クエリ文法(推測ではなく、ドキュメントに記載)

data.dol.gov は React SPA で、バンドル /static/js/main.1788ccf8.js に DOL 自身による API ドキュメントが含まれています。パラメーターは limit、offset、sort(asc/desc)、sort_by(フィールド名)、fields、filter_object、X-API-KEY で、すべてクエリパラメーターです。ドキュメントから引用した演算子は、eq、neq、gt、lt、in、not_in、like です。この一覧にない演算子が使えるとは想定しません。

filter_object は、DOL の例に従って、{field, operator, value} に対するネストされた and/or グループを含む JSON 文字列です。

filter_object={"and":[{"or":[{"field":"industry","operator":"eq","value":"A"},
                             {"field":"industry","operator":"eq","value":"C"}]},
                      {"field":"year","operator":"eq","value":"2021"}]}

このパックがすでに対処している落とし穴

  • 該当なしのクエリは、200と{"data":[]}ではなく、本文なしのHTTP 204を返します。 res.okは204でもtrueになるため、ステータスを確認せずに解析すると、入力が空の場合に例外が発生します。その結果、最もよくある否定的な結果である「この雇用主には事例がない」が、こちらの解析バグのように見えてしまいます。
  • filter_objectのキーワードは小文字でなければなりません — field、operator、value、and、or。それ以外を指定すると、フィールド名を示さない「タイプミスを確認してください」という一般的なメッセージとともに500が返ります。誤ったデータセット名でも同じ500が返るため、元の依頼にあった名前whd/whisardは、タイプミスではなくDOLの障害のように見えました。データセット名はwhd/enforcementです。
  • 部分文字列検索として機能させるには、likeに%が必要です。 DOLはlikeを部分文字列演算子として説明していますが、構文は説明していません。2026-09-01に測定したところ、%Walmart%もWalmartだけの指定も行を返しましたが、ワイルドカード形式の方が厳密に多くの結果を返しました。こちらは、Walmartだけの指定では一致しない「Subway Georgetown Walmart」にも一致します。ワイルドカードなしのlikeは完全一致です。ここでの雇用主検索にはすべて%term%を使用しています。
  • 商号と法的名称は同じとは限りません。 「Reliant Energy」と「Reliant Energy Retail Services, LLC」は同じ雇用主です。どちらもlikeで照合し、すべてのヒットに、どちらの名称が一致したかを示すmatched_fieldが含まれます。
  • bw_atp_amtは合計値であり、FLSA列は落とし穴です。 法令ごとの列(flsa_bw_atp_amt、sca_bw_atp_amt、cwhssa_bw_amt、dbra_…、mspa_…、h1b_…、fmla_… …)は相互に排他的で、合計するとbw_atp_amtになります — 2つの法令が適用される事例で検証済みです(Corrections Corp of America:7,118,609 SCA + 953,252 CWHSSA = 8,071,861、Hewlett-Packard:4,831,719 SCA + 401,211 FLSA = 5,232,930、どちらも完全に一致)。しかし、flsa_ot_…、flsa_mw_…、flsa_15a3_…とflsa_smw*の一連の列は、flsa_bw_atp_amtの内訳であり、その兄弟項目ではありません。そのため、すべての*_bw_*_amt列を合計すると二重計上になります。このパックは、back_wages_agreed_usd(合計)、back_wages_by_statute、flsa_breakdownをそれぞれ別々に返し、さらに構造の変更が数値をひそかに水増しするのではなく、レスポンスに表れるようback_wages_reconcilesフラグも返します。
  • 調査結果の日付は、事例の開始日や終了日ではありません。 データセットにその旨が明記されており、開始日や終了日は含まれていません。最新状況の判定には、調査結果の日付を使用してください。
  • ただし、最新の調査結果の日付を単純に採用しないでください。 findings_end_dateがNULLの行はsort=descで先頭に並ぶため、単純なクエリではnullが返ります。また、DOLのデータには誤入力された未来の日付があり、NULLではない最新の行には3021-05-01と記されています。whd_coverageは期間の両端に上限を設け、その旨をwindow_noteで説明します。
  • www.dol.govのHTMLページは、Akamaiの背後では一般的なUAからのアクセスに403を返すため、完全なブラウザー用ヘッダー一式(workers/data-pipeline/src/datasets/dod-contracts.tsのBROWSER_HEADERS)が必要です。 これはヘッダーフィンガープリントによるブロックであり、CF egressによるブロックではありません — プロキシを構築しないでください。apiprod.dol.govは別のホストであり、このような制限は見られません。

プロモーション時に解決済み

  • bw_atp_amtは法令列の合計値ですか、それとも独立した項目ですか? 法令ごとの列の合計値です — 実際の行で確認済みです。上記の落とし穴を参照してください。キーがなかった間、このパックに残っていた未解決の疑問はこれだけでした。
  • デプロイ済みのCloudflare Workerから到達できますか? はい — 2026-09-01にゲートウェイ経由で実環境で検証済みです。apiprod.dol.govはCF egressを制限しません。(上記のwww.dol.govのAkamaiブロックは別のホストで発生し、HTMLスクレイピングには引き続き適用されます。)
  • **PLATFORM_DOL_KEY**は、pipeworx-gatewayとpipeworx-registry-apiの両方でwranglerシークレットとして設定されています。

その他の41のDOLデータセット

同じv4 APIは、9つの機関にわたる42のデータセット(MSHAが15、OSHAが11、ILABが7、ETAが4、EBSA、TRNG、VETS、WB、WHDがそれぞれ1つ)を提供します。呼び出し形式と上記のすべての注意点を含む完全な一覧は、docs/dol-open-data-catalog.mdに記録されています。 調査のみ — ここにあるものは何も構築されておらず、飽和状態に達した後は、推測で構築すべきではありません。需要のシグナルを受け取れるように用意されています。

クイックスタート

MCP クライアント(Claude Desktop、Cursor、Windsurfなど)に追加します。

{
  "mcpServers": {
    "dol-whd": {
      "url": "https://gateway.pipeworx.io/dol-whd/mcp"
    }
  }
}
このエンドポイントが実際に提供するもの

https://gateway.pipeworx.io/dol-whd/mcpのtools/listは、上の表にあるツールに加えて、共有のPipeworxメタツール(ask_pipeworx、discover_tools、search_within、remember/recall、その他ゲートウェイ全体で使えるツール群)を返します。そのため、表示されるツール数はこの表より多くなります。単一パックのエンドポイントには現在、パック独自のツールに加えて、共有ツールが約30個表示されます。接続のinitializeレスポンスには正確な対象範囲が示されており、その日の状況を確認するうえで最も信頼できる情報です。

これは意図的な設計であり、偶然の多重化ではありません。メタツールを使うと、このパックが扱わない質問にもask_pipeworx経由でカタログ全体を対象に回答でき、MCP サーバーを追加する必要がありません。現在、メタツールなしでパックのエンドポイントを接続する方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、フルゲートウェイに一度だけ接続してください。

または、Pipeworxのフルゲートウェイに接続して、このパックのツールだけでなく、すべてのパックのツールを直接一覧表示します。

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

どちらのURLも同じゲートウェイと同じ1878以上のデータソースに接続します。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworxですべてのツールを利用できます。

MCP クライアントがない場合:HTTPで呼び出す

curl -X POST https://gateway.pipeworx.io/v1/tools/whd_search \
  -H 'Content-Type: application/json' \
  -d '{"employer":"Walmart"}'

最初の呼び出しではアカウントは必要ありません。任意のツールを確認するには、GET https://gateway.pipeworx.io/v1/tools/whd_searchを使います。ツールを探すには、{"query":"..."}を指定してPOST https://gateway.pipeworx.io/v1/tools/search_packsを使います。

スタンドアロン(ゲートウェイアカウント不要)

このパッケージは、ローカルのstdio MCP サーバーとしても動作します。Pipeworxアカウントも、ゲートウェイとの通信も不要です。

{
  "mcpServers": {
    "dol-whd": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-dol-whd"]
    }
  }
}

または、直接実行して起動を確認します。

npx -y @pipeworx/mcp-dol-whd

stdin/stdout経由でMCPを使用し、このパックのツールのみを対象にinitialize/tools/list/tools/callに応答します。上記のゲートウェイ接続で追加される共有メタツールはありません。同じソース、同じツールで、ask_pipeworxによるルーティングはありません。

ask_pipeworxの使用

ツールを直接呼び出す代わりに、自然な英語で質問できます。これは上記のパックエンドポイントでも、フルゲートウェイでも使えます。

ask_pipeworx({ question: "your question about Dol Whd data" })

ゲートウェイが適切なツールを選び、引数を自動的に入力します。

詳細

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。