Skip to content

SchoolScope

by schoolscope.co · remote · no sign-in to list tools · v3.4.0 · published by co.schoolscope

California school data for AI agents — scores, profiles, comparisons, feeder paths, UC pipelines.

Changes · 4

7 tools: 4 change things and 3 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http schoolscope https://mcp.schoolscope.co/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 4Claude Code: ask
  • district_profileA California district roll-up: average Scope Score and absenteeism across the district plus every scored school ranked by level.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    A California district roll-up: average Scope Score and absenteeism across the district plus every scored school ranked by level. Match by district name.

    Annotations the server declares

    • title: District profile
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • feeder_pathThe K-12 feeder path for a school: which schools students typically arrive from, where they go next, and — for elementary/middle schools — the endpoint high school with its graduat…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The K-12 feeder path for a school: which schools students typically arrive from, where they go next, and — for elementary/middle schools — the endpoint high school with its graduation and college-going outcomes. Boundary-based (the district's own published boundaries where we have them, else NCES SABS 2015-16), shown alongside scores, never inside them.

    Annotations the server declares

    • title: K-12 feeder path
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • school_profileThe full SchoolScope profile for one school by slug: verdict and archetype, Scope Score with band and percentile per level, CAASPP exceeded/met split, cohort growth (school-by-grad…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The full SchoolScope profile for one school by slug: verdict and archetype, Scope Score with band and percentile per level, CAASPP exceeded/met split, cohort growth (school-by-grade aggregates two years apart, in SBAC scale-score points, reported as a 0-100 index centred on the state average), climate (absenteeism, suspension, ELPAC), equity gaps by student group, teacher stability, and — for high schools — graduation, college destinations, UC admissions history, AP courses, and IB programmes. Also answers "is this school improving?" with a year-over-year table of statewide percentile and the underlying rates; the Scope Score is excluded there because it is normalised within each year and is not comparable across them. For public schools it also returns the profile's own `answer` (one sentence about all students, each subject against California's rate for the same grades), up to three selected `takeaways` (each with figures, comparisons, a question where one applies, and a generated receipt naming source, year, grades, population, n and how the comparison was built), and `studentGroups` (every group by income, race or ethnicity, language and disability with 30+ students tested in each subject, against the same group in the same grades in the district and statewide). Current data year 2026.

    Annotations the server declares

    • title: School profile
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • similar_schoolsSchools serving a similar student population to a given school — same level, comparable free/reduced-lunch share and enrollment size — with the subject's standing among them.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Schools serving a similar student population to a given school — same level, comparable free/reduced-lunch share and enrollment size — with the subject's standing among them. This is the fair comparison: a raw ranking largely reflects who enrolls, so a school's position against demographic peers says far more about the school itself than its statewide rank does. Public schools only.

    Annotations the server declares

    • title: Similar schools
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 3Claude Code: allow
  • compare_schoolsCompare 2-4 public schools side by side: band, Scope Score, exceeded/met split, cohort growth (aggregate school-by-grade cohorts across the grade span, as a 0-100 index centred on …No findings

    Why it is in this group

    • The name "compare_schools" says "compare": a word for reading.
    Description, as the server wrote it
    Compare 2-4 public schools side by side: band, Scope Score, exceeded/met split, cohort growth (aggregate school-by-grade cohorts across the grade span, as a 0-100 index centred on the state average), climate. A school with no cohort comparison reports no growth figure rather than a substitute — treat that as missing evidence, not flat growth. Schools are only comparable within the same level (elementary/middle/high are separate rankings). Private schools cannot be compared — they have no state testing data.

    Annotations the server declares

    • title: Compare schools
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • find_schoolsFind California schools four ways, whichever fits the question: free text over school/city/district names (`query`), inside a zip code (`zip`), within a radius of a place or coordi…No findings

    Why it is in this group

    • The name "find_schools" says "find": a word for reading.
    Description, as the server wrote it
    Find California schools four ways, whichever fits the question: free text over school/city/district names (`query`), inside a zip code (`zip`), within a radius of a place or coordinate (`near`), or the top-ranked schools at one level (`level` alone). Returns band, Scope Score, archetype and profile URL for each match. Private schools are flagged and never ranked — they have no state testing data. Supply exactly one of query, zip or near; or none plus a level for a top list. Set `tk: true` to limit any of these searches to schools with active transitional kindergarten (TK) enrollment — a filter that composes with query, zip, near and level, and every result carries a `hasTk` field.

    Annotations the server declares

    • title: Find California schools
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • my_watchlistReturn the schools the authenticated user has saved on SchoolScope.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Return the schools the authenticated user has saved on SchoolScope. Requires the `watchlist:read` OAuth scope.

    Annotations the server declares

    • title: My saved schools
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

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 3.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http schoolscope https://mcp.schoolscope.co/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__schoolscope__find_schools",
      "mcp__schoolscope__compare_schools",
      "mcp__schoolscope__my_watchlist"
    ],
    "ask": [
      "mcp__schoolscope__school_profile",
      "mcp__schoolscope__feeder_path",
      "mcp__schoolscope__district_profile",
      "mcp__schoolscope__similar_schools"
    ],
    "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 schoolscope. Review it before you use it.