io. github. cyanheads/ college-scorecard-mcp-server
by cyanheads · remote · local (npm) · no sign-in to list tools · v0.4.0 · published by GitHub user cyanheads
Search, compare, and analyze U.S. college data — costs, earnings, programs, and outcomes.
9 tools: 9 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads9Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http college-scorecard https://college-scorecard.caseyjhand.com/mcpFindings
Matches of fixed checks, with the text they matched.
The description mentions "credential".
What this check looks forMatched text
description: "...edian earnings 1 year after the highest credential, cumulative Stafford/Grad PLUS debt, an..."
The input schema at properties.cip_code.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.cip_code.description: "...Computer Science). Returns one row per credential level the school offers in that program..."
The input schema at properties.credential_level.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.credential_level.description: "Filter by credential level: 1=undergraduate certificate, 2=a..."
The input schema at properties.credential_level.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.credential_level.description: "Provider credential selector: 1=undergraduate certificate,..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Only reads 9Claude Code: allow
scorecard_compare_schoolsSide-by-side comparison of 2–5 schools with ordinal competition ranks within the selected set (ties share a rank).No findings
Why it is in this group
- The name "scorecard_compare_schools" says "compare": a word for reading.
Description, as the server wrote it Side-by-side comparison of 2–5 schools with ordinal competition ranks within the selected set (ties share a rank). Topics: costs (tuition, net price by income bracket, debt), admissions (acceptance rate, SAT/ACT, enrollment), outcomes (completion, earnings, repayment), aid (Pell grants, federal loans, debt, repayment). Use scorecard_get_school for full profiles.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
scorecard_get_earningsInstitution-level earnings of federally aided undergraduate entrants working and not enrolled, regardless of completion.No findings
Why it is in this group
- The name "scorecard_get_earnings" says "get": a word for reading.
Description, as the server wrote it Institution-level earnings of federally aided undergraduate entrants working and not enrolled, regardless of completion. Reports medians at 6/8/10 years after entry, 6/10-year percentiles, and non-male/male 6-year medians. For graduate program earnings use scorecard_get_programs. years selects API data-file start years (1996–2025), including files without earnings observations. Per-metric availability and official cohort/measurement/dollar context accompany values; unknown metadata stays absent. No re-inflation is performed.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
scorecard_get_programsAll field-of-study programs at one school with median earnings 1 year after the highest credential, cumulative Stafford/Grad PLUS debt, and IPEDS awards for each year of the pooled…3 findings
Why it is in this group
- The name "scorecard_get_programs" says "get": a word for reading.
Findings
- Info
The description mentions "credential".
What this check looks forMatched text
description: "...edian earnings 1 year after the highest credential, cumulative Stafford/Grad PLUS debt, an..."
- Info
The input schema at properties.cip_code.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.cip_code.description: "...Computer Science). Returns one row per credential level the school offers in that program..."
- Info
The input schema at properties.credential_level.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.credential_level.description: "Filter by credential level: 1=undergraduate certificate, 2=a..."
Description, as the server wrote it All field-of-study programs at one school with median earnings 1 year after the highest credential, cumulative Stafford/Grad PLUS debt, and IPEDS awards for each year of the pooled debt cohort. Institution-level 6/8/10-year earnings are available via scorecard_get_earnings. Null or absent earnings have unknown cause; suppressed=true requires an explicit provider privacy marker. Use scorecard_lookup_cip to find CIP codes by name.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
scorecard_get_schoolInstitutional profiles for one or more school IDs.No findings
Why it is in this group
- The name "scorecard_get_school" says "get": a word for reading.
Description, as the server wrote it Institutional profiles for one or more school IDs. Accepts up to 1,000 elements, deduplicates normalized IDs, serves the first 100 distinct IDs, and reports missing and unprocessed IDs separately. Use scorecard_compare_schools for comparisons. Custom fields return requested paths and their JSON values in selected_fields, absent paths in absent_fields, and real identity; default profiles include costs, admissions, outcomes, aid, and completion rates.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: true
scorecard_list_fieldsSearch the College Scorecard field catalog by keyword.No findings
Why it is in this group
- The name "scorecard_list_fields" says "list": a word for reading.
Description, as the server wrote it Search the College Scorecard field catalog by keyword. Returns matching field paths, descriptions, data types, and whether each field supports API-side sorting. Use before passing custom field paths to the fields parameter on scorecard_get_school to find a supported path. Served entirely from embedded static data — no API call, no rate limit impact.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
scorecard_lookup_cipSearch the Classification of Instructional Programs (CIP) taxonomy by keyword or partial name.No findings
Why it is in this group
- The name "scorecard_lookup_cip" says "lookup": a word for reading.
Description, as the server wrote it Search the Classification of Instructional Programs (CIP) taxonomy by keyword or partial name. Returns matching CIP codes with standard titles. Use this before passing cip_code filters to scorecard_search_programs or scorecard_get_programs when you know a program by name but not its code. Served entirely from embedded static data — no API call, no rate limit impact.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
scorecard_search_programsFind programs by CIP code across institutions, ranked by median earnings within the fetched school page.1 finding
Why it is in this group
- The name "scorecard_search_programs" says "search": a word for reading.
Findings
- Info
The input schema at properties.credential_level.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.credential_level.description: "Provider credential selector: 1=undergraduate certificate,..."
Description, as the server wrote it Find programs by CIP code across institutions, ranked by median earnings within the fetched school page. Accepts school-side filters (state, ownership, max cost). Minimum earnings is applied locally; totals and pagination count schools before local program filtering. Use scorecard_lookup_cip to convert program names to CIP codes. Returns school names and IDs alongside program earnings, cumulative Stafford/Grad PLUS debt, and IPEDS awards for follow-up calls to scorecard_get_school or scorecard_get_programs.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
scorecard_search_schoolsSearch and filter U.S.No findings
Why it is in this group
- The name "scorecard_search_schools" says "search": a word for reading.
Description, as the server wrote it Search and filter U.S. colleges and universities by name, location, type, size, and acceptance rate. Returns core identity and cost metrics. Use scorecard_get_school for profiles or scorecard_search_programs for program rankings. Geographic distance requires a U.S. ZIP; ZIP alone uses the provider default radius. State accepts comma-separated two-letter codes (e.g. WA,CA). Ownership: 1=public, 2=private nonprofit, 3=for-profit. Degree level: 0=non-degree, 1=certificate, 2=associate, 3=bachelor, 4=graduate.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
scorecard_value_analysisAnalyze costs, debt, repayment progress, and earnings for one school.No findings
Why it is in this group
- The description's first verb is "analyze": a word for reading.
Description, as the server wrote it Analyze costs, debt, repayment progress, and earnings for one school. Returns debt-to-earnings and net-price-to-annual-earnings ratios alongside the source figures. family_income selects the applicable net-price bracket. Repayment progress is the share of borrowers paying down principal 3 years after entering repayment.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.4.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http college-scorecard https://college-scorecard.caseyjhand.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__college-scorecard__scorecard_lookup_cip",
"mcp__college-scorecard__scorecard_list_fields",
"mcp__college-scorecard__scorecard_search_schools",
"mcp__college-scorecard__scorecard_get_school",
"mcp__college-scorecard__scorecard_get_programs",
"mcp__college-scorecard__scorecard_get_earnings",
"mcp__college-scorecard__scorecard_search_programs",
"mcp__college-scorecard__scorecard_compare_schools",
"mcp__college-scorecard__scorecard_value_analysis"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as college-scorecard. Review it before you use it.
