@cliwant/mcp-sam-gov 1.16.0 → 1.17.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 +9 -9
- package/README.ko.md +9 -9
- package/README.md +14 -13
- package/dist/courtlistener.d.ts +32 -0
- package/dist/courtlistener.d.ts.map +1 -1
- package/dist/courtlistener.js +180 -0
- package/dist/courtlistener.js.map +1 -1
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +1 -0
- package/dist/keys.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +60 -3
- package/dist/server.js.map +1 -1
- package/dist/toolsets.d.ts.map +1 -1
- package/dist/toolsets.js +1 -0
- package/dist/toolsets.js.map +1 -1
- package/package.json +1 -1
- package/src/courtlistener.ts +244 -1
- package/src/keys.ts +1 -0
- package/src/server.ts +61 -3
- package/src/toolsets.ts +1 -0
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD;QACE,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE;YACP,uIAAuI;SACxI;QACD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,8BAA8B;QACzC,OAAO,EACL,0GAA0G;QAC5G,IAAI,EAAE,mLAAmL;KAC1L;IACD;QACE,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAClC,QAAQ,EAAE,KAAK;QACf,SAAS,EACP,wDAAwD;QAC1D,OAAO,EACL,wEAAwE;QAC1E,IAAI,EAAE,mIAAmI;KAC1I;IACD;QACE,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,CAAC,kCAAkC,CAAC;QAC7C,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,0CAA0C;QACrD,OAAO,EACL,oGAAoG;QACtG,IAAI,EAAE,0EAA0E;KACjF;IACD;QACE,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAClC,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,oDAAoD;QAC/D,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE,yDAAyD;KAChE;IACD;QACE,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,CAAC,wCAAwC,CAAC;QACnD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,2CAA2C;QACtD,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,+GAA+G;KACtH;IACD;QACE,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,CAAC,sCAAsC,CAAC;QACjD,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,6CAA6C;QACxD,OAAO,EACL,wFAAwF;QAC1F,IAAI,EAAE,0DAA0D;KACjE;IACD;QACE,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,CAAC,qDAAqD,CAAC;QAChE,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,mDAAmD;QAC9D,OAAO,EACL,wEAAwE;QAC1E,IAAI,EAAE,+CAA+C;KACtD;IACD;QACE,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,CAAC,oDAAoD,CAAC;QAC/D,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,kCAAkC;QAC7C,OAAO,EACL,iFAAiF;QACnF,IAAI,EAAE,mDAAmD;KAC1D;IACD;QACE,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE;YACP,yEAAyE;SAC1E;QACD,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,yCAAyC;QACpD,OAAO,EACL,6FAA6F;QAC/F,IAAI,EAAE,8GAA8G;KACrH;IACD;QACE,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,CAAC,6CAA6C,CAAC;QACxD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sCAAsC;QACjD,OAAO,EACL,wEAAwE;QAC1E,IAAI,EAAE,8EAA8E;KACrF;IACD;QACE,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,CAAC,2CAA2C,CAAC;QACtD,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,2CAA2C;QACtD,OAAO,EACL,mEAAmE;QACrE,IAAI,EAAE,uDAAuD;KAC9D;IACD;QACE,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE;YACP,sEAAsE;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAUH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,YAAY,EAKb,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AAUH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,YAAY,EAKb,MAAM,oBAAoB,CAAC;AAiqJ5B,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC;IAO1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE;QAAE,GAAG,EAAE,YAAY,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE,CAAC;AAoBF,eAAO,MAAM,KAAK,EAAE,OAAO,EA00D1B,CAAC;AA8RF,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,OAAO,CAAC,CAkClB;AAyBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CActD;AACD,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,IAAI,CAAC;IACnB,aAAa,EAAE,IAAI,CAAC;CACrB,CAEA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkE7E"}
|
package/dist/server.js
CHANGED
|
@@ -102,7 +102,7 @@ const STATE_BID_FEEDS_POINTER = "STATE-LEVEL bid feeds on open-data portals are
|
|
|
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.
|
|
105
|
+
const SERVER_VERSION = "1.17.0";
|
|
106
106
|
// ─── Tool input schemas (Zod) ────────────────────────────────────
|
|
107
107
|
const SamSearchInput = z.object({
|
|
108
108
|
query: z.string().optional().describe("Free-text title query"),
|
|
@@ -3878,11 +3878,16 @@ const LdaSearchFilingsInput = z.object({
|
|
|
3878
3878
|
// never results.length; CURSOR pagination (nextCursor extracted from `next`). court/
|
|
3879
3879
|
// dates charclass-guarded; all filter VALUES ride URLSearchParams; type=o is FIXED.
|
|
3880
3880
|
const CourtlistenerSearchOpinionsInput = z.object({
|
|
3881
|
+
party: z
|
|
3882
|
+
.string()
|
|
3883
|
+
.min(1)
|
|
3884
|
+
.optional()
|
|
3885
|
+
.describe("Company or person name to match as an ACTUAL PARTY — builds caseName:\"…\" fielded query. A bare company name in `query` matches text mentions (~5,954 for 'Lockheed Martin'); `party` finds cases where the company is actually named as a party (~327). Use `party` for vendor/contractor vetting; use `query` for full-text topic search."),
|
|
3881
3886
|
query: z
|
|
3882
3887
|
.string()
|
|
3883
3888
|
.min(1)
|
|
3884
3889
|
.optional()
|
|
3885
|
-
.describe("
|
|
3890
|
+
.describe("Additional full-text query (maps to q) — topic keywords such as 'False Claims Act' or 'bid protest'. Combined with caseName:\"…\" when `party` is also given. A bare company name here matches text mentions, not actual-party cases — use `party` for that."),
|
|
3886
3891
|
court: z
|
|
3887
3892
|
.string()
|
|
3888
3893
|
.regex(/^[a-z0-9]+$/)
|
|
@@ -3914,6 +3919,52 @@ const CourtlistenerSearchOpinionsInput = z.object({
|
|
|
3914
3919
|
.default("dateFiled desc")
|
|
3915
3920
|
.describe("Sort order (maps to order_by), default 'dateFiled desc' (most recent first). E.g. 'dateFiled asc', 'score desc'."),
|
|
3916
3921
|
});
|
|
3922
|
+
// ─── CourtListener RECAP dockets (type=r) ────────────────────────
|
|
3923
|
+
// ADR-0064. FCA/qui tam matters are DOCKETS — they rarely produce published opinions
|
|
3924
|
+
// so they are invisible to type=o. suitNature:"…" is a REAL fielded filter on dockets.
|
|
3925
|
+
// Same SSRF / auth / cursor / provenance guards as opinions.
|
|
3926
|
+
const CourtlistenerSearchDocketsInput = z.object({
|
|
3927
|
+
party: z
|
|
3928
|
+
.string()
|
|
3929
|
+
.min(1)
|
|
3930
|
+
.optional()
|
|
3931
|
+
.describe("Company or person name to match as an ACTUAL PARTY — builds caseName:\"…\" fielded query. Use for vendor/contractor due-diligence (FCA, False Claims Act, qui tam). E.g. 'Lockheed Martin' → ~9 FCA dockets."),
|
|
3932
|
+
query: z
|
|
3933
|
+
.string()
|
|
3934
|
+
.min(1)
|
|
3935
|
+
.optional()
|
|
3936
|
+
.describe("Additional free-text keywords (combined with caseName:\"…\" when `party` is given). E.g. 'qui tam' or 'whistleblower'."),
|
|
3937
|
+
natureOfSuit: z
|
|
3938
|
+
.string()
|
|
3939
|
+
.min(1)
|
|
3940
|
+
.optional()
|
|
3941
|
+
.describe("Nature-of-suit filter — builds suitNature:\"…\" fielded query (THIS IS A REAL DOCKET FIELD, not folded into q). E.g. 'False Claims' to find FCA/qui tam dockets. Disclosed in _meta.notes."),
|
|
3942
|
+
court: z
|
|
3943
|
+
.string()
|
|
3944
|
+
.regex(/^[a-z0-9]+$/)
|
|
3945
|
+
.optional()
|
|
3946
|
+
.describe("CourtListener court id (lowercase alphanumerics ^[a-z0-9]+$), e.g. 'gand' (N.D. Ga.), 'flmd' (M.D. Fla.), 'cafc'. Filters to one court."),
|
|
3947
|
+
dateFiledAfter: z
|
|
3948
|
+
.string()
|
|
3949
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/)
|
|
3950
|
+
.optional()
|
|
3951
|
+
.describe("Only dockets filed on/after this ISO date (→ filed_after), e.g. '2015-01-01'."),
|
|
3952
|
+
dateFiledBefore: z
|
|
3953
|
+
.string()
|
|
3954
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/)
|
|
3955
|
+
.optional()
|
|
3956
|
+
.describe("Only dockets filed on/before this ISO date (→ filed_before), e.g. '2024-12-31'."),
|
|
3957
|
+
order: z
|
|
3958
|
+
.string()
|
|
3959
|
+
.min(1)
|
|
3960
|
+
.default("dateFiled desc")
|
|
3961
|
+
.describe("Sort order (maps to order_by), default 'dateFiled desc'. E.g. 'dateFiled asc'."),
|
|
3962
|
+
cursor: z
|
|
3963
|
+
.string()
|
|
3964
|
+
.min(1)
|
|
3965
|
+
.optional()
|
|
3966
|
+
.describe("Opaque continuation token — pass back _meta.nextCursor from the previous page."),
|
|
3967
|
+
});
|
|
3917
3968
|
// ─── US tax-exempt nonprofits (projects.propublica.org) — the nonprofit lane ──
|
|
3918
3969
|
// ADR-0060. IRS Form 990 public records republished KEYLESS by ProPublica Nonprofit
|
|
3919
3970
|
// Explorer (a non-profit newsroom) — NOT a .gov API (the IRS has no clean query
|
|
@@ -5616,10 +5667,16 @@ export const TOOLS = [
|
|
|
5616
5667
|
// (nextCursor extracted from `next`, host re-asserted). type=o FIXED.
|
|
5617
5668
|
defineTool({
|
|
5618
5669
|
name: "courtlistener_search_opinions",
|
|
5619
|
-
description: "Search US federal court opinions via CourtListener (www.courtlistener.com/api/rest/v4/search, type=o). ★PROVENANCE: DATA is US federal court PUBLIC RECORDS; the API is CourtListener (Free Law Project, NON-PROFIT) — NOT a .gov API; the .gov primary source (PACER) is PAYWALLED. KEYLESS (optional
|
|
5670
|
+
description: "Search US federal court opinions via CourtListener (www.courtlistener.com/api/rest/v4/search, type=o). ★PROVENANCE: DATA is US federal court PUBLIC RECORDS; the API is CourtListener (Free Law Project, NON-PROFIT) — NOT a .gov API; the .gov primary source (PACER) is PAYWALLED. KEYLESS (optional COURTLISTENER_API_TOKEN only raises the rate limit). Filters (all optional): `party` → caseName:\"…\" FIELDED QUERY — finds actual-party cases (~327 for 'Lockheed Martin'); a bare company name in `query` matches text mentions (~5,954). `query` (free-text → q, AND-ed with caseName when party given). `court` (^[a-z0-9]+$ — e.g. 'uscfc','cafc','scotus'). `dateFiledAfter`/`dateFiledBefore` (ISO). `natureOfSuit` (folded into q — no dedicated filter, disclosed). `cursor`. `order` (default 'dateFiled desc'). Returns { opinions:[{ caseName, court, courtId, dateFiled, docketNumber, natureOfSuit, status, judge, citation, absoluteUrl }] } + honest _meta. HONESTY: totalAvailable is the API's REAL count; CURSOR pagination (pass _meta.nextCursor as cursor); count:null on deep pages → totalAvailable:null DISCLOSED. For FCA/qui tam DOCKETS (rarely produce opinions) use courtlistener_search_dockets instead. Token rides ONLY the Authorization header.",
|
|
5620
5671
|
inputSchema: CourtlistenerSearchOpinionsInput,
|
|
5621
5672
|
handler: (input) => courtlistener.searchOpinions(input),
|
|
5622
5673
|
}),
|
|
5674
|
+
defineTool({
|
|
5675
|
+
name: "courtlistener_search_dockets",
|
|
5676
|
+
description: "Search US federal court RECAP DOCKETS via CourtListener (www.courtlistener.com/api/rest/v4/search, type=r). ★USE THIS for FCA / False Claims Act / qui tam matters — these are DOCKETS, not opinions; settlements rarely produce published opinions. ★PROVENANCE: DATA is US federal court PUBLIC RECORDS; the API is CourtListener (Free Law Project, NON-PROFIT) — NOT a .gov API; the .gov primary source (PACER) is PAYWALLED. KEYLESS. Key filters: `party` → caseName:\"…\" FIELDED (actual-party cases, e.g. 'Lockheed Martin' → ~9 FCA dockets). `natureOfSuit` → suitNature:\"…\" REAL DOCKET FIELD (e.g. 'False Claims' to find FCA/qui tam). `query` (free-text AND-ed with caseName when party also given). `court` (^[a-z0-9]+$). `dateFiledAfter`/`dateFiledBefore` (ISO). `cursor`. `order` (default 'dateFiled desc'). Returns { dockets:[{ caseName, caseNameFull, court, courtId, dateFiled, dateTerminated, docketNumber, natureOfSuit, cause, assignedTo, jurisdictionType, url }] } + honest _meta. dateTerminated is null when case still open (NEVER \"\"). url is the full https://www.courtlistener.com/... docket page URL. Docket = case record; outcome/settlement NOT in it — read docket page or DOJ for that. totalAvailable is the API REAL count; CURSOR pagination. Token rides ONLY Authorization header.",
|
|
5677
|
+
inputSchema: CourtlistenerSearchDocketsInput,
|
|
5678
|
+
handler: (input) => courtlistener.searchDockets(input),
|
|
5679
|
+
}),
|
|
5623
5680
|
// ━━━ US tax-exempt nonprofits (projects.propublica.org) — the nonprofit lane (2) ━━━ ADR-0060
|
|
5624
5681
|
// Who a 501(c) org IS (EIN, NTEE, subsection, ruling date, status) + its Form 990
|
|
5625
5682
|
// FINANCIALS (revenue/expenses/assets/liabilities by year) — the nonprofit/grantee/
|