@cliwant/mcp-sam-gov 1.8.0 → 1.9.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/dist/socrata.d.ts CHANGED
@@ -103,7 +103,7 @@
103
103
  import { num } from "./coerce.js";
104
104
  import { type MetaBundle } from "./meta.js";
105
105
  export { num };
106
- export declare const SOCRATA_DOMAINS: readonly ["data.ny.gov", "data.colorado.gov", "data.ct.gov", "data.texas.gov", "data.wa.gov", "opendata.maryland.gov", "data.vermont.gov", "data.nj.gov", "data.oregon.gov", "data.pa.gov", "data.mo.gov", "data.delaware.gov", "opendata.usac.org"];
106
+ export declare const SOCRATA_DOMAINS: readonly ["data.ny.gov", "data.colorado.gov", "data.ct.gov", "data.texas.gov", "data.wa.gov", "opendata.maryland.gov", "data.vermont.gov", "data.nj.gov", "data.oregon.gov", "data.pa.gov", "data.mo.gov", "data.delaware.gov", "data.austintexas.gov", "data.kingcounty.gov", "data.montgomerycountymd.gov", "data.mesaaz.gov", "data.cambridgema.gov", "opendata.usac.org"];
107
107
  export type SocrataDomain = (typeof SOCRATA_DOMAINS)[number];
108
108
  export type SocrataRow = Record<string, unknown>;
109
109
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"socrata.d.ts","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAKzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAOf,eAAO,MAAM,eAAe,sPAclB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAyC7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiIjD;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkGtB;AAGD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAqBF;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2DtB"}
1
+ {"version":3,"file":"socrata.d.ts","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AAIH,OAAO,EAAE,GAAG,EAAO,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAY,KAAK,UAAU,EAAqB,MAAM,WAAW,CAAC;AAKzE,OAAO,EAAE,GAAG,EAAE,CAAC;AAOf,eAAO,MAAM,eAAe,+WAuBlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAyC7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiIjD;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkGtB;AAGD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAqBF;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2DtB"}
package/dist/socrata.js CHANGED
@@ -127,6 +127,15 @@ export const SOCRATA_DOMAINS = [
127
127
  "data.pa.gov", // PA — e.g. mcba-yywm
128
128
  "data.mo.gov", // MO — e.g. gfq7-aa86
129
129
  "data.delaware.gov", // DE — e.g. 5zy2-grhr
130
+ // ── SLED city/county tier (loop cycle 1, 2026-07-18; host-scoped catalog +
131
+ // /resource/<4x4>.json 200 bare-array live-verified; all .gov; B2G
132
+ // procurement/vendor/contract data — the fragmented local layer above the
133
+ // state portals). ─────────────────────────────────────────────────────
134
+ "data.austintexas.gov", // Austin TX (city) — e.g. 3ebq-e9iz (Purchase Orders)
135
+ "data.kingcounty.gov", // King County WA — e.g. dqit-zt74 (Procurement Contracts)
136
+ "data.montgomerycountymd.gov", // Montgomery County MD — e.g. vmu2-pnrc (Contracts)
137
+ "data.mesaaz.gov", // Mesa AZ (city) — e.g. j7s9-qiuq (Vendor Payments)
138
+ "data.cambridgema.gov", // Cambridge MA (city) — e.g. gp98-ja4f (Contracts bid list)
130
139
  "opendata.usac.org", // USAC E-rate (.org, m6) — e.g. avi8-svp9
131
140
  ];
132
141
  const SOCRATA_DOMAIN_SET = new Set(SOCRATA_DOMAINS);
@@ -1 +1 @@
1
- {"version":3,"file":"socrata.js","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socrata.js","sourceRoot":"","sources":["../src/socrata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@cliwant/mcp-sam-gov",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "mcpName": "io.github.cliwant/mcp-sam-gov",
5
- "description": "Most comprehensive keyless MCP server for US federal contracting + spending + regulation: SAM.gov, USAspending, Federal Register, eCFR, Grants.gov. 143 tools, no API key, plug into Claude Desktop / Claude Code / Codex CLI / Cursor / Continue / Gemini CLI.",
5
+ "description": "Most comprehensive keyless MCP server for US federal contracting + spending + regulation: SAM.gov, USAspending, Federal Register, eCFR, Grants.gov. 144 tools, no API key, plug into Claude Desktop / Claude Code / Codex CLI / Cursor / Continue / Gemini CLI.",
6
6
  "keywords": [
7
7
  "mcp",
8
8
  "model-context-protocol",
package/src/ecfr.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * Both keyless. Documented at https://www.ecfr.gov/developers/.
14
14
  */
15
15
 
16
- import { fetchWithRetry } from "./errors.js";
16
+ import { fetchWithRetry, ToolErrorCarrier } from "./errors.js";
17
17
  import { driftError } from "./datasource.js";
18
18
  import { memoize } from "./cache.js";
19
19
  import { withMeta } from "./meta.js";
@@ -82,6 +82,159 @@ export async function listTitles() {
82
82
  });
83
83
  }
84
84
 
85
+ // ─── ecfr_get_section — full in-force text of one CFR section ──────────────
86
+ // The eval-found gap: ecfr_search returns ranked SNIPPETS; there was no way to pull
87
+ // a clause's COMPLETE text. This fetches one section from the versioner `full`
88
+ // endpoint (a per-section XML, ~5KB), de-XMLed to plain text. A bespoke individual
89
+ // source (not the search API) — mode-2 discovery.
90
+ const ECFR_SECTION_RE = /^[0-9]{1,3}\.[0-9]{1,4}(-[0-9]{1,4})?$/;
91
+ const ECFR_DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
92
+
93
+ async function fetchXmlText(url: string): Promise<string> {
94
+ const r = await fetchWithRetry(
95
+ url,
96
+ { headers: { Accept: "application/xml" }, signal: AbortSignal.timeout(20_000) },
97
+ `ecfr:${url.split("/api/")[1] ?? url}`,
98
+ );
99
+ return await r.text();
100
+ }
101
+
102
+ function decodeXmlEntities(s: string): string {
103
+ return s
104
+ .replace(/&quot;/g, '"')
105
+ .replace(/&lt;/g, "<")
106
+ .replace(/&gt;/g, ">")
107
+ .replace(/&#39;/g, "'")
108
+ .replace(/&#(\d+);/g, (_, n) => String.fromCharCode(Number(n)))
109
+ .replace(/&amp;/g, "&");
110
+ }
111
+
112
+ // De-XML a section body to readable plain text: block tags → newlines, strip the
113
+ // rest, decode entities, drop empty lines. No fabrication — the eCFR's own text.
114
+ function xmlToPlainText(xml: string): string {
115
+ return decodeXmlEntities(
116
+ xml
117
+ .replace(/<\/(P|HD1|HD2|HD3|HD4|HEAD|FP|GID|GPOTABLE|ROW)>/gi, "\n")
118
+ .replace(/<[^>]+>/g, ""),
119
+ )
120
+ .split("\n")
121
+ .map((l) => l.trim())
122
+ .filter((l) => l.length > 0)
123
+ .join("\n");
124
+ }
125
+
126
+ export async function getSection(args: {
127
+ titleNumber: number;
128
+ section: string;
129
+ date?: string;
130
+ }) {
131
+ // SSRF/injection: `section` (+ derived `part`) interpolate into the URL query, so
132
+ // the charclass is the load-bearing guard. `titleNumber` is numeric (schema).
133
+ // `\s` reject is load-bearing: JS `$` also matches BEFORE a trailing "\n", so the
134
+ // charclass alone would admit "52.204-21\n". No valid section carries whitespace.
135
+ if (!ECFR_SECTION_RE.test(args.section) || /\s/.test(args.section)) {
136
+ throw new ToolErrorCarrier({
137
+ kind: "invalid_input",
138
+ retryable: false,
139
+ message: `Invalid section ${JSON.stringify(args.section)} — expected a CFR section like "52.204-21" or "12.301" (^[0-9]{1,3}\\.[0-9]{1,4}(-[0-9]{1,4})?$, no whitespace).`,
140
+ upstreamEndpoint: "ecfr:versioner/full",
141
+ });
142
+ }
143
+ let issueDate = args.date;
144
+ if (issueDate !== undefined && !ECFR_DATE_RE.test(issueDate)) {
145
+ throw new ToolErrorCarrier({
146
+ kind: "invalid_input",
147
+ retryable: false,
148
+ message: `Invalid date ${JSON.stringify(args.date)} — expected an eCFR issue date YYYY-MM-DD (omit to use the title's latest).`,
149
+ upstreamEndpoint: "ecfr:versioner/full",
150
+ });
151
+ }
152
+ if (!issueDate) {
153
+ // Resolve the title's latest issue date (memoized titles list) — DISCLOSED below.
154
+ const t = (await listTitles()).data.titles.find(
155
+ (x) => x.number === args.titleNumber,
156
+ );
157
+ issueDate = t?.latestIssueDate;
158
+ if (!issueDate) {
159
+ throw new ToolErrorCarrier({
160
+ kind: "invalid_input",
161
+ retryable: false,
162
+ message: `Title ${args.titleNumber} is not a known CFR title (or has no issue date). Verify it via ecfr_list_titles.`,
163
+ upstreamEndpoint: "ecfr:versioner/full",
164
+ });
165
+ }
166
+ }
167
+ const part = args.section.split(".")[0]!;
168
+ const url = `${ECFR}/versioner/v1/full/${issueDate}/title-${args.titleNumber}.xml?part=${encodeURIComponent(part)}&section=${encodeURIComponent(args.section)}`;
169
+ const xml = await fetchXmlText(url);
170
+ // Locate the SECTION DIV8 for EXACTLY this section (the endpoint may return the
171
+ // enclosing part). Absent ⇒ honest not_found, NEVER a fabricated empty/wrong text.
172
+ const escaped = args.section.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
173
+ const div = xml.match(
174
+ new RegExp(`<DIV8 N="${escaped}"[^>]*TYPE="SECTION"[^>]*>([\\s\\S]*?)</DIV8>`, "i"),
175
+ );
176
+ if (!div) {
177
+ throw new ToolErrorCarrier({
178
+ kind: "not_found",
179
+ retryable: false,
180
+ message: `Section ${args.section} not found in CFR title ${args.titleNumber} as of the ${issueDate} issue. Verify the citation (e.g. via ecfr_search); the part number (${part}) must actually contain the section.`,
181
+ upstreamEndpoint: "ecfr:versioner/full",
182
+ });
183
+ }
184
+ const body = div[1]!;
185
+ const headMatch = body.match(/<HEAD>([\s\S]*?)<\/HEAD>/i);
186
+ const heading = headMatch ? xmlToPlainText(headMatch[1]!).replace(/\n+/g, " ").trim() : null;
187
+ let citation: string | null = null;
188
+ let alternateReference: string | null = null;
189
+ const meta = xml.match(/hierarchy_metadata="([^"]*)"/i);
190
+ if (meta) {
191
+ try {
192
+ const hm = JSON.parse(decodeXmlEntities(meta[1]!)) as {
193
+ citation?: string;
194
+ alternate_reference?: string;
195
+ };
196
+ citation = hm.citation ?? null;
197
+ alternateReference = hm.alternate_reference ?? null;
198
+ } catch {
199
+ /* metadata is advisory — its absence never blocks the text */
200
+ }
201
+ }
202
+ const fullText = xmlToPlainText(body);
203
+ if (fullText.length === 0) {
204
+ // A 200 with a section shell but no readable text ⇒ schema drift, not a fake empty.
205
+ throw driftError(
206
+ "ecfr:versioner/full",
207
+ `The section ${args.section} DIV8 carried no extractable text — eCFR XML shape drift, never a fabricated empty section.`,
208
+ );
209
+ }
210
+ const ecfrUrl = `https://www.ecfr.gov/current/title-${args.titleNumber}/section-${args.section}`;
211
+ return withMeta(
212
+ {
213
+ titleNumber: args.titleNumber,
214
+ section: args.section,
215
+ citation,
216
+ alternateReference,
217
+ heading,
218
+ fullText,
219
+ issueDate,
220
+ ecfrUrl,
221
+ },
222
+ {
223
+ source: "ecfr.gov/api (versioner/v1/full)",
224
+ keylessMode: true,
225
+ returned: 1,
226
+ totalAvailable: 1,
227
+ truncated: false,
228
+ filtersApplied: ["titleNumber", "section"],
229
+ filtersDropped: [],
230
+ fieldsUnavailable: [],
231
+ notes: [
232
+ `Full in-force text of ${citation ?? `${args.titleNumber} CFR ${args.section}`} as of the ${issueDate} eCFR issue (the title's LATEST unless a date was supplied — a moving target). De-XMLed to plain text; no content fabricated — open ecfrUrl for the authoritative rendering.`,
233
+ ],
234
+ },
235
+ );
236
+ }
237
+
85
238
  export async function search(args: {
86
239
  query: string;
87
240
  titleNumber?: number;
package/src/server.ts CHANGED
@@ -102,7 +102,7 @@ import { realpathSync } from "node:fs";
102
102
  const SERVER_NAME = "mcp-sam-gov";
103
103
  // Kept in lockstep with package.json / manifest.json / server.json.
104
104
  // Keep in sync with package.json "version" (asserted at release; see CHANGELOG).
105
- const SERVER_VERSION = "1.8.0";
105
+ const SERVER_VERSION = "1.9.0";
106
106
 
107
107
  // ─── Tool input schemas (Zod) ────────────────────────────────────
108
108
 
@@ -572,6 +572,22 @@ const EcfrSearchInput = z.object({
572
572
 
573
573
  const EcfrListTitlesInput = z.object({});
574
574
 
575
+ const EcfrGetSectionInput = z.object({
576
+ titleNumber: z
577
+ .number()
578
+ .int()
579
+ .min(1)
580
+ .max(50)
581
+ .describe("CFR title (1–50). e.g. 2 = federal financial assistance (grants), 29 = Labor, 26 = IRS. For FAR/DFARS (title 48) prefer far_clause_lookup."),
582
+ section: z
583
+ .string()
584
+ .describe("The section citation, e.g. '200.1' (2 CFR 200.1) or '52.204-21' — the part number is the pre-dot integer. Charclass-validated (^[0-9]{1,3}\\.[0-9]{1,4}(-[0-9]{1,4})?$)."),
585
+ date: z
586
+ .string()
587
+ .optional()
588
+ .describe("Optional eCFR issue date YYYY-MM-DD; omit to use the title's LATEST issue (disclosed in _meta)."),
589
+ });
590
+
575
591
  // FAR / DFARS clause lookup (eCFR versioner full endpoint)
576
592
  const FarClauseLookupInput = z.object({
577
593
  clauseNumber: z
@@ -5381,14 +5397,21 @@ export const TOOLS: ToolDef[] = [
5381
5397
  handler: (input) => fedreg.publicInspection(input),
5382
5398
  }),
5383
5399
 
5384
- // ━━━ eCFR (5) ━━━
5400
+ // ━━━ eCFR (6) ━━━
5385
5401
  defineTool({
5386
5402
  name: "ecfr_search",
5387
5403
  description:
5388
- "Full-text search across the entire CFR (Code of Federal Regulations). Use for compliance questions — pass titleNumber=48 for FAR (Federal Acquisition Regulation), titleNumber=2 for federal financial assistance, etc. Returns excerpt + section path + ecfrUrl.",
5404
+ "Full-text search across the entire CFR (Code of Federal Regulations). Use for DISCOVERY — pass titleNumber=48 for FAR (Federal Acquisition Regulation), titleNumber=2 for federal financial assistance, etc. Returns a ranked EXCERPT (snippet, not full text) + section path + ecfrUrl per hit. To then read the COMPLETE text of a hit: for a FAR/DFARS clause (title 48) use far_clause_lookup (adds prescription + revision); for any other title's section use ecfr_get_section; or open the ecfrUrl.",
5389
5405
  inputSchema: EcfrSearchInput,
5390
5406
  handler: (input) => ecfr.search(input),
5391
5407
  }),
5408
+ defineTool({
5409
+ name: "ecfr_get_section",
5410
+ description:
5411
+ "Get the FULL in-force text of ONE CFR section by citation (the companion to ecfr_search, which returns only snippets). Input titleNumber (1–50) + section (e.g. '200.1' → 2 CFR 200.1, uniform grants guidance; '1601.1' → 29 CFR labor) + optional issue date (default = the title's latest). Returns { citation, alternateReference, heading, fullText, issueDate, ecfrUrl }. ★For a FAR/DFARS clause (title 48) prefer far_clause_lookup — it adds the prescription, revision, and FAR-overhaul-risk this generic tool does not; use ecfr_get_section for the OTHER 49 titles (grants/labor/IRS/SBA/…). HONESTY: text is the eCFR's own, de-XMLed (no fabrication); a nonexistent section ⇒ not_found (never a fake/wrong section); the resolved issue date is disclosed (the title's latest is a moving target); a bad section format ⇒ invalid_input (SSRF charclass); an outage ⇒ throws. Keyless.",
5412
+ inputSchema: EcfrGetSectionInput,
5413
+ handler: (input) => ecfr.getSection(input),
5414
+ }),
5392
5415
  defineTool({
5393
5416
  name: "ecfr_list_titles",
5394
5417
  description:
package/src/socrata.ts CHANGED
@@ -130,6 +130,15 @@ export const SOCRATA_DOMAINS = [
130
130
  "data.pa.gov", // PA — e.g. mcba-yywm
131
131
  "data.mo.gov", // MO — e.g. gfq7-aa86
132
132
  "data.delaware.gov", // DE — e.g. 5zy2-grhr
133
+ // ── SLED city/county tier (loop cycle 1, 2026-07-18; host-scoped catalog +
134
+ // /resource/<4x4>.json 200 bare-array live-verified; all .gov; B2G
135
+ // procurement/vendor/contract data — the fragmented local layer above the
136
+ // state portals). ─────────────────────────────────────────────────────
137
+ "data.austintexas.gov", // Austin TX (city) — e.g. 3ebq-e9iz (Purchase Orders)
138
+ "data.kingcounty.gov", // King County WA — e.g. dqit-zt74 (Procurement Contracts)
139
+ "data.montgomerycountymd.gov", // Montgomery County MD — e.g. vmu2-pnrc (Contracts)
140
+ "data.mesaaz.gov", // Mesa AZ (city) — e.g. j7s9-qiuq (Vendor Payments)
141
+ "data.cambridgema.gov", // Cambridge MA (city) — e.g. gp98-ja4f (Contracts bid list)
133
142
  "opendata.usac.org", // USAC E-rate (.org, m6) — e.g. avi8-svp9
134
143
  ] as const;
135
144