DOL WHD MCP
DOL WHD MCP
TypeScript MCP-сервер для данных Министерства труда (DOL) о правоприменении WHD, раскрытии информации OFLC LCA, инспекциях OSHA и возможностях контрактов SAM.gov.
Настройка
npm install
npm run buildСоздайте локальный файл .env:
DOL_API_KEY=your-api-key
SAM_GOV_API_KEY=your-sam-gov-api-key
GOOGLE_PLACES_API_KEY=your-google-places-api-keyСервер также принимает DOL_API_KEY, SAM_GOV_API_KEY или SAM_API_KEY из переменных окружения процесса. Инструменты SAM.gov могут работать в режиме пробного запуска (dry-run) без ключа SAM. Ответы инструментов скрывают URL-адреса запросов и никогда не возвращают ключи.
Локальный запуск через Stdio
npm startПример конфигурации MCP-клиента:
{
"mcpServers": {
"dol-whd": {
"command": "node",
"args": ["dist/server.js"],
"cwd": "<project-directory>"
}
}
}Удаленный запуск через HTTP
Сначала выполните сборку, затем запустите Streamable HTTP MCP-эндпоинт:
npm run build
npm run start:httpПо умолчанию:
MCP-эндпоинт:
http://127.0.0.1:8787/mcpПроверка работоспособности:
http://127.0.0.1:8787/healthТранспорт: MCP Streamable HTTP, без сохранения состояния для каждого запроса.
Настройки удаленного окружения:
DOL_MCP_HOST=127.0.0.1
DOL_MCP_PORT=8787
DOL_MCP_AUTH_TOKEN=change-this-before-exposing
DOL_MCP_ALLOW_ORIGIN=*Если установлен DOL_MCP_AUTH_TOKEN, MCP-клиенты должны отправлять либо:
Authorization: Bearer change-this-before-exposingлибо:
X-API-Key: change-this-before-exposingОставьте хост по умолчанию для доступа только с локальной машины. Чтобы сделать его доступным с другого компьютера, привяжитесь к доступному интерфейсу, например 0.0.0.0, и поместите его за доверенный туннель или обратный прокси-сервер с аутентификацией. API-ключи DOL и SAM.gov остаются на стороне сервера в файле .env.
Инструменты
ask_government_data: Направляет вопрос на обычном английском языке в нужную базу данных и выполняет запрос к данным о правоприменении WHD, инспекциях OSHA, раскрытии информации о иностранной рабочей силе/LCA DOL или возможностях SAM.gov.whd_enforcement_query: Запрос кWHD/enforcementс параметрамиlimit,offset,fields,sort,sort_byиfilter_object.whd_enforcement_case: Поиск по числовомуcase_id.whd_enforcement_metadata: Возвращает полные строки метаданных с необязательными параметрамиsearch,categoryиlimit.whd_enforcement_fields: Возвращает краткие описания полей для построения запросов.dol_datasets_search: Поиск в публичном каталоге наборов данных DOL.lca_disclosure_files: Возвращает официальные URL-адреса раскрытия информации OFLC LCA DOL и макеты записей за квартал финансового года.lca_disclosure_fields: Чтение имен полей из файла XLSX раскрытия информации LCA DOL.lca_search: Поиск данных раскрытия информации OFLC LCA DOL по работодателю, месту работы, должности, SOC, NAICS, статусу, классу визы, заработной плате и датам.lca_employer_profile: Создание профиля работодателя только на основе данных LCA DOL с количеством сертификаций, статистикой заработной платы, популярными должностями, кодами SOC, местами работы, а также флагами зависимости от H-1B и умышленных нарушителей.foreign_labor_files: Обнаружение официальных URL-адресов рабочих книг раскрытия информации OFLC DOL, макетов записей и вспомогательных файлов дляLCA,PERM,H-2A,H-2BилиCW.foreign_labor_fields: Чтение имен полей из официального файла XLSX раскрытия информации о иностранной рабочей силе DOL.foreign_labor_search: Потоковый поиск по рабочим книгам раскрытия информации о иностранной рабочей силе OFLC DOL и возврат унифицированной схемы для LCA, PERM, H-2A, H-2B и CW-1.osha_fields: Возвращает метаданные для официального набора данных DOL OSHAinspectionилиviolation.osha_inspection_search: Поиск инспекций OSHA по предприятию, штату, городу, NAICS, типу инспекции, безопасности/здоровью и диапазону дат открытия. Опционально объединяет записи о нарушениях/цитированиях, которые не были удалены.osha_inspection_detail: Поиск одной инспекции OSHA поactivity_nrи опциональное объединение записей о нарушениях/цитированиях.sam_opportunities_search: Поиск официальных возможностей контрактов SAM.gov по ключевым словам в названии, кодам NAICS, типам закупок, коду резервирования, штату выполнения работ и диапазону дат публикации.sam_opportunity_detail: Поиск одной возможности SAM.gov поnoticeId.sam_reference: Возвращает общие коды типов закупок и резервирования SAM.gov.places_search: Поиск в Google Places (New) Text Search для предприятий в определенном районе. Возвращает дедуплицированные результаты сgoogleMapsUrlдля отслеживания источника. Разработан как примитив извлечения для каждого раунда для агента Restaurant Research Agent.places_detail: Поиск одного места Google по идентификатору Place ID. Возвращает часы работы, флаги доставки/обеда в зале и (опционально) editorialSummary и отзывы.
Инструменты LCA используют официальные рабочие книги раскрытия информации OFLC со страницы Performance Data Министерства труда. Рабочие книги могут быть большими, поэтому загруженные файлы кэшируются в .cache/dol-lca/. Вы также можете передать localFile с уже загруженным официальным файлом XLSX раскрытия информации LCA.
Профиль LCA содержит только данные DOL. Уровни одобрения и отказа по петициям H-1B USCIS не включены, если не добавлен отдельный источник данных USCIS.
Инструменты для работы с иностранной рабочей силой считывают страницу Performance Data Министерства труда, чтобы обнаружить текущие ссылки на раскрытие информации, а затем построчно анализируют файлы XLSX. Поддерживаемые программы: LCA, PERM, H-2A, H-2B и CW; поддерживаемые финансовые годы для унифицированного парсера: с 2020 по 2030. Используйте localFile, чтобы указать на уже загруженную официальную рабочую книгу.
Инструменты OSHA используют официальные наборы данных API открытых данных Министерства труда OSHA/inspection и OSHA/violation. Строки нарушений объединяются с инспекциями по activity_nr; строки с delete_flag, равным X, исключаются из объединенного вывода.
Инструменты SAM.gov используют официальный API возможностей по адресу https://api.sam.gov/opportunities/v2/search. Для поиска в реальном времени требуется SAM_GOV_API_KEY или SAM_API_KEY; пробный запуск (dry-run) возвращает примеры возможностей без вызова SAM.gov. API требует границы дат публикации, поэтому postedDaysAgo преобразуется в postedFrom и postedTo в формате MM/dd/yyyy.
Примеры
Фильтрация записей по Айове с задолженностью по заработной плате:
{
"limit": 10,
"fields": ["case_id", "trade_nm", "st_cd", "bw_atp_amt", "findings_end_date"],
"sort": "desc",
"sort_by": "bw_atp_amt",
"filter_object": {
"and": [
{ "field": "st_cd", "operator": "eq", "value": "IA" },
{ "field": "bw_atp_amt", "operator": "gt", "value": 0 }
]
}
}Поиск метаданных полей:
{
"search": "backwage",
"limit": 20
}Поиск данных раскрытия информации LCA:
{
"fiscalYear": 2026,
"quarter": 1,
"employerName": "Google",
"state": "CA",
"jobTitle": "software",
"maxResults": 25
}Создание профиля работодателя DOL LCA:
{
"fiscalYear": 2026,
"quarter": 1,
"employerName": "Google",
"searchMode": "contains",
"maxResults": 5000
}Поиск унифицированных данных раскрытия информации о иностранной рабочей силе DOL:
{
"visaProgram": "H-2A",
"fiscalYear": 2026,
"fiscalQuarter": "Q1",
"worksiteState": "IA",
"caseStatus": "Certified",
"maxItems": 100
}Поиск сертификаций PERM:
{
"visaProgram": "PERM",
"fiscalYear": 2026,
"fiscalQuarter": "Q1",
"employerName": "Intel",
"minAnnualWage": 150000,
"maxItems": 500
}Поиск инспекций OSHA с присоединенными цитированиями:
{
"companyName": "Walmart",
"state": "TX",
"includeViolations": true,
"maxResults": 25
}Поиск инспекций в строительстве по фактам смертельных случаев/катастроф:
{
"state": "TX",
"naicsCode": "23",
"inspectionType": "A",
"dateFrom": "2024-01-01",
"includeViolations": true,
"maxResults": 100
}Поиск возможностей SAM.gov в режиме пробного запуска:
{
"keywords": "cybersecurity",
"naicsCodes": ["541512"],
"setAsideType": "SBA",
"postedDaysAgo": 30,
"maxResults": 10,
"dryRun": true
}Поиск возможностей SAM.gov в реальном времени после добавления ключа SAM:
{
"keywords": "software development",
"naicsCodes": ["541512", "541511"],
"procurementTypes": ["o", "k", "r"],
"state": "VA",
"postedDaysAgo": 30,
"maxResults": 100,
"dryRun": false
}Задать вопрос на обычном английском языке:
{
"question": "Show OSHA inspections and citations for Walmart in TX",
"maxResults": 10
}Запрос возможностей SAM.gov в режиме пробного запуска:
{
"question": "Find cybersecurity solicitations NAICS 541512 in Virginia",
"maxResults": 10,
"dryRun": true
}Запрос записей раскрытия информации о иностранной рабочей силе DOL:
{
"question": "H-2A certified farm jobs in IA SOC 45-2092 over $20 hourly",
"maxResults": 10
}Поиск ресторанов в городе через Google Places:
{
"query": "restaurants in Hillsdale, MI",
"includedTypes": ["restaurant"],
"maxResults": 30,
"excludeClosed": true
}Поиск одного места Google по идентификатору Place ID:
{
"placeId": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"includeAtmosphere": false
}This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/UHQ-Actual/DOL_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server