us-gov-open-data-mcp 1.0.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.
Files changed (310) hide show
  1. package/README.md +211 -0
  2. package/dist/client.d.ts +54 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +388 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/instructions.d.ts +8 -0
  7. package/dist/instructions.d.ts.map +1 -0
  8. package/dist/instructions.js +549 -0
  9. package/dist/instructions.js.map +1 -0
  10. package/dist/modules/bea.d.ts +28 -0
  11. package/dist/modules/bea.d.ts.map +1 -0
  12. package/dist/modules/bea.js +158 -0
  13. package/dist/modules/bea.js.map +1 -0
  14. package/dist/modules/bls.d.ts +29 -0
  15. package/dist/modules/bls.d.ts.map +1 -0
  16. package/dist/modules/bls.js +244 -0
  17. package/dist/modules/bls.js.map +1 -0
  18. package/dist/modules/bts.d.ts +26 -0
  19. package/dist/modules/bts.d.ts.map +1 -0
  20. package/dist/modules/bts.js +112 -0
  21. package/dist/modules/bts.js.map +1 -0
  22. package/dist/modules/cdc.d.ts +26 -0
  23. package/dist/modules/cdc.d.ts.map +1 -0
  24. package/dist/modules/cdc.js +310 -0
  25. package/dist/modules/cdc.js.map +1 -0
  26. package/dist/modules/census.d.ts +23 -0
  27. package/dist/modules/census.d.ts.map +1 -0
  28. package/dist/modules/census.js +141 -0
  29. package/dist/modules/census.js.map +1 -0
  30. package/dist/modules/cfpb.d.ts +20 -0
  31. package/dist/modules/cfpb.d.ts.map +1 -0
  32. package/dist/modules/cfpb.js +135 -0
  33. package/dist/modules/cfpb.js.map +1 -0
  34. package/dist/modules/clinical-trials.d.ts +22 -0
  35. package/dist/modules/clinical-trials.d.ts.map +1 -0
  36. package/dist/modules/clinical-trials.js +171 -0
  37. package/dist/modules/clinical-trials.js.map +1 -0
  38. package/dist/modules/cms.d.ts +21 -0
  39. package/dist/modules/cms.d.ts.map +1 -0
  40. package/dist/modules/cms.js +135 -0
  41. package/dist/modules/cms.js.map +1 -0
  42. package/dist/modules/college-scorecard.d.ts +39 -0
  43. package/dist/modules/college-scorecard.d.ts.map +1 -0
  44. package/dist/modules/college-scorecard.js +192 -0
  45. package/dist/modules/college-scorecard.js.map +1 -0
  46. package/dist/modules/congress.d.ts +28 -0
  47. package/dist/modules/congress.d.ts.map +1 -0
  48. package/dist/modules/congress.js +883 -0
  49. package/dist/modules/congress.js.map +1 -0
  50. package/dist/modules/dol.d.ts +27 -0
  51. package/dist/modules/dol.d.ts.map +1 -0
  52. package/dist/modules/dol.js +209 -0
  53. package/dist/modules/dol.js.map +1 -0
  54. package/dist/modules/eia.d.ts +33 -0
  55. package/dist/modules/eia.d.ts.map +1 -0
  56. package/dist/modules/eia.js +227 -0
  57. package/dist/modules/eia.js.map +1 -0
  58. package/dist/modules/epa.d.ts +21 -0
  59. package/dist/modules/epa.d.ts.map +1 -0
  60. package/dist/modules/epa.js +91 -0
  61. package/dist/modules/epa.js.map +1 -0
  62. package/dist/modules/fbi.d.ts +28 -0
  63. package/dist/modules/fbi.d.ts.map +1 -0
  64. package/dist/modules/fbi.js +143 -0
  65. package/dist/modules/fbi.js.map +1 -0
  66. package/dist/modules/fda.d.ts +35 -0
  67. package/dist/modules/fda.d.ts.map +1 -0
  68. package/dist/modules/fda.js +262 -0
  69. package/dist/modules/fda.js.map +1 -0
  70. package/dist/modules/fdic.d.ts +21 -0
  71. package/dist/modules/fdic.d.ts.map +1 -0
  72. package/dist/modules/fdic.js +186 -0
  73. package/dist/modules/fdic.js.map +1 -0
  74. package/dist/modules/fec.d.ts +29 -0
  75. package/dist/modules/fec.d.ts.map +1 -0
  76. package/dist/modules/fec.js +282 -0
  77. package/dist/modules/fec.js.map +1 -0
  78. package/dist/modules/federal-register.d.ts +24 -0
  79. package/dist/modules/federal-register.d.ts.map +1 -0
  80. package/dist/modules/federal-register.js +184 -0
  81. package/dist/modules/federal-register.js.map +1 -0
  82. package/dist/modules/fema.d.ts +20 -0
  83. package/dist/modules/fema.d.ts.map +1 -0
  84. package/dist/modules/fema.js +156 -0
  85. package/dist/modules/fema.js.map +1 -0
  86. package/dist/modules/fred.d.ts +40 -0
  87. package/dist/modules/fred.d.ts.map +1 -0
  88. package/dist/modules/fred.js +143 -0
  89. package/dist/modules/fred.js.map +1 -0
  90. package/dist/modules/govinfo.d.ts +24 -0
  91. package/dist/modules/govinfo.d.ts.map +1 -0
  92. package/dist/modules/govinfo.js +147 -0
  93. package/dist/modules/govinfo.js.map +1 -0
  94. package/dist/modules/hud.d.ts +17 -0
  95. package/dist/modules/hud.d.ts.map +1 -0
  96. package/dist/modules/hud.js +170 -0
  97. package/dist/modules/hud.js.map +1 -0
  98. package/dist/modules/naep.d.ts +27 -0
  99. package/dist/modules/naep.d.ts.map +1 -0
  100. package/dist/modules/naep.js +210 -0
  101. package/dist/modules/naep.js.map +1 -0
  102. package/dist/modules/nhtsa.d.ts +13 -0
  103. package/dist/modules/nhtsa.d.ts.map +1 -0
  104. package/dist/modules/nhtsa.js +196 -0
  105. package/dist/modules/nhtsa.js.map +1 -0
  106. package/dist/modules/noaa.d.ts +41 -0
  107. package/dist/modules/noaa.d.ts.map +1 -0
  108. package/dist/modules/noaa.js +135 -0
  109. package/dist/modules/noaa.js.map +1 -0
  110. package/dist/modules/nrel.d.ts +25 -0
  111. package/dist/modules/nrel.d.ts.map +1 -0
  112. package/dist/modules/nrel.js +87 -0
  113. package/dist/modules/nrel.js.map +1 -0
  114. package/dist/modules/regulations.d.ts +24 -0
  115. package/dist/modules/regulations.d.ts.map +1 -0
  116. package/dist/modules/regulations.js +173 -0
  117. package/dist/modules/regulations.js.map +1 -0
  118. package/dist/modules/sec.d.ts +25 -0
  119. package/dist/modules/sec.d.ts.map +1 -0
  120. package/dist/modules/sec.js +192 -0
  121. package/dist/modules/sec.js.map +1 -0
  122. package/dist/modules/senate-lobbying.d.ts +21 -0
  123. package/dist/modules/senate-lobbying.d.ts.map +1 -0
  124. package/dist/modules/senate-lobbying.js +189 -0
  125. package/dist/modules/senate-lobbying.js.map +1 -0
  126. package/dist/modules/treasury.d.ts +23 -0
  127. package/dist/modules/treasury.d.ts.map +1 -0
  128. package/dist/modules/treasury.js +234 -0
  129. package/dist/modules/treasury.js.map +1 -0
  130. package/dist/modules/usaspending.d.ts +19 -0
  131. package/dist/modules/usaspending.d.ts.map +1 -0
  132. package/dist/modules/usaspending.js +204 -0
  133. package/dist/modules/usaspending.js.map +1 -0
  134. package/dist/modules/usda-fooddata.d.ts +24 -0
  135. package/dist/modules/usda-fooddata.d.ts.map +1 -0
  136. package/dist/modules/usda-fooddata.js +118 -0
  137. package/dist/modules/usda-fooddata.js.map +1 -0
  138. package/dist/modules/usda-nass.d.ts +46 -0
  139. package/dist/modules/usda-nass.d.ts.map +1 -0
  140. package/dist/modules/usda-nass.js +151 -0
  141. package/dist/modules/usda-nass.js.map +1 -0
  142. package/dist/modules/usgs.d.ts +21 -0
  143. package/dist/modules/usgs.d.ts.map +1 -0
  144. package/dist/modules/usgs.js +203 -0
  145. package/dist/modules/usgs.js.map +1 -0
  146. package/dist/modules/uspto.d.ts +13 -0
  147. package/dist/modules/uspto.d.ts.map +1 -0
  148. package/dist/modules/uspto.js +157 -0
  149. package/dist/modules/uspto.js.map +1 -0
  150. package/dist/modules/world-bank.d.ts +21 -0
  151. package/dist/modules/world-bank.d.ts.map +1 -0
  152. package/dist/modules/world-bank.js +130 -0
  153. package/dist/modules/world-bank.js.map +1 -0
  154. package/dist/prompts.d.ts +12 -0
  155. package/dist/prompts.d.ts.map +1 -0
  156. package/dist/prompts.js +858 -0
  157. package/dist/prompts.js.map +1 -0
  158. package/dist/sdk/bea.d.ts +111 -0
  159. package/dist/sdk/bea.d.ts.map +1 -0
  160. package/dist/sdk/bea.js +242 -0
  161. package/dist/sdk/bea.js.map +1 -0
  162. package/dist/sdk/bls.d.ts +65 -0
  163. package/dist/sdk/bls.d.ts.map +1 -0
  164. package/dist/sdk/bls.js +203 -0
  165. package/dist/sdk/bls.js.map +1 -0
  166. package/dist/sdk/bts.d.ts +108 -0
  167. package/dist/sdk/bts.d.ts.map +1 -0
  168. package/dist/sdk/bts.js +121 -0
  169. package/dist/sdk/bts.js.map +1 -0
  170. package/dist/sdk/cdc.d.ts +105 -0
  171. package/dist/sdk/cdc.d.ts.map +1 -0
  172. package/dist/sdk/cdc.js +222 -0
  173. package/dist/sdk/cdc.js.map +1 -0
  174. package/dist/sdk/census.d.ts +47 -0
  175. package/dist/sdk/census.d.ts.map +1 -0
  176. package/dist/sdk/census.js +99 -0
  177. package/dist/sdk/census.js.map +1 -0
  178. package/dist/sdk/cfpb.d.ts +148 -0
  179. package/dist/sdk/cfpb.d.ts.map +1 -0
  180. package/dist/sdk/cfpb.js +153 -0
  181. package/dist/sdk/cfpb.js.map +1 -0
  182. package/dist/sdk/clinical-trials.d.ts +214 -0
  183. package/dist/sdk/clinical-trials.d.ts.map +1 -0
  184. package/dist/sdk/clinical-trials.js +134 -0
  185. package/dist/sdk/clinical-trials.js.map +1 -0
  186. package/dist/sdk/cms.d.ts +81 -0
  187. package/dist/sdk/cms.d.ts.map +1 -0
  188. package/dist/sdk/cms.js +227 -0
  189. package/dist/sdk/cms.js.map +1 -0
  190. package/dist/sdk/college-scorecard.d.ts +63 -0
  191. package/dist/sdk/college-scorecard.d.ts.map +1 -0
  192. package/dist/sdk/college-scorecard.js +131 -0
  193. package/dist/sdk/college-scorecard.js.map +1 -0
  194. package/dist/sdk/congress.d.ts +575 -0
  195. package/dist/sdk/congress.d.ts.map +1 -0
  196. package/dist/sdk/congress.js +659 -0
  197. package/dist/sdk/congress.js.map +1 -0
  198. package/dist/sdk/dol.d.ts +299 -0
  199. package/dist/sdk/dol.d.ts.map +1 -0
  200. package/dist/sdk/dol.js +252 -0
  201. package/dist/sdk/dol.js.map +1 -0
  202. package/dist/sdk/eia.d.ts +91 -0
  203. package/dist/sdk/eia.d.ts.map +1 -0
  204. package/dist/sdk/eia.js +156 -0
  205. package/dist/sdk/eia.js.map +1 -0
  206. package/dist/sdk/epa.d.ts +128 -0
  207. package/dist/sdk/epa.d.ts.map +1 -0
  208. package/dist/sdk/epa.js +120 -0
  209. package/dist/sdk/epa.js.map +1 -0
  210. package/dist/sdk/fbi.d.ts +48 -0
  211. package/dist/sdk/fbi.d.ts.map +1 -0
  212. package/dist/sdk/fbi.js +69 -0
  213. package/dist/sdk/fbi.js.map +1 -0
  214. package/dist/sdk/fda.d.ts +356 -0
  215. package/dist/sdk/fda.d.ts.map +1 -0
  216. package/dist/sdk/fda.js +162 -0
  217. package/dist/sdk/fda.js.map +1 -0
  218. package/dist/sdk/fdic.d.ts +227 -0
  219. package/dist/sdk/fdic.d.ts.map +1 -0
  220. package/dist/sdk/fdic.js +172 -0
  221. package/dist/sdk/fdic.js.map +1 -0
  222. package/dist/sdk/fec.d.ts +142 -0
  223. package/dist/sdk/fec.d.ts.map +1 -0
  224. package/dist/sdk/fec.js +92 -0
  225. package/dist/sdk/fec.js.map +1 -0
  226. package/dist/sdk/federal-register.d.ts +88 -0
  227. package/dist/sdk/federal-register.d.ts.map +1 -0
  228. package/dist/sdk/federal-register.js +100 -0
  229. package/dist/sdk/federal-register.js.map +1 -0
  230. package/dist/sdk/fema.d.ts +137 -0
  231. package/dist/sdk/fema.d.ts.map +1 -0
  232. package/dist/sdk/fema.js +197 -0
  233. package/dist/sdk/fema.js.map +1 -0
  234. package/dist/sdk/fred.d.ts +72 -0
  235. package/dist/sdk/fred.d.ts.map +1 -0
  236. package/dist/sdk/fred.js +59 -0
  237. package/dist/sdk/fred.js.map +1 -0
  238. package/dist/sdk/govinfo.d.ts +64 -0
  239. package/dist/sdk/govinfo.d.ts.map +1 -0
  240. package/dist/sdk/govinfo.js +187 -0
  241. package/dist/sdk/govinfo.js.map +1 -0
  242. package/dist/sdk/hud.d.ts +87 -0
  243. package/dist/sdk/hud.d.ts.map +1 -0
  244. package/dist/sdk/hud.js +91 -0
  245. package/dist/sdk/hud.js.map +1 -0
  246. package/dist/sdk/index.d.ts +51 -0
  247. package/dist/sdk/index.d.ts.map +1 -0
  248. package/dist/sdk/index.js +51 -0
  249. package/dist/sdk/index.js.map +1 -0
  250. package/dist/sdk/naep.d.ts +93 -0
  251. package/dist/sdk/naep.d.ts.map +1 -0
  252. package/dist/sdk/naep.js +163 -0
  253. package/dist/sdk/naep.js.map +1 -0
  254. package/dist/sdk/nhtsa.d.ts +169 -0
  255. package/dist/sdk/nhtsa.d.ts.map +1 -0
  256. package/dist/sdk/nhtsa.js +102 -0
  257. package/dist/sdk/nhtsa.js.map +1 -0
  258. package/dist/sdk/noaa.d.ts +72 -0
  259. package/dist/sdk/noaa.d.ts.map +1 -0
  260. package/dist/sdk/noaa.js +64 -0
  261. package/dist/sdk/noaa.js.map +1 -0
  262. package/dist/sdk/nrel.d.ts +145 -0
  263. package/dist/sdk/nrel.d.ts.map +1 -0
  264. package/dist/sdk/nrel.js +93 -0
  265. package/dist/sdk/nrel.js.map +1 -0
  266. package/dist/sdk/regulations.d.ts +146 -0
  267. package/dist/sdk/regulations.d.ts.map +1 -0
  268. package/dist/sdk/regulations.js +103 -0
  269. package/dist/sdk/regulations.js.map +1 -0
  270. package/dist/sdk/sec.d.ts +114 -0
  271. package/dist/sdk/sec.d.ts.map +1 -0
  272. package/dist/sdk/sec.js +151 -0
  273. package/dist/sdk/sec.js.map +1 -0
  274. package/dist/sdk/senate-lobbying.d.ts +147 -0
  275. package/dist/sdk/senate-lobbying.d.ts.map +1 -0
  276. package/dist/sdk/senate-lobbying.js +125 -0
  277. package/dist/sdk/senate-lobbying.js.map +1 -0
  278. package/dist/sdk/treasury.d.ts +59 -0
  279. package/dist/sdk/treasury.d.ts.map +1 -0
  280. package/dist/sdk/treasury.js +1397 -0
  281. package/dist/sdk/treasury.js.map +1 -0
  282. package/dist/sdk/usaspending.d.ts +126 -0
  283. package/dist/sdk/usaspending.d.ts.map +1 -0
  284. package/dist/sdk/usaspending.js +270 -0
  285. package/dist/sdk/usaspending.js.map +1 -0
  286. package/dist/sdk/usda-fooddata.d.ts +112 -0
  287. package/dist/sdk/usda-fooddata.d.ts.map +1 -0
  288. package/dist/sdk/usda-fooddata.js +80 -0
  289. package/dist/sdk/usda-fooddata.js.map +1 -0
  290. package/dist/sdk/usda-nass.d.ts +75 -0
  291. package/dist/sdk/usda-nass.d.ts.map +1 -0
  292. package/dist/sdk/usda-nass.js +83 -0
  293. package/dist/sdk/usda-nass.js.map +1 -0
  294. package/dist/sdk/usgs.d.ts +221 -0
  295. package/dist/sdk/usgs.d.ts.map +1 -0
  296. package/dist/sdk/usgs.js +182 -0
  297. package/dist/sdk/usgs.js.map +1 -0
  298. package/dist/sdk/uspto.d.ts +109 -0
  299. package/dist/sdk/uspto.d.ts.map +1 -0
  300. package/dist/sdk/uspto.js +286 -0
  301. package/dist/sdk/uspto.js.map +1 -0
  302. package/dist/sdk/world-bank.d.ts +78 -0
  303. package/dist/sdk/world-bank.d.ts.map +1 -0
  304. package/dist/sdk/world-bank.js +72 -0
  305. package/dist/sdk/world-bank.js.map +1 -0
  306. package/dist/server.d.ts +22 -0
  307. package/dist/server.d.ts.map +1 -0
  308. package/dist/server.js +196 -0
  309. package/dist/server.js.map +1 -0
  310. package/package.json +113 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * FRED SDK — typed API client for FRED (Federal Reserve Economic Data).
3
+ *
4
+ * Standalone — no MCP server required. Usage:
5
+ *
6
+ * import { getObservations, searchSeries } from "us-gov-open-data/sdk/fred";
7
+ *
8
+ * const gdp = await getObservations("GDP", { start: "2024-01-01" });
9
+ * console.log(gdp.observations);
10
+ *
11
+ * Requires FRED_API_KEY env var. Get one at https://fredaccount.stlouisfed.org/apikeys
12
+ */
13
+ import { createClient } from "../client.js";
14
+ // ─── Client ──────────────────────────────────────────────────────────
15
+ const api = createClient({
16
+ baseUrl: "https://api.stlouisfed.org",
17
+ name: "fred",
18
+ auth: { type: "query", key: "api_key", envVar: "FRED_API_KEY", extraParams: { file_type: "json" } },
19
+ rateLimit: { perSecond: 2, burst: 5 },
20
+ cacheTtlMs: 60 * 60 * 1000, // 1 hour — FRED data updates a few times/day at most
21
+ });
22
+ // ─── Public API ──────────────────────────────────────────────────────
23
+ /** Search FRED series by keyword. */
24
+ export async function searchSeries(query, limit = 20) {
25
+ return api.get("/fred/series/search", {
26
+ search_text: query, limit, order_by: "search_rank",
27
+ });
28
+ }
29
+ /** Get metadata for a single series. */
30
+ export async function getSeriesInfo(seriesId) {
31
+ const data = await api.get("/fred/series", {
32
+ series_id: seriesId.toUpperCase(),
33
+ });
34
+ return data.seriess?.[0] ?? null;
35
+ }
36
+ /** Get observation values for a series. */
37
+ export async function getObservations(seriesId, opts = {}) {
38
+ const tenYearsAgo = new Date();
39
+ tenYearsAgo.setFullYear(tenYearsAgo.getFullYear() - 10);
40
+ return api.get("/fred/series/observations", {
41
+ series_id: seriesId.toUpperCase(),
42
+ observation_start: opts.start ?? tenYearsAgo.toISOString().split("T")[0],
43
+ observation_end: opts.end,
44
+ limit: opts.limit ?? 1000,
45
+ sort_order: opts.sort ?? "desc",
46
+ frequency: opts.frequency,
47
+ });
48
+ }
49
+ /** Bulk fetch all series in a FRED release (v2 API). */
50
+ export async function getReleaseData(releaseId, limit) {
51
+ return api.get("/fred/v2/release/observations", {
52
+ release_id: releaseId, format: "json", ...(limit ? { limit } : {}),
53
+ });
54
+ }
55
+ /** Clear cached responses. */
56
+ export function clearCache() {
57
+ api.clearCache();
58
+ }
59
+ //# sourceMappingURL=fred.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fred.js","sourceRoot":"","sources":["../../src/sdk/fred.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,wEAAwE;AAExE,MAAM,GAAG,GAAG,YAAY,CAAC;IACvB,OAAO,EAAE,4BAA4B;IACrC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnG,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;IACrC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,qDAAqD;CAClF,CAAC,CAAC;AAkDH,wEAAwE;AAExE,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,KAAK,GAAG,EAAE;IAC1D,OAAO,GAAG,CAAC,GAAG,CAAmB,qBAAqB,EAAE;QACtD,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa;KACnD,CAAC,CAAC;AACL,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB;IAClD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAA4B,cAAc,EAAE;QACpE,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE;KAClC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAMpD,EAAE;IACJ,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAExD,OAAO,GAAG,CAAC,GAAG,CAAmB,2BAA2B,EAAE;QAC5D,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE;QACjC,iBAAiB,EAAE,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,eAAe,EAAE,IAAI,CAAC,GAAG;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,MAAM;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,KAAc;IACpE,OAAO,GAAG,CAAC,GAAG,CAAoB,+BAA+B,EAAE;QACjE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,UAAU;IACxB,GAAG,CAAC,UAAU,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * GovInfo SDK — typed API client for GovInfo (Government Publishing Office).
3
+ *
4
+ * Standalone — no MCP server required. Usage:
5
+ *
6
+ * import { searchPublications, getBillText } from "us-gov-open-data/sdk/govinfo";
7
+ *
8
+ * const results = await searchPublications({ query: "infrastructure" });
9
+ * const bill = await getBillText({ congress: 117, billType: "hr", billNumber: 5376 });
10
+ *
11
+ * Requires DATA_GOV_API_KEY env var. Get one at https://api.data.gov/signup/
12
+ * (Same key used by FBI Crime Data.)
13
+ */
14
+ export interface PublicationResult {
15
+ title: string;
16
+ packageId: string;
17
+ dateIssued: string;
18
+ collectionCode: string;
19
+ }
20
+ export interface SearchResult {
21
+ total: number;
22
+ results: PublicationResult[];
23
+ }
24
+ export interface BillTextResult {
25
+ packageId: string;
26
+ title: string;
27
+ dateIssued: string | null;
28
+ pages: number | string | null;
29
+ textSource: string | null;
30
+ textLength: number;
31
+ truncated: boolean;
32
+ text: string;
33
+ }
34
+ /** GovInfo collection codes. */
35
+ export declare const collections: Record<string, string>;
36
+ /** Package ID format for bills. */
37
+ export declare const billVersions: Record<string, string>;
38
+ /** Search across all government publications. */
39
+ export declare function searchPublications(params: {
40
+ query: string;
41
+ collection?: string;
42
+ congress?: number;
43
+ pageSize?: number;
44
+ }): Promise<SearchResult>;
45
+ /** Search for CBO cost estimates and committee reports. */
46
+ export declare function searchCboReports(query: string, pageSize?: number): Promise<SearchResult>;
47
+ /** Get a package summary (metadata). */
48
+ export declare function getPackageSummary(packageId: string): Promise<Record<string, unknown>>;
49
+ /** Get sub-documents (granules) within a package. */
50
+ export declare function getPackageGranules(packageId: string, pageSize?: number): Promise<Record<string, unknown>[]>;
51
+ /**
52
+ * Get the full text of a bill or enacted law.
53
+ * Multi-step: metadata → HTML link → text link → granules fallback → HTML stripping.
54
+ */
55
+ export declare function getBillText(opts: {
56
+ congress: number;
57
+ billType: string;
58
+ billNumber: number;
59
+ version?: string;
60
+ maxLength?: number;
61
+ }): Promise<BillTextResult>;
62
+ /** Clear cached responses. */
63
+ export declare function clearCache(): void;
64
+ //# sourceMappingURL=govinfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govinfo.d.ts","sourceRoot":"","sources":["../../src/sdk/govinfo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAID,gCAAgC;AAChC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsB9C,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU/C,CAAC;AAmCF,iDAAiD;AACjD,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,YAAY,CAAC,CAoBxB;AAED,2DAA2D;AAC3D,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAM9F;AAED,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAE3F;AAED,qDAAqD;AACrD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAK5G;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6C1B;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
@@ -0,0 +1,187 @@
1
+ /**
2
+ * GovInfo SDK — typed API client for GovInfo (Government Publishing Office).
3
+ *
4
+ * Standalone — no MCP server required. Usage:
5
+ *
6
+ * import { searchPublications, getBillText } from "us-gov-open-data/sdk/govinfo";
7
+ *
8
+ * const results = await searchPublications({ query: "infrastructure" });
9
+ * const bill = await getBillText({ congress: 117, billType: "hr", billNumber: 5376 });
10
+ *
11
+ * Requires DATA_GOV_API_KEY env var. Get one at https://api.data.gov/signup/
12
+ * (Same key used by FBI Crime Data.)
13
+ */
14
+ import { createClient } from "../client.js";
15
+ // ─── Client ──────────────────────────────────────────────────────────
16
+ const api = createClient({
17
+ baseUrl: "https://api.govinfo.gov",
18
+ name: "govinfo",
19
+ auth: { type: "query", key: "api_key", envVar: "DATA_GOV_API_KEY" },
20
+ rateLimit: { perSecond: 3, burst: 8 },
21
+ cacheTtlMs: 60 * 60 * 1000, // 1 hour — published docs don't change
22
+ });
23
+ // ─── Reference Data ──────────────────────────────────────────────────
24
+ /** GovInfo collection codes. */
25
+ export const collections = {
26
+ BILLS: "Congressional Bills",
27
+ BILLSTATUS: "Congressional Bill Status",
28
+ BILLSUM: "Congressional Bill Summaries",
29
+ PLAW: "Public Laws",
30
+ STATUTE: "Statutes at Large",
31
+ CRPT: "Congressional Reports (committee reports)",
32
+ CREC: "Congressional Record (daily edition)",
33
+ CRECB: "Congressional Record (bound edition)",
34
+ CDOC: "Congressional Documents",
35
+ CHRG: "Congressional Hearings",
36
+ FR: "Federal Register",
37
+ CFR: "Code of Federal Regulations",
38
+ CPD: "Compilation of Presidential Documents",
39
+ BUDGET: "United States Budget",
40
+ ECFR: "Electronic Code of Federal Regulations",
41
+ GAOREPORTS: "GAO Reports and Comptroller General Decisions",
42
+ GOVPUB: "Government Publications",
43
+ HJOURNAL: "House Journal",
44
+ SJOURNAL: "Senate Journal",
45
+ USCODE: "United States Code",
46
+ USCOURTS: "United States Courts Opinions",
47
+ };
48
+ /** Package ID format for bills. */
49
+ export const billVersions = {
50
+ enr: "Enrolled (signed by President)",
51
+ eh: "Engrossed in House (passed House)",
52
+ es: "Engrossed in Senate (passed Senate)",
53
+ ih: "Introduced in House",
54
+ is: "Introduced in Senate",
55
+ rh: "Reported in House",
56
+ rs: "Reported in Senate",
57
+ pcs: "Placed on Calendar Senate",
58
+ ats: "Agreed to Senate",
59
+ };
60
+ // ─── Internal Helpers ────────────────────────────────────────────────
61
+ /** Fetch raw text/HTML content. Uses raw fetch (not the JSON client) since these return HTML/text. */
62
+ async function fetchRawText(url) {
63
+ const key = process.env.DATA_GOV_API_KEY || "";
64
+ const sep = url.includes("?") ? "&" : "?";
65
+ try {
66
+ const res = await fetch(`${url}${sep}api_key=${key}`);
67
+ if (!res.ok)
68
+ return null;
69
+ return await res.text();
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ /** Strip HTML tags and normalize whitespace. */
76
+ function stripHtml(html) {
77
+ return html
78
+ .replace(/<style[^>]*>[\s\S]*?<\/style>/gi, "")
79
+ .replace(/<script[^>]*>[\s\S]*?<\/script>/gi, "")
80
+ .replace(/<[^>]+>/g, " ")
81
+ .replace(/&nbsp;/g, " ")
82
+ .replace(/&amp;/g, "&")
83
+ .replace(/&lt;/g, "<")
84
+ .replace(/&gt;/g, ">")
85
+ .replace(/&quot;/g, '"')
86
+ .replace(/&#39;/g, "'")
87
+ .replace(/\s+/g, " ")
88
+ .trim();
89
+ }
90
+ // ─── Public API ──────────────────────────────────────────────────────
91
+ /** Search across all government publications. */
92
+ export async function searchPublications(params) {
93
+ const body = {
94
+ query: params.query,
95
+ pageSize: params.pageSize ?? 10,
96
+ offsetMark: "*",
97
+ };
98
+ if (params.collection)
99
+ body.collection = params.collection;
100
+ if (params.congress)
101
+ body.congress = params.congress;
102
+ const res = await api.post("/search", body);
103
+ return {
104
+ total: res.count ?? res.results?.length ?? 0,
105
+ results: (res.results ?? []).map(r => ({
106
+ title: r.title || "",
107
+ packageId: r.packageId || "",
108
+ dateIssued: r.dateIssued || "",
109
+ collectionCode: r.collectionCode || "",
110
+ })),
111
+ };
112
+ }
113
+ /** Search for CBO cost estimates and committee reports. */
114
+ export async function searchCboReports(query, pageSize) {
115
+ return searchPublications({
116
+ query: `${query} CBO`,
117
+ collection: "CRPT",
118
+ pageSize: pageSize ?? 10,
119
+ });
120
+ }
121
+ /** Get a package summary (metadata). */
122
+ export async function getPackageSummary(packageId) {
123
+ return api.get(`/packages/${packageId}/summary`);
124
+ }
125
+ /** Get sub-documents (granules) within a package. */
126
+ export async function getPackageGranules(packageId, pageSize = 5) {
127
+ const res = await api.get(`/packages/${packageId}/granules`, { pageSize });
128
+ return res.granules ?? [];
129
+ }
130
+ /**
131
+ * Get the full text of a bill or enacted law.
132
+ * Multi-step: metadata → HTML link → text link → granules fallback → HTML stripping.
133
+ */
134
+ export async function getBillText(opts) {
135
+ const ver = opts.version || "enr";
136
+ const packageId = `BILLS-${opts.congress}${opts.billType.toLowerCase()}${opts.billNumber}${ver}`;
137
+ // Step 1: get metadata
138
+ const meta = await getPackageSummary(packageId);
139
+ let text = "";
140
+ let textSource = "";
141
+ // Step 2: try HTML, then plain text
142
+ if (meta.htmlLink) {
143
+ const html = await fetchRawText(meta.htmlLink);
144
+ if (html) {
145
+ text = stripHtml(html);
146
+ textSource = "HTML";
147
+ }
148
+ }
149
+ if (!text && meta.txtLink) {
150
+ const txt = await fetchRawText(meta.txtLink);
151
+ if (txt) {
152
+ text = txt;
153
+ textSource = "Plain text";
154
+ }
155
+ }
156
+ // Step 3: fallback to granules
157
+ if (!text) {
158
+ const granules = await getPackageGranules(packageId, 5);
159
+ for (const g of granules) {
160
+ if (g.htmlLink) {
161
+ const html = await fetchRawText(g.htmlLink);
162
+ if (html) {
163
+ text = stripHtml(html);
164
+ textSource = "Granule HTML";
165
+ break;
166
+ }
167
+ }
168
+ }
169
+ }
170
+ const maxLen = opts.maxLength || 15000;
171
+ const truncated = text.length > maxLen;
172
+ return {
173
+ packageId,
174
+ title: meta.title || packageId,
175
+ dateIssued: meta.dateIssued || null,
176
+ pages: meta.pages || null,
177
+ textSource: textSource || null,
178
+ textLength: text.length,
179
+ truncated,
180
+ text: truncated ? text.substring(0, maxLen) : text,
181
+ };
182
+ }
183
+ /** Clear cached responses. */
184
+ export function clearCache() {
185
+ api.clearCache();
186
+ }
187
+ //# sourceMappingURL=govinfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"govinfo.js","sourceRoot":"","sources":["../../src/sdk/govinfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * HUD SDK — typed API client for Fair Market Rents & Income Limits.
3
+ *
4
+ * Standalone — no MCP server required. Usage:
5
+ *
6
+ * import { getFairMarketRents, getIncomeLimits } from "us-gov-open-data/sdk/hud";
7
+ *
8
+ * Requires HUD_USER_TOKEN from https://www.huduser.gov/hudapi/public/register
9
+ * Docs: https://www.huduser.gov/portal/dataset/fmr-api.html
10
+ */
11
+ export interface HudState {
12
+ state_code: string;
13
+ state_name: string;
14
+ state_num?: string;
15
+ }
16
+ export interface HudCounty {
17
+ county_name: string;
18
+ fips_code: string;
19
+ town_name?: string;
20
+ state_code?: string;
21
+ }
22
+ export interface HudMetroArea {
23
+ cbsa_code: string;
24
+ area_name: string;
25
+ }
26
+ export interface FairMarketRent {
27
+ county_name?: string;
28
+ metro_name?: string;
29
+ area_name?: string;
30
+ state_name?: string;
31
+ year?: number | string;
32
+ Efficiency?: number;
33
+ "One-Bedroom"?: number;
34
+ "Two-Bedroom"?: number;
35
+ "Three-Bedroom"?: number;
36
+ "Four-Bedroom"?: number;
37
+ efficiency?: number;
38
+ one_bedroom?: number;
39
+ two_bedroom?: number;
40
+ three_bedroom?: number;
41
+ four_bedroom?: number;
42
+ basicdata?: Record<string, unknown>;
43
+ [key: string]: unknown;
44
+ }
45
+ export interface IncomeLimit {
46
+ county_name?: string;
47
+ metro_name?: string;
48
+ area_name?: string;
49
+ state_name?: string;
50
+ year?: number | string;
51
+ median_income?: number;
52
+ very_low?: Record<string, number>;
53
+ extremely_low?: Record<string, number>;
54
+ low?: Record<string, number>;
55
+ [key: string]: unknown;
56
+ }
57
+ /**
58
+ * List all U.S. states with their codes.
59
+ */
60
+ export declare function listStates(): Promise<HudState[]>;
61
+ /**
62
+ * List counties in a state.
63
+ */
64
+ export declare function listCounties(stateId: string): Promise<HudCounty[]>;
65
+ /**
66
+ * List metropolitan/CBSA areas.
67
+ */
68
+ export declare function listMetroAreas(): Promise<HudMetroArea[]>;
69
+ /**
70
+ * Get Fair Market Rents for a specific entity (county, metro area, or CBSA code).
71
+ */
72
+ export declare function getFairMarketRents(entityId: string, year?: number): Promise<FairMarketRent>;
73
+ /**
74
+ * Get Fair Market Rents for an entire state.
75
+ */
76
+ export declare function getStateFairMarketRents(stateCode: string, year?: number): Promise<FairMarketRent>;
77
+ /**
78
+ * Get Income Limits for a specific entity (county, metro area, or CBSA code).
79
+ */
80
+ export declare function getIncomeLimits(entityId: string, year?: number): Promise<IncomeLimit>;
81
+ /**
82
+ * Get Income Limits for an entire state.
83
+ */
84
+ export declare function getStateIncomeLimits(stateCode: string, year?: number): Promise<IncomeLimit>;
85
+ /** Clear the HUD SDK cache. */
86
+ export declare function clearCache(): void;
87
+ //# sourceMappingURL=hud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hud.d.ts","sourceRoot":"","sources":["../../src/sdk/hud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqBH,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGtD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAGxE;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAG9D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAKjG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAKvG;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAK3F;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAKjG;AAED,+BAA+B;AAC/B,wBAAgB,UAAU,SAEzB"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * HUD SDK — typed API client for Fair Market Rents & Income Limits.
3
+ *
4
+ * Standalone — no MCP server required. Usage:
5
+ *
6
+ * import { getFairMarketRents, getIncomeLimits } from "us-gov-open-data/sdk/hud";
7
+ *
8
+ * Requires HUD_USER_TOKEN from https://www.huduser.gov/hudapi/public/register
9
+ * Docs: https://www.huduser.gov/portal/dataset/fmr-api.html
10
+ */
11
+ import { createClient } from "../client.js";
12
+ // ─── Client ──────────────────────────────────────────────────────────
13
+ const api = createClient({
14
+ baseUrl: "https://www.huduser.gov/hudapi/public",
15
+ name: "hud",
16
+ auth: {
17
+ type: "header",
18
+ key: "Authorization",
19
+ envVar: "HUD_USER_TOKEN",
20
+ prefix: "Bearer ",
21
+ },
22
+ rateLimit: { perSecond: 2, burst: 5 },
23
+ cacheTtlMs: 7 * 24 * 60 * 60 * 1000, // 7 days — FMR/IL data updates annually
24
+ });
25
+ // ─── Public API ──────────────────────────────────────────────────────
26
+ /**
27
+ * List all U.S. states with their codes.
28
+ */
29
+ export async function listStates() {
30
+ const res = (await api.get("/fmr/listStates"));
31
+ return Array.isArray(res) ? res : [];
32
+ }
33
+ /**
34
+ * List counties in a state.
35
+ */
36
+ export async function listCounties(stateId) {
37
+ const res = (await api.get(`/fmr/listCounties/${encodeURIComponent(stateId.toUpperCase())}`));
38
+ return Array.isArray(res) ? res : [];
39
+ }
40
+ /**
41
+ * List metropolitan/CBSA areas.
42
+ */
43
+ export async function listMetroAreas() {
44
+ const res = (await api.get("/fmr/listMetroAreas"));
45
+ return Array.isArray(res) ? res : [];
46
+ }
47
+ /**
48
+ * Get Fair Market Rents for a specific entity (county, metro area, or CBSA code).
49
+ */
50
+ export async function getFairMarketRents(entityId, year) {
51
+ const params = {};
52
+ if (year)
53
+ params.year = String(year);
54
+ const res = (await api.get(`/fmr/data/${encodeURIComponent(entityId)}`, params));
55
+ return (typeof res === "object" && res !== null ? res : {});
56
+ }
57
+ /**
58
+ * Get Fair Market Rents for an entire state.
59
+ */
60
+ export async function getStateFairMarketRents(stateCode, year) {
61
+ const params = {};
62
+ if (year)
63
+ params.year = String(year);
64
+ const res = (await api.get(`/fmr/statedata/${encodeURIComponent(stateCode.toUpperCase())}`, params));
65
+ return (typeof res === "object" && res !== null ? res : {});
66
+ }
67
+ /**
68
+ * Get Income Limits for a specific entity (county, metro area, or CBSA code).
69
+ */
70
+ export async function getIncomeLimits(entityId, year) {
71
+ const params = {};
72
+ if (year)
73
+ params.year = String(year);
74
+ const res = (await api.get(`/il/data/${encodeURIComponent(entityId)}`, params));
75
+ return (typeof res === "object" && res !== null ? res : {});
76
+ }
77
+ /**
78
+ * Get Income Limits for an entire state.
79
+ */
80
+ export async function getStateIncomeLimits(stateCode, year) {
81
+ const params = {};
82
+ if (year)
83
+ params.year = String(year);
84
+ const res = (await api.get(`/il/statedata/${encodeURIComponent(stateCode.toUpperCase())}`, params));
85
+ return (typeof res === "object" && res !== null ? res : {});
86
+ }
87
+ /** Clear the HUD SDK cache. */
88
+ export function clearCache() {
89
+ api.clearCache();
90
+ }
91
+ //# sourceMappingURL=hud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hud.js","sourceRoot":"","sources":["../../src/sdk/hud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * SDK barrel export — import any SDK function without running the MCP server.
3
+ *
4
+ * Usage:
5
+ * import { searchBills, getBillDetails } from "us-gov-open-data-mcp/sdk/congress";
6
+ * import { searchFilings } from "us-gov-open-data-mcp/sdk/senate-lobbying";
7
+ *
8
+ * Or import everything:
9
+ * import * as sdk from "us-gov-open-data-mcp/sdk";
10
+ * const bills = await sdk.congress.searchBills({ congress: 118 });
11
+ *
12
+ * Each sub-module is a standalone typed client with caching, retry, and rate limiting.
13
+ * No MCP or Zod dependency required — just set the relevant API key env var.
14
+ */
15
+ export * as bea from "./bea.js";
16
+ export * as bls from "./bls.js";
17
+ export * as cdc from "./cdc.js";
18
+ export * as census from "./census.js";
19
+ export * as cfpb from "./cfpb.js";
20
+ export * as cms from "./cms.js";
21
+ export * as collegeScorecard from "./college-scorecard.js";
22
+ export * as congress from "./congress.js";
23
+ export * as dol from "./dol.js";
24
+ export * as eia from "./eia.js";
25
+ export * as epa from "./epa.js";
26
+ export * as fbi from "./fbi.js";
27
+ export * as fda from "./fda.js";
28
+ export * as fdic from "./fdic.js";
29
+ export * as fec from "./fec.js";
30
+ export * as federalRegister from "./federal-register.js";
31
+ export * as fema from "./fema.js";
32
+ export * as fred from "./fred.js";
33
+ export * as govinfo from "./govinfo.js";
34
+ export * as hud from "./hud.js";
35
+ export * as naep from "./naep.js";
36
+ export * as nhtsa from "./nhtsa.js";
37
+ export * as noaa from "./noaa.js";
38
+ export * as nrel from "./nrel.js";
39
+ export * as regulations from "./regulations.js";
40
+ export * as sec from "./sec.js";
41
+ export * as senateLobbying from "./senate-lobbying.js";
42
+ export * as treasury from "./treasury.js";
43
+ export * as usaspending from "./usaspending.js";
44
+ export * as usdaFooddata from "./usda-fooddata.js";
45
+ export * as usdaNass from "./usda-nass.js";
46
+ export * as uspto from "./uspto.js";
47
+ export * as worldBank from "./world-bank.js";
48
+ export * as usgs from "./usgs.js";
49
+ export * as clinicalTrials from "./clinical-trials.js";
50
+ export * as bts from "./bts.js";
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * SDK barrel export — import any SDK function without running the MCP server.
3
+ *
4
+ * Usage:
5
+ * import { searchBills, getBillDetails } from "us-gov-open-data-mcp/sdk/congress";
6
+ * import { searchFilings } from "us-gov-open-data-mcp/sdk/senate-lobbying";
7
+ *
8
+ * Or import everything:
9
+ * import * as sdk from "us-gov-open-data-mcp/sdk";
10
+ * const bills = await sdk.congress.searchBills({ congress: 118 });
11
+ *
12
+ * Each sub-module is a standalone typed client with caching, retry, and rate limiting.
13
+ * No MCP or Zod dependency required — just set the relevant API key env var.
14
+ */
15
+ export * as bea from "./bea.js";
16
+ export * as bls from "./bls.js";
17
+ export * as cdc from "./cdc.js";
18
+ export * as census from "./census.js";
19
+ export * as cfpb from "./cfpb.js";
20
+ export * as cms from "./cms.js";
21
+ export * as collegeScorecard from "./college-scorecard.js";
22
+ export * as congress from "./congress.js";
23
+ export * as dol from "./dol.js";
24
+ export * as eia from "./eia.js";
25
+ export * as epa from "./epa.js";
26
+ export * as fbi from "./fbi.js";
27
+ export * as fda from "./fda.js";
28
+ export * as fdic from "./fdic.js";
29
+ export * as fec from "./fec.js";
30
+ export * as federalRegister from "./federal-register.js";
31
+ export * as fema from "./fema.js";
32
+ export * as fred from "./fred.js";
33
+ export * as govinfo from "./govinfo.js";
34
+ export * as hud from "./hud.js";
35
+ export * as naep from "./naep.js";
36
+ export * as nhtsa from "./nhtsa.js";
37
+ export * as noaa from "./noaa.js";
38
+ export * as nrel from "./nrel.js";
39
+ export * as regulations from "./regulations.js";
40
+ export * as sec from "./sec.js";
41
+ export * as senateLobbying from "./senate-lobbying.js";
42
+ export * as treasury from "./treasury.js";
43
+ export * as usaspending from "./usaspending.js";
44
+ export * as usdaFooddata from "./usda-fooddata.js";
45
+ export * as usdaNass from "./usda-nass.js";
46
+ export * as uspto from "./uspto.js";
47
+ export * as worldBank from "./world-bank.js";
48
+ export * as usgs from "./usgs.js";
49
+ export * as clinicalTrials from "./clinical-trials.js";
50
+ export * as bts from "./bts.js";
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC"}