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.
- package/README.md +211 -0
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +388 -0
- package/dist/client.js.map +1 -0
- package/dist/instructions.d.ts +8 -0
- package/dist/instructions.d.ts.map +1 -0
- package/dist/instructions.js +549 -0
- package/dist/instructions.js.map +1 -0
- package/dist/modules/bea.d.ts +28 -0
- package/dist/modules/bea.d.ts.map +1 -0
- package/dist/modules/bea.js +158 -0
- package/dist/modules/bea.js.map +1 -0
- package/dist/modules/bls.d.ts +29 -0
- package/dist/modules/bls.d.ts.map +1 -0
- package/dist/modules/bls.js +244 -0
- package/dist/modules/bls.js.map +1 -0
- package/dist/modules/bts.d.ts +26 -0
- package/dist/modules/bts.d.ts.map +1 -0
- package/dist/modules/bts.js +112 -0
- package/dist/modules/bts.js.map +1 -0
- package/dist/modules/cdc.d.ts +26 -0
- package/dist/modules/cdc.d.ts.map +1 -0
- package/dist/modules/cdc.js +310 -0
- package/dist/modules/cdc.js.map +1 -0
- package/dist/modules/census.d.ts +23 -0
- package/dist/modules/census.d.ts.map +1 -0
- package/dist/modules/census.js +141 -0
- package/dist/modules/census.js.map +1 -0
- package/dist/modules/cfpb.d.ts +20 -0
- package/dist/modules/cfpb.d.ts.map +1 -0
- package/dist/modules/cfpb.js +135 -0
- package/dist/modules/cfpb.js.map +1 -0
- package/dist/modules/clinical-trials.d.ts +22 -0
- package/dist/modules/clinical-trials.d.ts.map +1 -0
- package/dist/modules/clinical-trials.js +171 -0
- package/dist/modules/clinical-trials.js.map +1 -0
- package/dist/modules/cms.d.ts +21 -0
- package/dist/modules/cms.d.ts.map +1 -0
- package/dist/modules/cms.js +135 -0
- package/dist/modules/cms.js.map +1 -0
- package/dist/modules/college-scorecard.d.ts +39 -0
- package/dist/modules/college-scorecard.d.ts.map +1 -0
- package/dist/modules/college-scorecard.js +192 -0
- package/dist/modules/college-scorecard.js.map +1 -0
- package/dist/modules/congress.d.ts +28 -0
- package/dist/modules/congress.d.ts.map +1 -0
- package/dist/modules/congress.js +883 -0
- package/dist/modules/congress.js.map +1 -0
- package/dist/modules/dol.d.ts +27 -0
- package/dist/modules/dol.d.ts.map +1 -0
- package/dist/modules/dol.js +209 -0
- package/dist/modules/dol.js.map +1 -0
- package/dist/modules/eia.d.ts +33 -0
- package/dist/modules/eia.d.ts.map +1 -0
- package/dist/modules/eia.js +227 -0
- package/dist/modules/eia.js.map +1 -0
- package/dist/modules/epa.d.ts +21 -0
- package/dist/modules/epa.d.ts.map +1 -0
- package/dist/modules/epa.js +91 -0
- package/dist/modules/epa.js.map +1 -0
- package/dist/modules/fbi.d.ts +28 -0
- package/dist/modules/fbi.d.ts.map +1 -0
- package/dist/modules/fbi.js +143 -0
- package/dist/modules/fbi.js.map +1 -0
- package/dist/modules/fda.d.ts +35 -0
- package/dist/modules/fda.d.ts.map +1 -0
- package/dist/modules/fda.js +262 -0
- package/dist/modules/fda.js.map +1 -0
- package/dist/modules/fdic.d.ts +21 -0
- package/dist/modules/fdic.d.ts.map +1 -0
- package/dist/modules/fdic.js +186 -0
- package/dist/modules/fdic.js.map +1 -0
- package/dist/modules/fec.d.ts +29 -0
- package/dist/modules/fec.d.ts.map +1 -0
- package/dist/modules/fec.js +282 -0
- package/dist/modules/fec.js.map +1 -0
- package/dist/modules/federal-register.d.ts +24 -0
- package/dist/modules/federal-register.d.ts.map +1 -0
- package/dist/modules/federal-register.js +184 -0
- package/dist/modules/federal-register.js.map +1 -0
- package/dist/modules/fema.d.ts +20 -0
- package/dist/modules/fema.d.ts.map +1 -0
- package/dist/modules/fema.js +156 -0
- package/dist/modules/fema.js.map +1 -0
- package/dist/modules/fred.d.ts +40 -0
- package/dist/modules/fred.d.ts.map +1 -0
- package/dist/modules/fred.js +143 -0
- package/dist/modules/fred.js.map +1 -0
- package/dist/modules/govinfo.d.ts +24 -0
- package/dist/modules/govinfo.d.ts.map +1 -0
- package/dist/modules/govinfo.js +147 -0
- package/dist/modules/govinfo.js.map +1 -0
- package/dist/modules/hud.d.ts +17 -0
- package/dist/modules/hud.d.ts.map +1 -0
- package/dist/modules/hud.js +170 -0
- package/dist/modules/hud.js.map +1 -0
- package/dist/modules/naep.d.ts +27 -0
- package/dist/modules/naep.d.ts.map +1 -0
- package/dist/modules/naep.js +210 -0
- package/dist/modules/naep.js.map +1 -0
- package/dist/modules/nhtsa.d.ts +13 -0
- package/dist/modules/nhtsa.d.ts.map +1 -0
- package/dist/modules/nhtsa.js +196 -0
- package/dist/modules/nhtsa.js.map +1 -0
- package/dist/modules/noaa.d.ts +41 -0
- package/dist/modules/noaa.d.ts.map +1 -0
- package/dist/modules/noaa.js +135 -0
- package/dist/modules/noaa.js.map +1 -0
- package/dist/modules/nrel.d.ts +25 -0
- package/dist/modules/nrel.d.ts.map +1 -0
- package/dist/modules/nrel.js +87 -0
- package/dist/modules/nrel.js.map +1 -0
- package/dist/modules/regulations.d.ts +24 -0
- package/dist/modules/regulations.d.ts.map +1 -0
- package/dist/modules/regulations.js +173 -0
- package/dist/modules/regulations.js.map +1 -0
- package/dist/modules/sec.d.ts +25 -0
- package/dist/modules/sec.d.ts.map +1 -0
- package/dist/modules/sec.js +192 -0
- package/dist/modules/sec.js.map +1 -0
- package/dist/modules/senate-lobbying.d.ts +21 -0
- package/dist/modules/senate-lobbying.d.ts.map +1 -0
- package/dist/modules/senate-lobbying.js +189 -0
- package/dist/modules/senate-lobbying.js.map +1 -0
- package/dist/modules/treasury.d.ts +23 -0
- package/dist/modules/treasury.d.ts.map +1 -0
- package/dist/modules/treasury.js +234 -0
- package/dist/modules/treasury.js.map +1 -0
- package/dist/modules/usaspending.d.ts +19 -0
- package/dist/modules/usaspending.d.ts.map +1 -0
- package/dist/modules/usaspending.js +204 -0
- package/dist/modules/usaspending.js.map +1 -0
- package/dist/modules/usda-fooddata.d.ts +24 -0
- package/dist/modules/usda-fooddata.d.ts.map +1 -0
- package/dist/modules/usda-fooddata.js +118 -0
- package/dist/modules/usda-fooddata.js.map +1 -0
- package/dist/modules/usda-nass.d.ts +46 -0
- package/dist/modules/usda-nass.d.ts.map +1 -0
- package/dist/modules/usda-nass.js +151 -0
- package/dist/modules/usda-nass.js.map +1 -0
- package/dist/modules/usgs.d.ts +21 -0
- package/dist/modules/usgs.d.ts.map +1 -0
- package/dist/modules/usgs.js +203 -0
- package/dist/modules/usgs.js.map +1 -0
- package/dist/modules/uspto.d.ts +13 -0
- package/dist/modules/uspto.d.ts.map +1 -0
- package/dist/modules/uspto.js +157 -0
- package/dist/modules/uspto.js.map +1 -0
- package/dist/modules/world-bank.d.ts +21 -0
- package/dist/modules/world-bank.d.ts.map +1 -0
- package/dist/modules/world-bank.js +130 -0
- package/dist/modules/world-bank.js.map +1 -0
- package/dist/prompts.d.ts +12 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +858 -0
- package/dist/prompts.js.map +1 -0
- package/dist/sdk/bea.d.ts +111 -0
- package/dist/sdk/bea.d.ts.map +1 -0
- package/dist/sdk/bea.js +242 -0
- package/dist/sdk/bea.js.map +1 -0
- package/dist/sdk/bls.d.ts +65 -0
- package/dist/sdk/bls.d.ts.map +1 -0
- package/dist/sdk/bls.js +203 -0
- package/dist/sdk/bls.js.map +1 -0
- package/dist/sdk/bts.d.ts +108 -0
- package/dist/sdk/bts.d.ts.map +1 -0
- package/dist/sdk/bts.js +121 -0
- package/dist/sdk/bts.js.map +1 -0
- package/dist/sdk/cdc.d.ts +105 -0
- package/dist/sdk/cdc.d.ts.map +1 -0
- package/dist/sdk/cdc.js +222 -0
- package/dist/sdk/cdc.js.map +1 -0
- package/dist/sdk/census.d.ts +47 -0
- package/dist/sdk/census.d.ts.map +1 -0
- package/dist/sdk/census.js +99 -0
- package/dist/sdk/census.js.map +1 -0
- package/dist/sdk/cfpb.d.ts +148 -0
- package/dist/sdk/cfpb.d.ts.map +1 -0
- package/dist/sdk/cfpb.js +153 -0
- package/dist/sdk/cfpb.js.map +1 -0
- package/dist/sdk/clinical-trials.d.ts +214 -0
- package/dist/sdk/clinical-trials.d.ts.map +1 -0
- package/dist/sdk/clinical-trials.js +134 -0
- package/dist/sdk/clinical-trials.js.map +1 -0
- package/dist/sdk/cms.d.ts +81 -0
- package/dist/sdk/cms.d.ts.map +1 -0
- package/dist/sdk/cms.js +227 -0
- package/dist/sdk/cms.js.map +1 -0
- package/dist/sdk/college-scorecard.d.ts +63 -0
- package/dist/sdk/college-scorecard.d.ts.map +1 -0
- package/dist/sdk/college-scorecard.js +131 -0
- package/dist/sdk/college-scorecard.js.map +1 -0
- package/dist/sdk/congress.d.ts +575 -0
- package/dist/sdk/congress.d.ts.map +1 -0
- package/dist/sdk/congress.js +659 -0
- package/dist/sdk/congress.js.map +1 -0
- package/dist/sdk/dol.d.ts +299 -0
- package/dist/sdk/dol.d.ts.map +1 -0
- package/dist/sdk/dol.js +252 -0
- package/dist/sdk/dol.js.map +1 -0
- package/dist/sdk/eia.d.ts +91 -0
- package/dist/sdk/eia.d.ts.map +1 -0
- package/dist/sdk/eia.js +156 -0
- package/dist/sdk/eia.js.map +1 -0
- package/dist/sdk/epa.d.ts +128 -0
- package/dist/sdk/epa.d.ts.map +1 -0
- package/dist/sdk/epa.js +120 -0
- package/dist/sdk/epa.js.map +1 -0
- package/dist/sdk/fbi.d.ts +48 -0
- package/dist/sdk/fbi.d.ts.map +1 -0
- package/dist/sdk/fbi.js +69 -0
- package/dist/sdk/fbi.js.map +1 -0
- package/dist/sdk/fda.d.ts +356 -0
- package/dist/sdk/fda.d.ts.map +1 -0
- package/dist/sdk/fda.js +162 -0
- package/dist/sdk/fda.js.map +1 -0
- package/dist/sdk/fdic.d.ts +227 -0
- package/dist/sdk/fdic.d.ts.map +1 -0
- package/dist/sdk/fdic.js +172 -0
- package/dist/sdk/fdic.js.map +1 -0
- package/dist/sdk/fec.d.ts +142 -0
- package/dist/sdk/fec.d.ts.map +1 -0
- package/dist/sdk/fec.js +92 -0
- package/dist/sdk/fec.js.map +1 -0
- package/dist/sdk/federal-register.d.ts +88 -0
- package/dist/sdk/federal-register.d.ts.map +1 -0
- package/dist/sdk/federal-register.js +100 -0
- package/dist/sdk/federal-register.js.map +1 -0
- package/dist/sdk/fema.d.ts +137 -0
- package/dist/sdk/fema.d.ts.map +1 -0
- package/dist/sdk/fema.js +197 -0
- package/dist/sdk/fema.js.map +1 -0
- package/dist/sdk/fred.d.ts +72 -0
- package/dist/sdk/fred.d.ts.map +1 -0
- package/dist/sdk/fred.js +59 -0
- package/dist/sdk/fred.js.map +1 -0
- package/dist/sdk/govinfo.d.ts +64 -0
- package/dist/sdk/govinfo.d.ts.map +1 -0
- package/dist/sdk/govinfo.js +187 -0
- package/dist/sdk/govinfo.js.map +1 -0
- package/dist/sdk/hud.d.ts +87 -0
- package/dist/sdk/hud.d.ts.map +1 -0
- package/dist/sdk/hud.js +91 -0
- package/dist/sdk/hud.js.map +1 -0
- package/dist/sdk/index.d.ts +51 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +51 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/naep.d.ts +93 -0
- package/dist/sdk/naep.d.ts.map +1 -0
- package/dist/sdk/naep.js +163 -0
- package/dist/sdk/naep.js.map +1 -0
- package/dist/sdk/nhtsa.d.ts +169 -0
- package/dist/sdk/nhtsa.d.ts.map +1 -0
- package/dist/sdk/nhtsa.js +102 -0
- package/dist/sdk/nhtsa.js.map +1 -0
- package/dist/sdk/noaa.d.ts +72 -0
- package/dist/sdk/noaa.d.ts.map +1 -0
- package/dist/sdk/noaa.js +64 -0
- package/dist/sdk/noaa.js.map +1 -0
- package/dist/sdk/nrel.d.ts +145 -0
- package/dist/sdk/nrel.d.ts.map +1 -0
- package/dist/sdk/nrel.js +93 -0
- package/dist/sdk/nrel.js.map +1 -0
- package/dist/sdk/regulations.d.ts +146 -0
- package/dist/sdk/regulations.d.ts.map +1 -0
- package/dist/sdk/regulations.js +103 -0
- package/dist/sdk/regulations.js.map +1 -0
- package/dist/sdk/sec.d.ts +114 -0
- package/dist/sdk/sec.d.ts.map +1 -0
- package/dist/sdk/sec.js +151 -0
- package/dist/sdk/sec.js.map +1 -0
- package/dist/sdk/senate-lobbying.d.ts +147 -0
- package/dist/sdk/senate-lobbying.d.ts.map +1 -0
- package/dist/sdk/senate-lobbying.js +125 -0
- package/dist/sdk/senate-lobbying.js.map +1 -0
- package/dist/sdk/treasury.d.ts +59 -0
- package/dist/sdk/treasury.d.ts.map +1 -0
- package/dist/sdk/treasury.js +1397 -0
- package/dist/sdk/treasury.js.map +1 -0
- package/dist/sdk/usaspending.d.ts +126 -0
- package/dist/sdk/usaspending.d.ts.map +1 -0
- package/dist/sdk/usaspending.js +270 -0
- package/dist/sdk/usaspending.js.map +1 -0
- package/dist/sdk/usda-fooddata.d.ts +112 -0
- package/dist/sdk/usda-fooddata.d.ts.map +1 -0
- package/dist/sdk/usda-fooddata.js +80 -0
- package/dist/sdk/usda-fooddata.js.map +1 -0
- package/dist/sdk/usda-nass.d.ts +75 -0
- package/dist/sdk/usda-nass.d.ts.map +1 -0
- package/dist/sdk/usda-nass.js +83 -0
- package/dist/sdk/usda-nass.js.map +1 -0
- package/dist/sdk/usgs.d.ts +221 -0
- package/dist/sdk/usgs.d.ts.map +1 -0
- package/dist/sdk/usgs.js +182 -0
- package/dist/sdk/usgs.js.map +1 -0
- package/dist/sdk/uspto.d.ts +109 -0
- package/dist/sdk/uspto.d.ts.map +1 -0
- package/dist/sdk/uspto.js +286 -0
- package/dist/sdk/uspto.js.map +1 -0
- package/dist/sdk/world-bank.d.ts +78 -0
- package/dist/sdk/world-bank.d.ts.map +1 -0
- package/dist/sdk/world-bank.js +72 -0
- package/dist/sdk/world-bank.js.map +1 -0
- package/dist/server.d.ts +22 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +196 -0
- package/dist/server.js.map +1 -0
- package/package.json +113 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* College Scorecard MCP module — college costs, graduation rates, earnings, debt.
|
|
3
|
+
*/
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { searchSchools, querySchools, getMostExpensive, getHighestEarners, getHighestGraduationRates, OWNERSHIP, DEGREE_TYPES, } from "../sdk/college-scorecard.js";
|
|
6
|
+
// ─── Metadata ────────────────────────────────────────────────────────
|
|
7
|
+
export const name = "college-scorecard";
|
|
8
|
+
export const displayName = "College Scorecard";
|
|
9
|
+
export const description = "College costs, graduation rates, post-graduation earnings, student debt, admission rates for every U.S. college and university";
|
|
10
|
+
export const auth = { envVar: "DATA_GOV_API_KEY", signup: "https://api.data.gov/signup/" };
|
|
11
|
+
export const workflow = "scorecard_search to find schools → scorecard_compare for side-by-side → scorecard_top for rankings";
|
|
12
|
+
export const tips = "Ownership: 1=Public, 2=Private nonprofit, 3=Private for-profit. " +
|
|
13
|
+
"Degree types: 1=Certificate, 2=Associate, 3=Bachelor's, 4=Graduate. " +
|
|
14
|
+
"Use state abbreviations for filtering: 'CA', 'NY', 'TX'. " +
|
|
15
|
+
"Sort by cost, earnings, or graduation rate to find best/worst schools.";
|
|
16
|
+
export const reference = {
|
|
17
|
+
ownership: OWNERSHIP,
|
|
18
|
+
degreeTypes: DEGREE_TYPES,
|
|
19
|
+
popularFields: {
|
|
20
|
+
"latest.cost.tuition.in_state": "In-state tuition ($)",
|
|
21
|
+
"latest.cost.tuition.out_of_state": "Out-of-state tuition ($)",
|
|
22
|
+
"latest.cost.avg_net_price.overall": "Average net price after aid ($)",
|
|
23
|
+
"latest.admissions.admission_rate.overall": "Admission rate (0-1)",
|
|
24
|
+
"latest.completion.rate_suppressed.overall": "Graduation rate (0-1)",
|
|
25
|
+
"latest.earnings.10_yrs_after_entry.median": "Median earnings 10 years after entry ($)",
|
|
26
|
+
"latest.earnings.6_yrs_after_entry.median": "Median earnings 6 years after entry ($)",
|
|
27
|
+
"latest.aid.median_debt.completers.overall": "Median debt at graduation ($)",
|
|
28
|
+
"latest.aid.pell_grant_rate": "Pell grant rate (proxy for low-income students)",
|
|
29
|
+
"latest.student.size": "Undergraduate enrollment",
|
|
30
|
+
},
|
|
31
|
+
docs: {
|
|
32
|
+
"College Scorecard": "https://collegescorecard.ed.gov/",
|
|
33
|
+
"API Documentation": "https://collegescorecard.ed.gov/data/documentation/",
|
|
34
|
+
"Data Dictionary": "https://collegescorecard.ed.gov/assets/CollegeScorecardDataDictionary.xlsx",
|
|
35
|
+
"Get API Key": "https://api.data.gov/signup/",
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
// ─── Helpers ─────────────────────────────────────────────────────────
|
|
39
|
+
function formatSchool(r) {
|
|
40
|
+
return {
|
|
41
|
+
id: r.id ?? r["id"],
|
|
42
|
+
name: r["school.name"],
|
|
43
|
+
state: r["school.state"],
|
|
44
|
+
city: r["school.city"],
|
|
45
|
+
ownership: OWNERSHIP[r["school.ownership"]] ?? r["school.ownership"],
|
|
46
|
+
admissionRate: r["latest.admissions.admission_rate.overall"] != null
|
|
47
|
+
? `${(Number(r["latest.admissions.admission_rate.overall"]) * 100).toFixed(1)}%` : null,
|
|
48
|
+
tuitionInState: r["latest.cost.tuition.in_state"],
|
|
49
|
+
tuitionOutOfState: r["latest.cost.tuition.out_of_state"],
|
|
50
|
+
avgNetPrice: r["latest.cost.avg_net_price.overall"],
|
|
51
|
+
graduationRate: r["latest.completion.rate_suppressed.overall"] != null
|
|
52
|
+
? `${(Number(r["latest.completion.rate_suppressed.overall"]) * 100).toFixed(1)}%` : null,
|
|
53
|
+
medianEarnings10yr: r["latest.earnings.10_yrs_after_entry.median"],
|
|
54
|
+
medianEarnings6yr: r["latest.earnings.6_yrs_after_entry.median"],
|
|
55
|
+
medianDebt: r["latest.aid.median_debt.completers.overall"],
|
|
56
|
+
pellGrantRate: r["latest.aid.pell_grant_rate"] != null
|
|
57
|
+
? `${(Number(r["latest.aid.pell_grant_rate"]) * 100).toFixed(1)}%` : null,
|
|
58
|
+
studentSize: r["latest.student.size"],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
// ─── Tools ───────────────────────────────────────────────────────────
|
|
62
|
+
export const tools = [
|
|
63
|
+
{
|
|
64
|
+
name: "scorecard_search",
|
|
65
|
+
description: "Search U.S. colleges and universities from the College Scorecard.\n" +
|
|
66
|
+
"Returns tuition, admission rate, graduation rate, median earnings after graduation, student debt.\n\n" +
|
|
67
|
+
"Search by name, state, or school type. Sort by cost, earnings, or graduation rate.",
|
|
68
|
+
annotations: { title: "College Scorecard: Search Schools", readOnlyHint: true },
|
|
69
|
+
parameters: z.object({
|
|
70
|
+
name: z.string().optional().describe("School name (partial match): 'Harvard', 'community college', 'MIT'"),
|
|
71
|
+
state: z.string().optional().describe("Two-letter state code: 'CA', 'NY', 'TX'"),
|
|
72
|
+
ownership: z.number().int().optional().describe("1=Public, 2=Private nonprofit, 3=Private for-profit"),
|
|
73
|
+
sort: z.string().optional().describe("Sort field: 'latest.cost.tuition.out_of_state:desc', 'latest.earnings.10_yrs_after_entry.median:desc', 'latest.completion.rate_suppressed.overall:desc'"),
|
|
74
|
+
per_page: z.number().int().max(100).optional().describe("Results per page (default 20, max 100)"),
|
|
75
|
+
}),
|
|
76
|
+
execute: async ({ name, state, ownership, sort, per_page }) => {
|
|
77
|
+
const data = await searchSchools({ name, state, ownership, sort, perPage: per_page });
|
|
78
|
+
if (!data.results?.length)
|
|
79
|
+
return `No schools found${name ? ` matching "${name}"` : ""}.`;
|
|
80
|
+
return JSON.stringify({
|
|
81
|
+
summary: `College Scorecard: ${data.metadata.total} schools found, showing ${data.results.length}`,
|
|
82
|
+
total: data.metadata.total,
|
|
83
|
+
schools: data.results.map(formatSchool),
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "scorecard_compare",
|
|
89
|
+
description: "Compare specific colleges side-by-side on cost, graduation rate, earnings, and debt.\n" +
|
|
90
|
+
"Provide school names to search and compare.",
|
|
91
|
+
annotations: { title: "College Scorecard: Compare Schools", readOnlyHint: true },
|
|
92
|
+
parameters: z.object({
|
|
93
|
+
schools: z.string().describe("Comma-separated school names to compare: 'Harvard,MIT,Stanford' or 'Ohio State,Michigan'"),
|
|
94
|
+
}),
|
|
95
|
+
execute: async ({ schools }) => {
|
|
96
|
+
const names = schools.split(",").map((s) => s.trim()).filter(Boolean);
|
|
97
|
+
const results = await Promise.all(names.map(async (n) => {
|
|
98
|
+
const data = await searchSchools({ name: n, perPage: 1 });
|
|
99
|
+
return data.results?.[0] ? formatSchool(data.results[0]) : { name: n, error: "Not found" };
|
|
100
|
+
}));
|
|
101
|
+
return JSON.stringify({
|
|
102
|
+
summary: `Comparing ${results.length} schools`,
|
|
103
|
+
schools: results,
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: "scorecard_top",
|
|
109
|
+
description: "Get top-ranked colleges by earnings, graduation rate, or lowest cost.\n" +
|
|
110
|
+
"Rankings: 'earnings' (highest median pay 10yr after entry), 'graduation' (highest completion rate), 'expensive' (highest tuition)",
|
|
111
|
+
annotations: { title: "College Scorecard: Rankings", readOnlyHint: true },
|
|
112
|
+
parameters: z.object({
|
|
113
|
+
ranking: z.string().describe("'earnings' (highest pay), 'graduation' (highest grad rate), 'expensive' (highest cost)"),
|
|
114
|
+
state: z.string().optional().describe("Filter to state: 'CA', 'NY', 'TX'"),
|
|
115
|
+
ownership: z.number().int().optional().describe("1=Public, 2=Private nonprofit, 3=Private for-profit"),
|
|
116
|
+
per_page: z.number().int().max(100).optional().describe("Number of schools (default 20)"),
|
|
117
|
+
}),
|
|
118
|
+
execute: async ({ ranking, state, ownership, per_page }) => {
|
|
119
|
+
let data;
|
|
120
|
+
if (ranking === "earnings") {
|
|
121
|
+
data = await getHighestEarners({ ownership, perPage: per_page });
|
|
122
|
+
}
|
|
123
|
+
else if (ranking === "graduation") {
|
|
124
|
+
data = await getHighestGraduationRates({ state, perPage: per_page });
|
|
125
|
+
}
|
|
126
|
+
else if (ranking === "expensive") {
|
|
127
|
+
data = await getMostExpensive({ ownership, perPage: per_page });
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
data = await getHighestEarners({ ownership, perPage: per_page });
|
|
131
|
+
}
|
|
132
|
+
if (!data.results?.length)
|
|
133
|
+
return `No schools found for "${ranking}" ranking.`;
|
|
134
|
+
return JSON.stringify({
|
|
135
|
+
summary: `Top schools by ${ranking}: ${data.results.length} schools`,
|
|
136
|
+
ranking,
|
|
137
|
+
schools: data.results.map(formatSchool),
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: "scorecard_query",
|
|
143
|
+
description: "Advanced College Scorecard query with custom field filters and ranges.\n\n" +
|
|
144
|
+
"Filter examples:\n" +
|
|
145
|
+
"- 'latest.admissions.admission_rate.overall__range=0..0.10' (schools with <10% admission rate)\n" +
|
|
146
|
+
"- 'latest.cost.tuition.in_state__range=..5000' (tuition under $5K)\n" +
|
|
147
|
+
"- 'school.degrees_awarded.predominant=3' (bachelor's-granting)\n" +
|
|
148
|
+
"- 'latest.earnings.10_yrs_after_entry.median__range=80000..' (high-earning graduates)",
|
|
149
|
+
annotations: { title: "College Scorecard: Advanced Query", readOnlyHint: true },
|
|
150
|
+
parameters: z.object({
|
|
151
|
+
filters: z.string().describe("Semicolon-separated filter params: 'school.state=CA;latest.admissions.admission_rate.overall__range=0..0.20;school.degrees_awarded.predominant=3'"),
|
|
152
|
+
sort: z.string().optional().describe("Sort: 'latest.earnings.10_yrs_after_entry.median:desc'"),
|
|
153
|
+
per_page: z.number().int().max(100).optional().describe("Results per page (default 20)"),
|
|
154
|
+
}),
|
|
155
|
+
execute: async ({ filters, sort, per_page }) => {
|
|
156
|
+
const params = {};
|
|
157
|
+
for (const f of filters.split(";")) {
|
|
158
|
+
const [key, ...rest] = f.split("=");
|
|
159
|
+
if (key && rest.length)
|
|
160
|
+
params[key.trim()] = rest.join("=").trim();
|
|
161
|
+
}
|
|
162
|
+
if (sort)
|
|
163
|
+
params.sort = sort;
|
|
164
|
+
if (per_page)
|
|
165
|
+
params.per_page = per_page;
|
|
166
|
+
const data = await querySchools(params);
|
|
167
|
+
if (!data.results?.length)
|
|
168
|
+
return "No schools found matching the filters.";
|
|
169
|
+
return JSON.stringify({
|
|
170
|
+
summary: `College Scorecard query: ${data.metadata.total} schools found, showing ${data.results.length}`,
|
|
171
|
+
total: data.metadata.total,
|
|
172
|
+
schools: data.results.map(formatSchool),
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
];
|
|
177
|
+
// ─── Prompts ─────────────────────────────────────────────────────────
|
|
178
|
+
export const prompts = [
|
|
179
|
+
{
|
|
180
|
+
name: "college_roi",
|
|
181
|
+
description: "Analyze the return on investment of college — compare costs, debt, and earnings across school types.",
|
|
182
|
+
load: async () => "Analyze college ROI using the College Scorecard:\n\n" +
|
|
183
|
+
"1. Use scorecard_top ranking='earnings' per_page=10 — schools with highest post-grad earnings\n" +
|
|
184
|
+
"2. Use scorecard_top ranking='expensive' per_page=10 — most expensive schools\n" +
|
|
185
|
+
"3. Use scorecard_search ownership=1 sort='latest.earnings.10_yrs_after_entry.median:desc' per_page=10 — top public schools by earnings\n" +
|
|
186
|
+
"4. Use scorecard_search ownership=2 sort='latest.earnings.10_yrs_after_entry.median:desc' per_page=10 — top private nonprofit by earnings\n\n" +
|
|
187
|
+
"Compare: tuition vs earnings, debt vs earnings ratio, public vs private ROI. " +
|
|
188
|
+
"Cross-reference with FRED (SLOAS — student loan debt outstanding) and BLS (employment by education level).",
|
|
189
|
+
},
|
|
190
|
+
];
|
|
191
|
+
export { clearCache } from "../sdk/college-scorecard.js";
|
|
192
|
+
//# sourceMappingURL=college-scorecard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"college-scorecard.js","sourceRoot":"","sources":["../../src/modules/college-scorecard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Congress.gov MCP module — tools + metadata. Delegates all API calls to sdk/congress.
|
|
3
|
+
*
|
|
4
|
+
* Tools return raw JSON data — no markdown formatting. The client decides how to present it.
|
|
5
|
+
*/
|
|
6
|
+
import type { Tool, InputPrompt } from "fastmcp";
|
|
7
|
+
export declare const name = "congress";
|
|
8
|
+
export declare const displayName = "Congress.gov";
|
|
9
|
+
export declare const description = "Bills, votes, members, laws, amendments, and committee data from Congress.gov. House votes use Congress.gov API (118th+) with clerk.house.gov fallback (1990+). Senate votes from senate.gov (101st/1989+).";
|
|
10
|
+
export declare const auth: {
|
|
11
|
+
envVar: string;
|
|
12
|
+
signup: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const workflow = "congress_search_bills \u2192 congress_bill_details for sponsors/cosponsors/status \u2192 congress_house_votes or congress_senate_votes for party-line breakdown \u2192 cross-reference with FEC (donors), lobbying_search (who lobbied), and FRED (economic impact)";
|
|
15
|
+
export declare const tips = "Congress numbers: 119th (2025-2026), 118th (2023-2024), 117th (2021-2022). Bill types: hr, s, hjres, sjres, hconres, sconres, hres, sres. House votes: use year param for historical (1990+). Senate votes: 101st Congress (1989) to present. Always compare House and Senate votes on the same bill to reveal bicameral differences. For accountability investigations: use congress_member_details to get committee assignments (e.g. Banking Committee chair), then congress_senate_votes/congress_house_votes for party-line breakdown, then cross-reference with FEC disbursements and lobbying spend.";
|
|
16
|
+
export declare const reference: {
|
|
17
|
+
billTypes: Record<string, string>;
|
|
18
|
+
congressNumbers: Record<number, string>;
|
|
19
|
+
docs: {
|
|
20
|
+
"API Docs": string;
|
|
21
|
+
"Interactive Docs": string;
|
|
22
|
+
"Sign Up": string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare const tools: Tool<any, any>[];
|
|
26
|
+
export { clearCache } from "../sdk/congress.js";
|
|
27
|
+
export declare const prompts: InputPrompt<any, any>[];
|
|
28
|
+
//# sourceMappingURL=congress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"congress.d.ts","sourceRoot":"","sources":["../../src/modules/congress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAsDjD,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAC1C,eAAO,MAAM,WAAW,gNAAgN,CAAC;AACzO,eAAO,MAAM,IAAI;;;CAAyE,CAAC;AAC3F,eAAO,MAAM,QAAQ,wQAAyP,CAAC;AAC/Q,eAAO,MAAM,IAAI,glBAAglB,CAAC;AAElmB,eAAO,MAAM,SAAS;eAMf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;qBAItB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;CAM5B,CAAC;AAkEF,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAozBjC,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAgC1C,CAAC"}
|