@cliwant/mcp-sam-gov 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @cliwant/mcp-sam-gov
2
2
 
3
3
  > **最も包括的なキーレス連邦データ MCP サーバー。**
4
- > SAM.gov · USAspending · SEC EDGAR · OFAC · FDIC · Federal Register · Regulations.gov · eCFR · FAR/DFARS · BLS · Treasury · NIH · NSF · ClinicalTrials · CMS · NVD/CISA · USITC · Census · FEMA ほか **31 のキーレス連邦データソース、111 ツール。**
4
+ > SAM.gov · USAspending · SEC EDGAR · OFAC · FDIC · Federal Register · Regulations.gov · eCFR · FAR/DFARS · BLS · Treasury · NIH · NSF · ClinicalTrials · CMS · NVD/CISA · USITC · Census · FRED · BEA · DOL · FEMA ほか **37 の連邦データソース、120 ツール。** キーレス優先 — Census business-patterns · FRED · BEA · DOL データエンドポイントの 4 ソースのみ無料キーが必要で、残り 33 ソースはキー不要。
5
5
  > API キー不要、登録不要、サインアップ不要。Claude Desktop, Claude Code, Codex CLI, Cursor, Continue, Gemini CLI、すべての MCP ホスト対応。
6
6
 
7
7
  [English README](./README.md) · [한국어 README](./README.ko.md)
@@ -19,13 +19,14 @@
19
19
  | 🕵️ **パートナー・企業の検証** | "この企業をスクリーニング: OFAC 制裁・SAM 除外・単一監査指摘・銀行健全性・EPA 遵守" | OFAC, SAM, FAC, FDIC, EPA ECHO |
20
20
  | 📈 **財務開示 (SEC)** | "この上場企業の売上推移 + 最新 10-K" | SEC EDGAR |
21
21
  | ⚖️ **規制・立法** | "今四半期の VA サイバーセキュリティ規則? 進行中の Regulations.gov docket?" | Federal Register, Regulations.gov, eCFR, FAR/DFARS, Congress.gov, GovInfo |
22
- | 💲 **価格・労務・財政** | "GSA CALC 労務単価バンド、この郡の SCA 賃金決定、CPI エスカレーション" | GSA CALC, SAM WD, BLS, US Treasury |
22
+ | 💲 **価格・労務・財政** | "GSA CALC 労務単価バンド、この郡の SCA 賃金決定、CPI エスカレーション、出張 per-diem 上限、地域の産業別 GDP、DOL 賃金・労働執行履歴" | GSA CALC, SAM WD, BLS, US Census CBP, FRED, BEA, US Treasury, GSA per-diem, US DOL |
23
+ | 🏛 **ロビー・影響力** | "誰が VA にサイバーセキュリティでロビーし、いくら支出しているか?" | US Senate LDA |
23
24
  | 🏥 **医療・研究資金** | "このテーマの NIH/NSF grant、募集中の臨床試験、この医師への業界支払" | NIH RePORTER, NSF, ClinicalTrials, CMS, NPPES |
24
25
  | 🛡 **サイバー遵守** | "この CVE は CISA KEV 必須パッチ一覧にあるか?" | NVD, CISA KEV |
25
26
  | 🌐 **貿易・地理・災害** | "この品目の HTS 関税、この住所の Census tract、この州の FEMA 宣言" | USITC HTS, Census, FEMA, Socrata, CKAN |
26
27
  | 🎓 **grant・データセット** | "過去 30 日のサイバーセキュリティ grant、連邦オープンデータセット発見" | Grants.gov, data.gov |
27
28
 
28
- **31 のキーレス連邦データソース、合計 111 ツール。API キー 0。** (初期の 52 ツール版でおおよそ p50 ~0.25s / p95 ~0.8s を計測 — ソースや上流負荷で変動する近似値であり保証値ではありません。)
29
+ **37 の連邦データソース、合計 120 ツール キーレス優先: Census business-patterns · FRED · BEA · DOL データエンドポイントの 4 ソースのみ無料キーが必要で、残り 33 ソースはキー不要。** (初期の 52 ツール版でおおよそ p50 ~0.25s / p95 ~0.8s を計測 — ソースや上流負荷で変動する近似値であり保証値ではありません。)
29
30
 
30
31
  ---
31
32
 
@@ -52,7 +53,7 @@ Claude Code (CLI) を既に使用している場合:
52
53
  /plugin install cliwant/mcp-sam-gov
53
54
  ```
54
55
 
55
- MCP サーバー + Claude が 111 ツールをいつ・どう呼ぶかを教える [SKILL.md ワークフローガイド](./skills/sam-gov/SKILL.md) を同時登録。
56
+ MCP サーバー + Claude が 120 ツールをいつ・どう呼ぶかを教える [SKILL.md ワークフローガイド](./skills/sam-gov/SKILL.md) を同時登録。
56
57
 
57
58
  ### 🔵 パス 3 — Codex / Cursor / Continue / Gemini 等の手動インストール
58
59
 
@@ -162,24 +163,29 @@ npm install --omit=dev
162
163
 
163
164
  一部のソース(Congress.gov, GovInfo, Regulations.gov, FAC, NPPES, data.gov v4 カタログ)は共有 **api.data.gov** ゲートウェイを利用します。既定では公開 `DEMO_KEY` で **キーレス**動作(低い共有時間あたりクォータ)。`DATA_GOV_API_KEY` を設定すると上限が大幅に緩和されます。[api.data.gov/signup](https://api.data.gov/signup) で即時無料発行(待ちなし)。1 つのキーがすべての api.data.gov / api.gsa.gov ソースで通用します。BLS ソースも任意の無料 `BLS_API_KEY` で日次クォータを引き上げられます。
164
165
 
166
+ キーが*必須*のソースは 4 つだけです — **Census**(`census_business_patterns`)、**FRED**(2 つの FRED ツール)、**BEA**(`bea_regional_data`)、**DOL データエンドポイント**(`dol_get_dataset`; カタログ `dol_list_datasets` はキーレス)。いずれも無料で、キー一覧の全容(必須/任意・登録 URL)は [英語 README のキーセクション](./README.md#keys--higher-limits--the-full-inventory) を正とします。
167
+
165
168
  ---
166
169
 
167
- ## ツールカタログ (111)
170
+ ## ツールカタログ (120)
168
171
 
169
- ワークフロー別グループ。全ツールは既定でキーレス。全 per-tool 一覧と入力 schema・誠実性 caveat の原文は [英語 README のカタログセクション](./README.md#tool-catalog-111-tools) を正とします。
172
+ ワークフロー別グループ。キーレス優先 — 大半はキー不要、Census business-patterns · FRED · BEA · DOL データエンドポイントは無料キーが必要。全 per-tool 一覧と入力 schema・誠実性 caveat の原文は [英語 README のカタログセクション](./README.md#tool-catalog-120-tools) を正とします。
170
173
 
171
174
  - **案件 + ソリシテーション — SAM.gov + Grants.gov (10)**: `sam_search_opportunities` `sam_search_shaping` `sam_get_opportunity` `sam_fetch_description` `sam_fetch_attachment_text` `sam_attachment_url` `sam_lookup_organization` `sam_lookup_notice_fields` `grants_search` `grants_get_opportunity`
172
175
  - **spending・受注・競合 — USAspending + FPDS + GAO (29)**: `usas_search_awards` `usas_search_individual_awards` `usas_get_award_detail` `usas_search_awards_by_recipient` `usas_search_subawards` `usas_search_recompetes` `usas_search_expiring_contracts`(deprecated) `usas_analyze_incumbent` `usas_search_teaming_partners` `usas_spending_over_time` `usas_search_agency_spending` `usas_search_subagency_spending` `usas_search_psc_spending` `usas_search_cfda_spending` `usas_search_state_spending` `usas_search_federal_account_spending` `usas_search_recipients` `usas_get_recipient_profile` `usas_get_agency_profile` `usas_get_agency_awards_summary` `usas_get_agency_budget_function` `usas_list_toptier_agencies` `usas_lookup_agency` `usas_autocomplete_naics` `usas_autocomplete_recipient` `usas_naics_hierarchy` `usas_glossary` `fpds_search_awards` `gao_protest_lookup`
173
176
  - **パートナー・企業の検証 — OFAC · SAM · FAC · FDIC · EPA (14)**: `ofac_screen_entity` `sam_check_exclusions` `sam_integrity_lookup` `fac_search_audits` `fac_get_findings` `fdic_search_institutions` `fdic_institution_financials` `fdic_risk_ratios` `fdic_institution_history` `fdic_branch_deposits` `fdic_bank_failures` `fdic_industry_summary` `echo_search_facilities` `echo_facility_report`
174
177
  - **財務開示 — SEC EDGAR (8)**: `edgar_lookup_cik` `edgar_company_filings` `edgar_company_facts` `edgar_company_concept` `edgar_xbrl_frames` `edgar_full_text_search` `edgar_filing_index` `edgar_daily_filing_index`
175
178
  - **規制・立法 — Federal Register · Regulations.gov · eCFR · FAR · Congress · GovInfo (18)**: `fed_register_search_documents` `fed_register_get_document` `fed_register_public_inspection` `fed_register_list_agencies` `regulations_search_dockets` `regulations_search_documents` `regulations_search_comments` `regulations_get_docket` `ecfr_search` `ecfr_list_titles` `far_clause_lookup` `far_search` `far_compliance_matrix` `congress_search_bills` `congress_get_bill` `govinfo_search_packages` `govinfo_get_package` `govinfo_list_collections`
176
- - **価格・労務・財政 — GSA CALC · SAM WD · BLS · Treasury (10)**: `gsa_benchmark_labor_rates` `sam_search_wage_determinations` `sam_get_wage_rates` `bls_timeseries` `bls_oews_wages` `bls_qcew` `treasury_debt_to_penny` `treasury_avg_interest_rates` `treasury_monthly_statement` `treasury_query_dataset`
179
+ - **価格・労務・財政 — GSA CALC · SAM WD · BLS · Census CBP · FRED · BEA · Treasury · GSA per-diem (15)**: `gsa_benchmark_labor_rates` `sam_search_wage_determinations` `sam_get_wage_rates` `bls_timeseries` `bls_oews_wages` `bls_qcew` `treasury_debt_to_penny` `treasury_avg_interest_rates` `treasury_monthly_statement` `treasury_query_dataset` `bea_regional_data`(無料 BEA_API_KEY 必要) `census_business_patterns`(無料 CENSUS_API_KEY 必要) `fred_search_series`(無料 FRED_API_KEY 必要) `fred_series_observations`(無料 FRED_API_KEY 必要) `gsa_perdiem_rates`(DEMO_KEY キーレス)
177
180
  - **医療・研究資金 — NIH · NSF · ClinicalTrials · CMS · NPPES (9)**: `nih_reporter_search_projects` `nsf_search_awards` `nsf_get_award` `clinicaltrials_search_studies` `clinicaltrials_get_study` `clinicaltrials_facet_counts` `cms_search_datasets` `cms_query_dataset` `nppes_lookup_provider`
178
181
  - **サイバー遵守 — NVD + CISA KEV (2)**: `cve_lookup` `cisa_kev_lookup`
179
182
  - **貿易・関税 — USITC (1)**: `hts_lookup`
180
183
  - **地理・災害・州/市オープンデータ — Census · FEMA · Socrata · CKAN (8)**: `census_geocode_address` `census_geographies_by_coordinates` `fema_disaster_declarations` `fema_search_public_assistance` `socrata_discover_datasets` `socrata_query` `ckan_discover_datasets` `ckan_query`
181
184
  - **データセット発見 — data.gov (1)**: `datagov_search_datasets`
182
185
  - **中小企業 — SBA (1)**: `sba_size_standard`
186
+ - **労務コンプライアンス — US DOL (2)**: `dol_list_datasets`(DOL 執行・遵守データセットのカタログ閲覧 — WHD, OFCCP 等、キーレス) `dol_get_dataset`(DOL 執行記録の取得 — WHD 賃金・労働 / OFCCP; 無料 DOL_API_KEY 必要)
187
+ - **ロビー・影響力 — US Senate LDA (1)**: `lda_search_filings`(上院ロビー届出: 誰がどの機関に、どの争点で、いくら費やすか; キーレス)
188
+ - **サーバーユーティリティ — キー探索 (1)**: `api_key_status`(各ソースに必要なキー・required/optional・登録 URL・現在の設定有無を列挙; 値は表示しない)
183
189
 
184
190
  ---
185
191
 
package/README.ko.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # @cliwant/mcp-sam-gov
2
2
 
3
3
  > **가장 포괄적인 keyless 연방 데이터 MCP 서버.**
4
- > SAM.gov · USAspending · SEC EDGAR · OFAC · FDIC · Federal Register · Regulations.gov · eCFR · FAR/DFARS · BLS · Treasury · NIH · NSF · ClinicalTrials · CMS · NVD/CISA · USITC · Census · FEMA 외 **31keyless 연방 데이터 소스, 111개 도구.**
4
+ > SAM.gov · USAspending · SEC EDGAR · OFAC · FDIC · Federal Register · Regulations.gov · eCFR · FAR/DFARS · BLS · Treasury · NIH · NSF · ClinicalTrials · CMS · NVD/CISA · USITC · Census · FRED · BEA · DOL · FEMA 외 **37개 연방 데이터 소스, 120개 도구.** keyless 우선 — Census business-patterns · FRED · BEA · DOL 데이터 엔드포인트 4개 소스만 무료 키가 필요하고 나머지 33개 소스는 키가 필요 없습니다.
5
5
  > API 키 / 등록 / 가입 불필요. Claude Desktop, Claude Code, Codex CLI, Cursor, Continue, Gemini CLI, 모든 MCP 호스트 호환.
6
6
 
7
7
  [English README](./README.md) · [日本語 README](./README.ja.md)
@@ -19,13 +19,14 @@
19
19
  | 🕵️ **파트너·기업 검증** | "이 업체 스크리닝: OFAC 제재·SAM 배제·단일감사 지적·은행 건전성·EPA 준수" | OFAC, SAM, FAC, FDIC, EPA ECHO |
20
20
  | 📈 **재무 공시 (SEC)** | "이 상장사 매출 추이 + 최신 10-K" | SEC EDGAR |
21
21
  | ⚖️ **규정·입법** | "이번 분기 VA 사이버보안 규정? 열려있는 Regulations.gov docket?" | Federal Register, Regulations.gov, eCFR, FAR/DFARS, Congress.gov, GovInfo |
22
- | 💲 **가격·노무·재정** | "GSA CALC 노무 단가 밴드, 이 카운티 SCA 임금결정, CPI 에스컬레이션" | GSA CALC, SAM WD, BLS, US Treasury |
22
+ | 💲 **가격·노무·재정** | "GSA CALC 노무 단가 밴드, 이 카운티 SCA 임금결정, CPI 에스컬레이션, 출장 per-diem 상한, 지역 산업별 GDP, DOL 임금·근로 집행 이력" | GSA CALC, SAM WD, BLS, US Census CBP, FRED, BEA, US Treasury, GSA per-diem, US DOL |
23
+ | 🏛 **로비·영향력** | "누가 VA 에 사이버보안으로 로비하나, 지출 규모는?" | US Senate LDA |
23
24
  | 🏥 **보건·연구 자금** | "이 주제 NIH/NSF grant, 모집 중 임상시험, 이 의사에 대한 산업계 지급" | NIH RePORTER, NSF, ClinicalTrials, CMS, NPPES |
24
25
  | 🛡 **사이버 준수** | "이 CVE 가 CISA KEV 필수 패치 목록에 있나?" | NVD, CISA KEV |
25
26
  | 🌐 **무역·지리·재난** | "이 품목 HTS 관세, 이 주소 Census tract, 이 주의 FEMA 선포" | USITC HTS, Census, FEMA, Socrata, CKAN |
26
27
  | 🎓 **grant·데이터셋** | "최근 30일 사이버보안 grant, 연방 오픈 데이터셋 발굴" | Grants.gov, data.gov |
27
28
 
28
- **31keyless 연방 데이터 소스, 총 111도구. API 0개.** (초기 52-도구 빌드 기준 대략 p50 ~0.25s / p95 ~0.8s 측정 — 소스·업스트림 부하에 따라 변동하는 근사치이며 보장값이 아님.)
29
+ **37개 연방 데이터 소스, 총 120도구 keyless 우선: Census business-patterns · FRED · BEA · DOL 데이터 엔드포인트 4개 소스만 무료 키가 필요하고 나머지 33개 소스는 키가 필요 없습니다.** (초기 52-도구 빌드 기준 대략 p50 ~0.25s / p95 ~0.8s 측정 — 소스·업스트림 부하에 따라 변동하는 근사치이며 보장값이 아님.)
29
30
 
30
31
  ---
31
32
 
@@ -52,7 +53,7 @@ PowerShell, npm 등 필요 없음.
52
53
  /plugin install cliwant/mcp-sam-gov
53
54
  ```
54
55
 
55
- MCP 서버 + Claude 가 111개 도구를 언제 / 어떻게 호출할지 가르치는 [SKILL.md 워크플로 가이드](./skills/sam-gov/SKILL.md) 동시 등록.
56
+ MCP 서버 + Claude 가 120개 도구를 언제 / 어떻게 호출할지 가르치는 [SKILL.md 워크플로 가이드](./skills/sam-gov/SKILL.md) 동시 등록.
56
57
 
57
58
  ### 🔵 경로 3 — Codex / Cursor / Continue / Gemini 등 수동 설치
58
59
 
@@ -162,24 +163,29 @@ npm install --omit=dev
162
163
 
163
164
  일부 소스(Congress.gov, GovInfo, Regulations.gov, FAC, NPPES, data.gov v4 카탈로그)는 공유 **api.data.gov** 게이트웨이를 사용합니다. 기본은 공개 `DEMO_KEY` 로 **keyless** 동작(낮은 공유 시간당 쿼터). `DATA_GOV_API_KEY` 를 설정하면 한도가 크게 상향됩니다. [api.data.gov/signup](https://api.data.gov/signup) 에서 즉시 무료 발급(대기 없음). 하나의 키가 모든 api.data.gov / api.gsa.gov 소스에 통용됩니다. BLS 소스도 선택적 무료 `BLS_API_KEY` 로 일일 쿼터를 올릴 수 있습니다.
164
165
 
166
+ 키가 *필수*인 소스는 4개뿐입니다 — **Census**(`census_business_patterns`), **FRED**(2개 FRED 도구), **BEA**(`bea_regional_data`), **DOL 데이터 엔드포인트**(`dol_get_dataset`; 카탈로그 `dol_list_datasets` 는 keyless). 모두 무료이며, 전체 키 인벤토리(필수/선택·발급 URL)는 [영문 README 의 키 섹션](./README.md#keys--higher-limits--the-full-inventory)을 기준으로 하세요.
167
+
165
168
  ---
166
169
 
167
- ## 도구 카탈로그 (111개)
170
+ ## 도구 카탈로그 (120개)
168
171
 
169
- 워크플로별 그룹. 모든 도구는 기본 keyless. 전체 per-tool 목록과 입력 schema·정직성 caveat 원문은 [영문 README 의 카탈로그 섹션](./README.md#tool-catalog-111-tools)을 기준으로 하세요.
172
+ 워크플로별 그룹. keyless 우선 대부분 키가 필요 없고, Census business-patterns · FRED · BEA · DOL 데이터 엔드포인트는 무료 키가 필요합니다. 전체 per-tool 목록과 입력 schema·정직성 caveat 원문은 [영문 README 의 카탈로그 섹션](./README.md#tool-catalog-120-tools)을 기준으로 하세요.
170
173
 
171
174
  - **입찰 + 솔리시테이션 — SAM.gov + Grants.gov (10)**: `sam_search_opportunities` `sam_search_shaping` `sam_get_opportunity` `sam_fetch_description` `sam_fetch_attachment_text` `sam_attachment_url` `sam_lookup_organization` `sam_lookup_notice_fields` `grants_search` `grants_get_opportunity`
172
175
  - **spending·수주·경쟁 — USAspending + FPDS + GAO (29)**: `usas_search_awards` `usas_search_individual_awards` `usas_get_award_detail` `usas_search_awards_by_recipient` `usas_search_subawards` `usas_search_recompetes` `usas_search_expiring_contracts`(deprecated) `usas_analyze_incumbent` `usas_search_teaming_partners` `usas_spending_over_time` `usas_search_agency_spending` `usas_search_subagency_spending` `usas_search_psc_spending` `usas_search_cfda_spending` `usas_search_state_spending` `usas_search_federal_account_spending` `usas_search_recipients` `usas_get_recipient_profile` `usas_get_agency_profile` `usas_get_agency_awards_summary` `usas_get_agency_budget_function` `usas_list_toptier_agencies` `usas_lookup_agency` `usas_autocomplete_naics` `usas_autocomplete_recipient` `usas_naics_hierarchy` `usas_glossary` `fpds_search_awards` `gao_protest_lookup`
173
176
  - **파트너·기업 검증 — OFAC · SAM · FAC · FDIC · EPA (14)**: `ofac_screen_entity` `sam_check_exclusions` `sam_integrity_lookup` `fac_search_audits` `fac_get_findings` `fdic_search_institutions` `fdic_institution_financials` `fdic_risk_ratios` `fdic_institution_history` `fdic_branch_deposits` `fdic_bank_failures` `fdic_industry_summary` `echo_search_facilities` `echo_facility_report`
174
177
  - **재무 공시 — SEC EDGAR (8)**: `edgar_lookup_cik` `edgar_company_filings` `edgar_company_facts` `edgar_company_concept` `edgar_xbrl_frames` `edgar_full_text_search` `edgar_filing_index` `edgar_daily_filing_index`
175
178
  - **규정·입법 — Federal Register · Regulations.gov · eCFR · FAR · Congress · GovInfo (18)**: `fed_register_search_documents` `fed_register_get_document` `fed_register_public_inspection` `fed_register_list_agencies` `regulations_search_dockets` `regulations_search_documents` `regulations_search_comments` `regulations_get_docket` `ecfr_search` `ecfr_list_titles` `far_clause_lookup` `far_search` `far_compliance_matrix` `congress_search_bills` `congress_get_bill` `govinfo_search_packages` `govinfo_get_package` `govinfo_list_collections`
176
- - **가격·노무·재정 — GSA CALC · SAM WD · BLS · Treasury (10)**: `gsa_benchmark_labor_rates` `sam_search_wage_determinations` `sam_get_wage_rates` `bls_timeseries` `bls_oews_wages` `bls_qcew` `treasury_debt_to_penny` `treasury_avg_interest_rates` `treasury_monthly_statement` `treasury_query_dataset`
179
+ - **가격·노무·재정 — GSA CALC · SAM WD · BLS · Census CBP · FRED · BEA · Treasury · GSA per-diem (15)**: `gsa_benchmark_labor_rates` `sam_search_wage_determinations` `sam_get_wage_rates` `bls_timeseries` `bls_oews_wages` `bls_qcew` `treasury_debt_to_penny` `treasury_avg_interest_rates` `treasury_monthly_statement` `treasury_query_dataset` `bea_regional_data`(무료 BEA_API_KEY 필요) `census_business_patterns`(무료 CENSUS_API_KEY 필요) `fred_search_series`(무료 FRED_API_KEY 필요) `fred_series_observations`(무료 FRED_API_KEY 필요) `gsa_perdiem_rates`(DEMO_KEY keyless)
177
180
  - **보건·연구 자금 — NIH · NSF · ClinicalTrials · CMS · NPPES (9)**: `nih_reporter_search_projects` `nsf_search_awards` `nsf_get_award` `clinicaltrials_search_studies` `clinicaltrials_get_study` `clinicaltrials_facet_counts` `cms_search_datasets` `cms_query_dataset` `nppes_lookup_provider`
178
181
  - **사이버 준수 — NVD + CISA KEV (2)**: `cve_lookup` `cisa_kev_lookup`
179
182
  - **무역·관세 — USITC (1)**: `hts_lookup`
180
183
  - **지리·재난·주/시 오픈데이터 — Census · FEMA · Socrata · CKAN (8)**: `census_geocode_address` `census_geographies_by_coordinates` `fema_disaster_declarations` `fema_search_public_assistance` `socrata_discover_datasets` `socrata_query` `ckan_discover_datasets` `ckan_query`
181
184
  - **데이터셋 발굴 — data.gov (1)**: `datagov_search_datasets`
182
185
  - **소상공인 — SBA (1)**: `sba_size_standard`
186
+ - **노무 준수 — US DOL (2)**: `dol_list_datasets`(DOL 집행·준수 데이터셋 카탈로그 탐색 — WHD, OFCCP 등, keyless) `dol_get_dataset`(DOL 집행 기록 조회 — WHD 임금·근로 / OFCCP; 무료 DOL_API_KEY 필요)
187
+ - **로비·영향력 — US Senate LDA (1)**: `lda_search_filings`(상원 로비 신고: 누가 어느 기관에, 어떤 이슈로, 얼마를 쓰는지; keyless)
188
+ - **서버 유틸리티 — 키 발견 (1)**: `api_key_status`(각 소스에 필요한 키·required/optional·발급 URL·현재 설정 여부 나열; 값은 노출 안 함)
183
189
 
184
190
  ---
185
191
 
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### **$4 trillion of public federal data, one `npm install` away.**
6
6
 
7
- The most comprehensive **keyless** MCP server for US federal contracting + spending + regulation + partner vetting. **111 tools across 31 keyless federal data sources** that work today, in any AI agent.
7
+ The most comprehensive **keyless-first** MCP server for US federal contracting + spending + regulation + partner vetting. **120 tools across 37 federal data sources** keyless-first: only 4 sources (Census business-patterns, FRED, BEA, and DOL's data endpoint) need a free key; the other 33 sources need none. Works today, in any AI agent.
8
8
 
9
9
  [![npm](https://img.shields.io/npm/v/@cliwant/mcp-sam-gov?color=cb3837&label=%40cliwant%2Fmcp-sam-gov&logo=npm)](https://www.npmjs.com/package/@cliwant/mcp-sam-gov)
10
10
  [![mcp-registry](https://img.shields.io/badge/MCP%20Registry-active-2ea44f?logo=anthropic)](https://registry.modelcontextprotocol.io/v0/servers?search=cliwant)
@@ -50,7 +50,7 @@ The most comprehensive **keyless** MCP server for US federal contracting + spend
50
50
  |---|---|
51
51
  | GovWin: $30K-$100K/yr per seat | Free, MIT license |
52
52
  | API key registration → wait 24h → quota tier shopping | `npm install` → working in 60s |
53
- | 5+ separate vendor APIs / scrapers | 1 unified surface, 111 tools across 31 sources |
53
+ | 5+ separate vendor APIs / scrapers | 1 unified surface, 120 tools across 37 sources |
54
54
  | LLMs hallucinate NAICS codes / agency names | Anti-hallucination autocomplete guards built-in |
55
55
  | Brittle scraping breaks weekly | Daily live smoke test ([badge above](#)) |
56
56
  | Procurement officer → IT ticket → 3-week wait | Claude Desktop double-click install |
@@ -68,13 +68,14 @@ The federal data this wraps is **public domain**. There is no good reason it sho
68
68
  | 🕵️ **Entity & partner vetting** | "Screen this firm: OFAC sanctions, SAM exclusions, single-audit findings, bank health, EPA compliance" | OFAC, SAM, FAC, FDIC, EPA ECHO |
69
69
  | 📈 **Financial disclosure (SEC)** | "Pull this public company's revenue trend and latest 10-K filings" | SEC EDGAR |
70
70
  | ⚖️ **Regulatory & legislative** | "What VA cybersecurity rules were published this quarter? Any open Regulations.gov dockets?" | Federal Register, Regulations.gov, eCFR, FAR/DFARS, Congress.gov, GovInfo |
71
- | 💲 **Pricing, labor & fiscal** | "GSA CALC labor-rate band for a systems analyst; SCA wage determination for this county; CPI escalation" | GSA CALC, SAM WDs, BLS, US Treasury |
71
+ | 💲 **Pricing, labor & fiscal** | "GSA CALC labor-rate band for a systems analyst; SCA wage determination for this county; CPI escalation; per-diem cap for a trip; regional GDP by industry; DOL wage-hour enforcement history" | GSA CALC, SAM WDs, BLS, US Census CBP, FRED, BEA, US Treasury, GSA per-diem, US DOL |
72
+ | 🏛 **Lobbying & influence** | "Who lobbies the VA on cybersecurity, and how much do they spend?" | US Senate LDA |
72
73
  | 🏥 **Health & research funding** | "NIH/NSF grants on this topic; recruiting clinical trials; industry payments to this physician" | NIH RePORTER, NSF, ClinicalTrials.gov, CMS Open Payments, NPPES |
73
74
  | 🛡 **Cyber compliance** | "Is this CVE on the CISA KEV must-patch list?" | NVD, CISA KEV |
74
75
  | 🌐 **Trade, geo & disaster** | "HTS tariff for this product; Census tract for this address; FEMA declarations in this state" | USITC HTS, US Census, FEMA, Socrata, CKAN |
75
76
  | 🎓 **Grants & datasets** | "Cybersecurity grants posted in the last 30 days; discover federal open datasets" | Grants.gov, data.gov |
76
77
 
77
- **111 tools across 31 keyless federal data sources. Zero API keys.** (An earlier 52-tool build measured roughly p50 ~0.25s / p95 ~0.8s against production federal APIs; latency varies by source and upstream load — treat it as fast, not a benchmarked guarantee.)
78
+ **120 tools across 37 federal data sources — keyless-first: only 4 sources (Census business-patterns, FRED, BEA, and DOL's data endpoint) need a free key; the other 33 sources need none.** (An earlier 52-tool build measured roughly p50 ~0.25s / p95 ~0.8s against production federal APIs; latency varies by source and upstream load — treat it as fast, not a benchmarked guarantee.)
78
79
 
79
80
  ---
80
81
 
@@ -101,7 +102,7 @@ If you already use Claude Code (the CLI):
101
102
  /plugin install cliwant/mcp-sam-gov
102
103
  ```
103
104
 
104
- This installs the MCP server **plus** a [SKILL.md](./skills/sam-gov/SKILL.md) workflow guide that teaches Claude when + how to use each of the 111 tools.
105
+ This installs the MCP server **plus** a [SKILL.md](./skills/sam-gov/SKILL.md) workflow guide that teaches Claude when + how to use each of the 120 tools.
105
106
 
106
107
  ### 🔵 Path 3 — Manual install for any MCP host (Codex, Cursor, Continue, Gemini)
107
108
 
@@ -169,7 +170,7 @@ Then point your host config at the absolute path:
169
170
 
170
171
  (Or skip this entirely — use Path 1's `.mcpb` and it auto-configures.)
171
172
 
172
- Restart Claude Desktop fully (system tray quit on Windows / Quit menu on macOS), then look for the 🔨 icon. You should see "sam-gov (111 tools)".
173
+ Restart Claude Desktop fully (system tray quit on Windows / Quit menu on macOS), then look for the 🔨 icon. You should see "sam-gov (120 tools)".
173
174
 
174
175
  ### Claude Code
175
176
 
@@ -342,14 +343,17 @@ Get one free (instant, no wait) at [api.data.gov/signup](https://api.data.gov/si
342
343
 
343
344
  ### Keys & higher limits — the full inventory
344
345
 
345
- **Most tools are keyless.** Only **Census** (`census_business_patterns`) and **FRED** (`fred_search_series`, `fred_series_observations`) *require* a key — those sources have no keyless tier, so the tool throws without one. The other five keys are *optional*: they only raise a rate limit or unlock a single filter. **Every key below is free.**
346
+ **Most tools are keyless.** Four sources *require* a free key — **Census** (`census_business_patterns`), **FRED** (`fred_search_series`, `fred_series_observations`), **BEA** (`bea_regional_data`), and **DOL's data endpoint** (`dol_get_dataset`) — those sources have no keyless tier, so the tool throws without one. (DOL's catalog `dol_list_datasets` is keyless.) The other keys are *optional*: they only raise a rate limit or unlock a single filter. **Every key below is free.**
346
347
 
347
348
  | Env var | Required? | What it unlocks | Free signup |
348
349
  |---|---|---|---|
349
350
  | `CENSUS_API_KEY` | **Required** | `census_business_patterns` (no keyless tier — throws without it) | [api.census.gov/data/key_signup.html](https://api.census.gov/data/key_signup.html) |
350
351
  | `FRED_API_KEY` | **Required** | the 2 FRED tools (no keyless tier — throw without it) | [fred.stlouisfed.org/docs/api/api_key.html](https://fred.stlouisfed.org/docs/api/api_key.html) |
352
+ | `BEA_API_KEY` | **Required** | `bea_regional_data` (BEA Regional; no keyless tier — throws without it) | [apps.bea.gov/API/signup](https://apps.bea.gov/API/signup/) |
353
+ | `DOL_API_KEY` | **Required for data** | `dol_get_dataset` (DOL enforcement records via `X-API-KEY`; the `dol_list_datasets` catalog is keyless) | [dol.gov/developer](https://dol.gov/developer) |
351
354
  | `DATA_GOV_API_KEY` | Optional | higher limits on all api.data.gov sources (Regulations.gov, FAC, NPPES, CMS, data.gov catalog, GSA per-diem) — lifts the shared `DEMO_KEY` cap | [api.data.gov/signup](https://api.data.gov/signup/) |
352
355
  | `SAM_GOV_API_KEY` | Optional | authenticated SAM.gov v2 search + the organization-name filter | [open.gsa.gov/api/get-opportunities-public-api](https://open.gsa.gov/api/get-opportunities-public-api/) |
356
+ | `LDA_API_KEY` | Optional | higher rate limit on `lda_search_filings` (Senate LDA lobbying; keyless by default) | [lda.senate.gov/api/register](https://lda.senate.gov/api/register/) |
353
357
  | `BLS_API_KEY` | Optional | the BLS v2 tier (~500 queries/day vs keyless ~25/day) | [data.bls.gov/registrationEngine](https://data.bls.gov/registrationEngine/) |
354
358
  | `NVD_API_KEY` | Optional | a higher NVD rate limit (`cve_lookup`) | [nvd.nist.gov/developers/request-an-api-key](https://nvd.nist.gov/developers/request-an-api-key) |
355
359
  | `SOCRATA_APP_TOKEN` | Optional | higher Socrata throttling limits | [evergreen.data.socrata.com/signup](https://evergreen.data.socrata.com/signup) |
@@ -370,9 +374,9 @@ Get one free (instant, no wait) at [api.data.gov/signup](https://api.data.gov/si
370
374
 
371
375
  ---
372
376
 
373
- ## Tool catalog (111 tools)
377
+ ## Tool catalog (120 tools)
374
378
 
375
- Grouped by workflow. Every tool is keyless by default; a handful gain higher limits from an optional free key (noted above). Descriptions are condensed — each tool's own `inputSchema` carries the full contract and honesty caveats.
379
+ Grouped by workflow. Keyless-first most tools need no key; Census business-patterns, FRED, BEA, and DOL's data endpoint require a free key, and a handful of others gain higher limits from an optional free key (noted above). Descriptions are condensed — each tool's own `inputSchema` carries the full contract and honesty caveats.
376
380
 
377
381
  <details>
378
382
  <summary><b>Opportunities & solicitations — SAM.gov + Grants.gov (10 tools)</b></summary>
@@ -479,7 +483,7 @@ Grouped by workflow. Every tool is keyless by default; a handful gain higher lim
479
483
  </details>
480
484
 
481
485
  <details>
482
- <summary><b>Pricing, labor & fiscal — GSA CALC · SAM WDs · BLS · US Treasury (10 tools)</b></summary>
486
+ <summary><b>Pricing, labor & fiscal — GSA CALC · SAM WDs · BLS · Census CBP · FRED · BEA · US Treasury · GSA per-diem (15 tools)</b></summary>
483
487
 
484
488
  - `gsa_benchmark_labor_rates` — GSA CALC awarded ceiling-rate market band for a labor category (a distribution, not one price)
485
489
  - `sam_search_wage_determinations` — find SCA / Davis-Bacon wage determinations for a locality
@@ -491,6 +495,11 @@ Grouped by workflow. Every tool is keyless by default; a handful gain higher lim
491
495
  - `treasury_avg_interest_rates` — average interest rate the Treasury pays by security type
492
496
  - `treasury_monthly_statement` — Monthly Treasury Statement: receipts, outlays, deficit/surplus by month
493
497
  - `treasury_query_dataset` — escape-hatch query over 5 confirmed Treasury Fiscal Data datasets
498
+ - `bea_regional_data` — GDP / personal income by industry × geography (BEA Regional; requires free BEA_API_KEY)
499
+ - `census_business_patterns` — establishments / employment / annual payroll by NAICS × geography (Census CBP; requires free CENSUS_API_KEY)
500
+ - `fred_search_series` — search the FRED macroeconomic series catalog (GDP/CPI/rates/unemployment; requires free FRED_API_KEY)
501
+ - `fred_series_observations` — time-series observations for a FRED series (missing values → null; requires free FRED_API_KEY)
502
+ - `gsa_perdiem_rates` — federal travel per-diem: monthly lodging + M&IE meals caps by city+state or zip (keyless via DEMO_KEY)
494
503
  </details>
495
504
 
496
505
  <details>
@@ -545,6 +554,25 @@ Grouped by workflow. Every tool is keyless by default; a handful gain higher lim
545
554
  - `sba_size_standard` — SBA small-business size standard for a 6-digit NAICS (set-aside eligibility gate)
546
555
  </details>
547
556
 
557
+ <details>
558
+ <summary><b>Labor compliance — US DOL (2 tools)</b></summary>
559
+
560
+ - `dol_list_datasets` — browse DOL enforcement/compliance datasets (WHD, OFCCP, …) — keyless catalog
561
+ - `dol_get_dataset` — fetch DOL enforcement records (WHD wage-hour / OFCCP; requires free DOL_API_KEY)
562
+ </details>
563
+
564
+ <details>
565
+ <summary><b>Lobbying & influence — US Senate LDA (1 tool)</b></summary>
566
+
567
+ - `lda_search_filings` — Senate lobbying filings: who lobbies which agency, on what issue, for how much (keyless)
568
+ </details>
569
+
570
+ <details>
571
+ <summary><b>Server utilities — key discovery (1 tool)</b></summary>
572
+
573
+ - `api_key_status` — list which API keys the server can use, required vs optional, signup URLs, and whether each is currently set (value never shown)
574
+ </details>
575
+
548
576
  ---
549
577
 
550
578
  ## Reliability & offline snapshots
package/dist/bea.d.ts ADDED
@@ -0,0 +1,105 @@
1
+ /**
2
+ * bea.ts — BEA (Bureau of Economic Analysis) Regional Economic Accounts — the
3
+ * REGIONAL / SUB-NATIONAL economic lane (ADR-0051). County / state / MSA GDP by
4
+ * industry (CAGDP2 / SAGDP2N) and personal income (CAINC1 / SAINC1) — the
5
+ * place-of-performance market context that neither the national FRED macro series
6
+ * nor the Census establishment counts carry.
7
+ *
8
+ * ★ THIS IS THE SERVER'S THIRD KEY-REQUIRED SOURCE (Census CBP #1, FRED #2). The
9
+ * BEA Data API has NO keyless tier: every request needs `UserID=`. So, honestly:
10
+ * with NO `BEA_API_KEY` this tool THROWS an `invalid_input` config error BEFORE
11
+ * any fetch (never a fake-empty, never a keyless-pretend). The other 116 tools
12
+ * stay keyless — this key is scoped to this one source. (Contrast the OPTIONAL
13
+ * keys of datagov/bls/nvd, which lift a tier but are not required.)
14
+ *
15
+ * This module MIRRORS the census-economic.ts / fred.ts key-required precedent: a
16
+ * `beaApiKey()` env seam, a pre-fetch `invalid_input` THROW when unset, the
17
+ * fixed-host SSRF assert + `redirect:"error"`, and a data-absence-sentinel→null
18
+ * idiom (Census's negative floor / FRED's `"."` — here BEA's string suppression
19
+ * codes `(NA) (D) (NM) (L) *`). It REUSES `getJson` (the shared fetch envelope) /
20
+ * `driftError` / `num`·`str` (coerce.ts, null-never-0/empty) / `withMeta`·`buildMeta`.
21
+ * The key rides ONLY in the `UserID=` query param, NOWHERE else (never the label,
22
+ * `_meta.source`, notes, or a log — the K-test).
23
+ *
24
+ * GET https://apps.bea.gov/api/data
25
+ * ?UserID=<BEA_API_KEY> (REQUIRED)
26
+ * &method=GetData&datasetname=Regional&ResultFormat=json (fixed)
27
+ * &TableName=<tableName> (e.g. CAGDP2, SAGDP2N, CAINC1)
28
+ * &GeoFips=<geoFips> (STATE | county FIPS | MSA)
29
+ * &LineCode=<lineCode> (industry line, or ALL)
30
+ * &Year=<year> (YYYY | LAST5 | ALL)
31
+ * &Frequency=<frequency> (A | Q)
32
+ * → { BEAAPI:{ Results:{ Statistic, UnitOfMeasure, Dimensions:[…],
33
+ * Data:[{ Code, GeoFips, GeoName, TimePeriod, CL_UNIT, UNIT_MULT,
34
+ * DataValue, NoteRef }], Notes:[{ NoteRef, NoteText }] } } }
35
+ *
36
+ * ★ HONESTY (ADR-0051 P1–P5):
37
+ * [KEY] no key ⇒ invalid_input THROW pre-fetch (0 fetch); the message names
38
+ * BEA_API_KEY + the free-signup URL.
39
+ * [P1] BEA GetData returns the COMPLETE set for the filter (no server
40
+ * pagination) ⇒ totalAvailable = the row count, complete:true. NEVER
41
+ * fabricated.
42
+ * [★P2] ★the crux: a missing/invalid key (and any bad-parameter request) returns
43
+ * HTTP **200** carrying `BEAAPI.Results.Error` — NOT an HTTP error status.
44
+ * The catch-ladder checks `Results.Error` FIRST (BEFORE the Data-array
45
+ * drift check) and throws invalid_input SURFACING `APIErrorDescription`
46
+ * (+ code) — NEVER read as an empty result. `Data:[]` (a genuine empty
47
+ * array) ⇒ honest empty (returned:0, complete:true). A 5xx/timeout ⇒
48
+ * upstream_unavailable THROW. A 200 non-JSON ⇒ schema_drift.
49
+ * [★P3] `DataValue` is a STRING WITH COMMAS ("1,234,567") — strip commas then
50
+ * `num()`. The suppression/not-available sentinels `(NA) (D) (NM) (L) *`
51
+ * (and any non-numeric after the comma-strip) map to **null** (withheld),
52
+ * NEVER 0 — a real "0" stays 0. `UNIT_MULT` (power-of-10 multiplier) is
53
+ * reported as `unitMult` and `CL_UNIT` as `unitOfMeasure`; the raw value is
54
+ * surfaced WITH the multiplier — it is NEVER multiplied in (that would lose
55
+ * precision and double-count against the disclosed multiplier).
56
+ * [P4] `BEAAPI` / `Results` / `Data` absent or non-array ⇒ driftError — BUT
57
+ * ONLY after the Results.Error check (an Error response is P2, not drift).
58
+ * [SSRF] fixed host `apps.bea.gov`; `tableName` ^[A-Za-z0-9]{2,20}$; `geoFips`
59
+ * ^[A-Za-z0-9]{2,10}$; `lineCode` ^([0-9]{1,4}|ALL)$; `year`
60
+ * ^\d{4}$|LAST5|ALL; `frequency` {A,Q}. All VALUES ride URLSearchParams;
61
+ * the key rides `UserID=` ONLY.
62
+ */
63
+ import { num } from "./coerce.js";
64
+ import { type MetaBundle } from "./meta.js";
65
+ export { num };
66
+ export declare const BEA_HOST = "apps.bea.gov";
67
+ /** Read BEA_API_KEY from env; trim; return the value or undefined (unset/blank). */
68
+ export declare function beaApiKey(): string | undefined;
69
+ export type BeaRegionalRow = {
70
+ geoFips: string | null;
71
+ geoName: string | null;
72
+ timePeriod: string | null;
73
+ lineCode: string | null;
74
+ dataValue: number | null;
75
+ unitOfMeasure: string | null;
76
+ unitMult: number | null;
77
+ noteRef: string | null;
78
+ };
79
+ export type BeaNote = {
80
+ noteRef: string | null;
81
+ noteText: string | null;
82
+ };
83
+ /**
84
+ * num(), but for BEA's comma-formatted DataValue string. Strips a suppression code
85
+ * ((NA)/(D)/(NM)/(L)/*) → null, otherwise removes thousands commas and defers to
86
+ * num (so "1,234,567" ⇒ 1234567, a genuine "0" ⇒ 0, and any residual non-numeric
87
+ * ⇒ null — NEVER a fabricated 0).
88
+ */
89
+ export declare function beaDataValue(v: unknown): number | null;
90
+ export type BeaRegionalDataArgs = {
91
+ tableName?: string;
92
+ geoFips?: string;
93
+ lineCode?: string;
94
+ year?: string;
95
+ frequency?: string;
96
+ };
97
+ /**
98
+ * Fetch BEA Regional Economic Accounts rows for a table × geography × line filter
99
+ * → normalized rows + summarized BEA Notes + honest `_meta`. REQUIRES BEA_API_KEY
100
+ * (throws invalid_input pre-fetch when unset). ★A missing/invalid key (and any bad
101
+ * parameter) surfaces as an HTTP-200 `BEAAPI.Results.Error` carrier which is
102
+ * detected and thrown as invalid_input BEFORE the Data-array shape check.
103
+ */
104
+ export declare function regionalData(args: BeaRegionalDataArgs): Promise<MetaBundle>;
105
+ //# sourceMappingURL=bea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bea.d.ts","sourceRoot":"","sources":["../src/bea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AACvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAKzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAGf,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AAmCvC,oFAAoF;AACpF,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAI9C;AAGD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOtD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,UAAU,CAAC,CA8MrB"}