Scoring methodology →
Understand score construction, dimensions, and comparison rules.
schoolscope://methodology/scope-scoreSchoolScope for developers
Search schools, inspect profiles, compare reported patterns, and trace answers back to public sources.
https://mcp.schoolscope.co/mcp
Add a remote HTTP server in your client and use this URL. School-data tools work without authentication.
claude mcp add --transport http schoolscope https://mcp.schoolscope.co/mcp
Run in your terminal, then start a conversation and confirm the SchoolScope tools are available.
{
"mcpServers": {
"schoolscope": {
"type": "http",
"url": "https://mcp.schoolscope.co/mcp"
}
}
}Save as .mcp.json for Claude Code. Other clients may use a different configuration shape.
No API key. OAuth is optional and used for your saved-school watchlist.
Quickstart
Use the endpoint or command above in a client that supports remote HTTP servers.
Open a conversation and check that your client can access SchoolScope.
Find nearby schools, open a profile, and ask what evidence supports the answer.
Find public elementary schools near 90004. Compare their reported growth and attendance, include the source years, and suggest questions to ask on a visit.
find_schools → school_profile → compare_schoolsUse a terminal with cURL. The session ID comes from the initialization response headers. Responses may use server-sent events; inspect the JSON in the data: lines.
# 1. Initialize a session and save the response headers.
curl -sS -D schoolscope-headers.txt https://mcp.schoolscope.co/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"schoolscope-example","version":"1.0"}}}'
# 2. Copy mcp-session-id from the headers into this variable.
SESSION_ID='paste-session-id-here'
# 3. Notify the server that initialization is complete.
curl -sS https://mcp.schoolscope.co/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","method":"notifications/initialized"}'
# 4. Discover the current tools and their input schemas.
curl -sS https://mcp.schoolscope.co/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 5. Ask a school-data tool a question.
curl -sS https://mcp.schoolscope.co/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"find_schools","arguments":{"query":"Palm Crest"}}}'For clients that only support stdio, a bridge can connect to the remote server:
npx -y mcp-remote https://mcp.schoolscope.co/mcp
Tools & resources
Start with search, move into a profile, then compare or follow the path. The school-data tools are anonymous; your personal watchlist requires OAuth.
find_schoolsBy name, by zip, within a radius of any place or coordinate, or top-ranked at one level — optionally filtered to schools with transitional kindergarten (TK).
school_profileThe full oracle answer for one school: verdict, scores by level, climate, equity, college outcomes, year-over-year movement.
similar_schoolsSchools serving a similar student population — the comparison that isn't just measuring the neighbourhood.
feeder_pathWhere students come from and where the path leads — including the endpoint high school's outcomes.
compare_schoolsSide-by-side comparison of 2–4 schools at the same level.
district_profileDistrict roll-up: averages plus every scored school, ranked.
my_watchlistCaller's saved schools — requires the watchlist:read scope. OAuth required.
The server publishes current JSON Schemas through tools/list. Explore tool documentation →
MCP resources supply the methods behind the answers. Discover them with resources/list and retrieve a resource with resources/read.
Understand score construction, dimensions, and comparison rules.
schoolscope://methodology/scope-scoreInterpret the reported pattern behind each archetype.
schoolscope://methodology/archetypesInspect the agencies, datasets, and reporting periods.
schoolscope://data/sourcesFor web discovery, llms.txt provides a machine-readable guide to SchoolScope. Pages also include structured metadata.
{
"meta": {
"data_year": 2025,
"source_agency": "California Department of Education",
"methodology_url": "https://schoolscope.co/methodology"
}
}The full envelope also includes attribution, comparability rules, growth definitions, and a generation timestamp. A timestamp records when an answer was generated; the data year identifies its vintage.
Source agency, data year, and methodology accompany structured school results.
Missing growth evidence is not zero growth. Coverage differs by school, measure, and reporting year.
Compare schools within a level and peer class. Scope Scores are normalized within each year; use underlying rates and state percentiles for trends.
Proposed pricing
The MCP server is live and free. These proposed REST API tiers describe the access options we are working toward, so you can plan ahead and tell us what is missing.
Prototypes, side projects, and exploration.
$0
1,000 calls / month
Individual developers and small applications.
$19 / month
10,000 calls / month
Real estate applications and education platforms.
$79 / month
50,000 calls / month
Larger platforms, research teams, and data aggregators.
Talk to us
Bulk snapshots, not metered calls
REST API · planned
The proposed REST surface covers profiles, search, comparisons with state measures, and location context. Endpoint paths and response contracts are design previews; these routes are not live.
| Proposed endpoint | What it would return |
|---|---|
GET/api/v1/schools/:slug | School profile School identity, Scope Score, archetype, spending, and enrollment context. |
GET/api/v1/schools/search | Search Find schools by name, city, ZIP, or district. |
GET/api/v1/schools/nearby | Nearby schools Find schools around a latitude/longitude and radius. |
GET/api/v1/schools/:slug/scores | Score factors Inspect underlying measures, level-specific weights, and state comparisons. |
GET/api/v1/schools/:slug/feeder | School path Explore earlier and later grades with relationship and assignment caveats. |
GET/api/v1/context-pack | Location context Assemble schools by level and district context for a property or neighborhood. |
GET/api/v1/autocomplete | Type-ahead School and district suggestions for a search interface. |
Bulk exports · planned
The Enterprise proposal includes quarterly CSV and JSON snapshots for repeatable research, internal analysis, and applications that need to work with many schools at once.
School identity, enrollment, demographics, per-pupil spending, and reported school-path relationships.
Scope Scores and archetypes where eligible, level-specific score factors, cohort growth, attendance, and suspension measures.
Proposed CSV and JSON packages with field definitions, source agencies, reporting years, and explicit missing values.
California is the current data scope. Additional state packages and export delivery are planned. Coverage and release cadence will follow available source data.
Discuss your data requirements →California public-school data is available now. Measures vary by school level and source.
View data sources →Public records cannot capture every classroom experience or explain why an outcome changed.
Read limitations →Explore metric definitions, comparison groups, and the rules behind reported patterns.
Read the methodology →Stay in the loop
Get an update when REST API access is ready. Tell us what you are building so the proposed plans can reflect real needs.
No launch date promised. MCP school-data access is already available.
Sign in, then select “Join the REST API list” to confirm your interest.