
California school finance data for AI agents MCP server
Which MCP servers are California school finance data for AI agents's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.
read 2026-10-20
- Registry nameai.sacs/sacs-mcpverified in the MCP registry
The registry name sits under sacs.ai. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.
- Stateanswerschecked 2026-10-20
- Tools12
- Server calls itselfsacs-public
- Server version1.30.0
- Protocol version2025-06-18
On 2026-10-20 the server answered initialize and tools/list without a sign-in. First answer in 128 ms.
- Whether its tools do the product's job has not been judged yet.
Once connected
- Parameters are untyped or undescribed in 12 of 12 tools: check arguments before calling.
Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.
- INITE MCP score93 of 100answers 100 · definitions 83 · context 90 · connects 100
- Answered100% of days13 of 13 daily checks
- Median first answer179 ms
- Space in an agent's context≈ 4,356 tokensthe definitions of all its tools (12), which an agent carries on every turn
- Tool definitionsB · 83 of 100
- Typed results12 of 12 toolsdeclared outputSchema: results come typed, read once
- Parameters without a description: in 12 of 12
What an agent can do with it
- not sure · Resolve a California school district and find its official filings
- not sure · Compare district financials using official public datasets
- not sure · Review budgets, interims, and actuals separately with their sources
Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?
Worth a look
None of the five warning signs in these definitions.
A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →
sacs_search_districtsSearch current public California districts by name, 7-digit LEA, or 14-digit CDS. Omit query or pass an empty string to browse all current districts. Follow page.next_offset while page.has_more is true; pages contain at most 50 rows.
sacs_list_public_datasetsList versioned official public SACS datasets for one district.
sacs_query_attendanceReturn recovered Form A ADA observations for one official district filing.
sacs_query_financial_summaryReturn bounded aggregate financial summaries for one explicit official dataset.
sacs_compare_districtsCompare deterministic object-category totals for two explicit official datasets.
sacs_district_context_packBuild fiscal-distress rows with source filing details. Deficit spending is signed net operating result / expenditure; negative means deficit.
sacs_district_context_pack_batchBuild bounded district packs with source filing details. Deficit spending is signed net operating result / expenditure; negative means deficit.
sacs_explain_codeExplain current public fund, resource, goal, function, or object codes.
sacs_search_csamSearch California School Accounting Manual (CSAM 2024) by keywords and topic, procedure number or a returned chunk_id. Use chunk_id with direction=previous or next and limit (1–10) to read adjacent source chunks within the same procedure…
sacs_get_csam_relatedRetrieve related CSAM 2024 sections/content using its source-evidenced knowledge graph. Start with a procedure number, a chunk_id from sacs_search_csam, a returned node_id, or short heading/code/glossary keywords (exactly one selector)…
sacs_register_clientOptionally register this MCP installation. Before calling, tell the operator registration is voluntary, data access works without it, list the fields to be stored, and obtain consent. Never infer or submit personal or confidential…
sacs_submit_feedbackReport a wrong, stale, incomplete, or failed result, or send a feature request. Ask the operator to report issues here; explain the exact fields and submit only with consent. Include request ID and data version when available. Anonymous…
How to connect
Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:
{
"mcpServers": {
"sacs-mcp": {
"type": "http",
"url": "https://mcp.sacs.ai/mcp"
}
}
}Add it
Claude Code, in a terminal
claude mcp add --transport http sacs https://mcp.sacs.ai/mcpclaude.ai, ChatGPT and other clients: add https://mcp.sacs.ai/mcp as a custom connector in the settings.
Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.