Serveur MCP

SACS.ai MCP — California School District Financial Data

ai.sacs/sacs-mcp
Données et analytique Éducation Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Queries, compares, and contextualizes official California school district financial datasets and explains public SACS accounting codes.

sacs_compare_districts
Compare deterministic object-category totals for two explicit official datasets.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_compare_districtsArguments', 'required': ['base_district_identifier', 'base_dataset_ref', 'compare_district_identifier', 'compare_dataset_ref'], 'properties': {'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'fund_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[0-9]{2}$', 'description': 'Two-digit SACS fund code'}, 'maxItems': 20}, {'type': 'null'}], 'title': 'Fund Codes', 'default': None}, 'resource_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[0-9]{4}$'}, 'maxItems': 20}, {'type': 'null'}], 'title': 'Resource Codes', 'default': None}, 'base_dataset_ref': {'type': 'string', 'title': 'Base Dataset Ref', 'pattern': '^official:[1-9][0-9]*$', 'maxLength': 64, 'minLength': 10}, 'compare_dataset_ref': {'type': 'string', 'title': 'Compare Dataset Ref', 'pattern': '^official:[1-9][0-9]*$', 'maxLength': 64, 'minLength': 10}, 'base_district_identifier': {'type': 'string', 'title': 'Base District Identifier', 'maxLength': 100, 'minLength': 2}, 'compare_district_identifier': {'type': 'string', 'title': 'Compare District Identifier', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_district_context_pack
Build fiscal-distress rows with source filing details. Deficit spending is signed net operating result / expenditure; negative means deficit.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_district_context_packArguments', 'required': ['district_identifier'], 'properties': {'basis': {'enum': ['estimated_actuals', 'unaudited_actuals', 'adopted_budget', 'first_interim', 'second_interim'], 'type': 'string', 'title': 'Basis', 'default': 'estimated_actuals'}, 'detail': {'enum': ['summary', 'full'], 'type': 'string', 'title': 'Detail', 'default': 'full'}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'fund_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[0-9]{2}$', 'description': 'Inclusive two-digit SACS fund bound'}, 'maxItems': 2, 'minItems': 1}, {'type': 'null'}], 'title': 'Fund Codes', 'default': None}, 'fiscal_year_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}-[0-9]{2}$'}, {'type': 'null'}], 'title': 'Fiscal Year Max', 'default': None}, 'fiscal_year_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}-[0-9]{2}$'}, {'type': 'null'}], 'title': 'Fiscal Year Min', 'default': None}, 'district_identifier': {'type': 'string', 'title': 'District Identifier', 'maxLength': 100, 'minLength': 2}, 'one_time_resource_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[0-9]{4}$'}, 'maxItems': 50, 'minItems': 1}, {'type': 'null'}], 'title': 'One Time Resource Codes', 'default': None}, 'include_balance_sheet_from_actuals': {'type': 'boolean', 'title': 'Include Balance Sheet From Actuals', 'default': True}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_district_context_pack_batch
Build bounded district packs with source filing details. Deficit spending is signed net operating result / expenditure; negative means deficit.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_district_context_pack_batchArguments', 'required': ['district_identifiers'], 'properties': {'basis': {'enum': ['estimated_actuals', 'unaudited_actuals', 'adopted_budget', 'first_interim', 'second_interim'], 'type': 'string', 'title': 'Basis', 'default': 'estimated_actuals'}, 'detail': {'enum': ['summary', 'full'], 'type': 'string', 'title': 'Detail', 'default': 'summary'}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'fund_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[0-9]{2}$', 'description': 'Inclusive two-digit SACS fund bound'}, 'maxItems': 2, 'minItems': 1}, {'type': 'null'}], 'title': 'Fund Codes', 'default': None}, 'fiscal_year_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}-[0-9]{2}$'}, {'type': 'null'}], 'title': 'Fiscal Year Max', 'default': None}, 'fiscal_year_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}-[0-9]{2}$'}, {'type': 'null'}], 'title': 'Fiscal Year Min', 'default': None}, 'district_identifiers': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 2}, 'title': 'District Identifiers', 'maxItems': 25, 'minItems': 1}, 'one_time_resource_codes': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'pattern': '^[0-9]{4}$'}, 'maxItems': 50, 'minItems': 1}, {'type': 'null'}], 'title': 'One Time Resource Codes', 'default': None}, 'include_balance_sheet_from_actuals': {'type': 'boolean', 'title': 'Include Balance Sheet From Actuals', 'default': True}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_explain_code
Explain current public fund, resource, goal, function, or object codes.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_explain_codeArguments', 'required': ['code_type', 'query'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'maximum': 500, 'minimum': 0}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'code_type': {'enum': ['fund', 'resource', 'goal', 'function', 'object'], 'type': 'string', 'title': 'Code Type'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_list_public_datasets
List versioned official public SACS datasets for one district.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_list_public_datasetsArguments', 'required': ['district_identifier'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'maximum': 500, 'minimum': 0}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'district_identifier': {'type': 'string', 'title': 'District Identifier', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_query_attendance
Return recovered Form A ADA observations for one official district filing.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_query_attendanceArguments', 'required': ['district_identifier', 'dataset_ref'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'maximum': 500, 'minimum': 0}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'dataset_ref': {'type': 'string', 'title': 'Dataset Ref', 'pattern': '^official:[1-9][0-9]*$', 'maxLength': 64, 'minLength': 10}, 'district_identifier': {'type': 'string', 'title': 'District Identifier', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_query_financial_summary
Return bounded aggregate financial summaries for one explicit official dataset.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_query_financial_summaryArguments', 'required': ['district_identifier', 'dataset_ref'], 'properties': {'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'dataset_ref': {'type': 'string', 'title': 'Dataset Ref', 'pattern': '^official:[1-9][0-9]*$', 'maxLength': 64, 'minLength': 10}, 'group_limit': {'type': 'integer', 'title': 'Group Limit', 'default': 10, 'maximum': 25, 'minimum': 1}, 'fund_code_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{2}$', 'description': 'Two-digit SACS fund code'}, {'type': 'null'}], 'title': 'Fund Code Max', 'default': None}, 'fund_code_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{2}$', 'description': 'Two-digit SACS fund code'}, {'type': 'null'}], 'title': 'Fund Code Min', 'default': None}, 'goal_code_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Goal Code Max', 'default': None}, 'goal_code_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Goal Code Min', 'default': None}, 'object_code_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Object Code Max', 'default': None}, 'object_code_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Object Code Min', 'default': None}, 'function_code_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Function Code Max', 'default': None}, 'function_code_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Function Code Min', 'default': None}, 'resource_code_max': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Resource Code Max', 'default': None}, 'resource_code_min': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{4}$'}, {'type': 'null'}], 'title': 'Resource Code Min', 'default': None}, 'district_identifier': {'type': 'string', 'title': 'District Identifier', 'maxLength': 100, 'minLength': 2}, 'include_zero_categories': {'type': 'boolean', 'title': 'Include Zero Categories', 'default': False, 'description': 'Include zero-amount object category and group rows.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_register_client
Optionally 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 information.
Schéma d’entrée
{'type': 'object', 'title': 'sacs_register_clientArguments', 'required': ['consent_to_store'], 'properties': {'use_case': {'anyOf': [{'type': 'string', 'maxLength': 500, 'minLength': 1}, {'type': 'null'}], 'title': 'Use Case', 'default': None}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'user_type': {'anyOf': [{'enum': ['district_staff', 'county_office_staff', 'state_agency_staff', 'researcher', 'consultant', 'vendor', 'community_member', 'other', 'prefer_not_to_say'], 'type': 'string'}, {'type': 'null'}], 'title': 'User Type', 'default': None}, 'agent_client': {'anyOf': [{'type': 'string', 'maxLength': 100, 'minLength': 1}, {'type': 'null'}], 'title': 'Agent Client', 'default': None}, 'consent_to_store': {'type': 'boolean', 'const': True, 'title': 'Consent To Store', 'description': 'Must be true, and only after the operator accepts the disclosed storage.'}, 'home_district_cds': {'anyOf': [{'type': 'string', 'pattern': '^[0-9]{14}$'}, {'type': 'null'}], 'title': 'Home District Cds', 'default': None}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_search_districts
Resolve a public California district name, 7-digit LEA, or 14-digit CDS code.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'title': 'sacs_search_districtsArguments', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'title': 'Query', 'maxLength': 100, 'minLength': 2}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'maximum': 500, 'minimum': 0}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
sacs_submit_feedback
Report 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 feedback is welcome. Never include personal, student, personnel, or confidential information.
Schéma d’entrée
{'type': 'object', 'title': 'sacs_submit_feedbackArguments', 'required': ['sentiment', 'message'], 'properties': {'message': {'type': 'string', 'title': 'Message', 'maxLength': 2000, 'minLength': 2}, 'client_id': {'anyOf': [{'type': 'string', 'pattern': '^sacs_client_[0-9a-f]{32}$'}, {'type': 'null'}], 'title': 'Client Id', 'default': None}, 'sentiment': {'enum': ['good', 'bad', 'mixed'], 'type': 'string', 'title': 'Sentiment'}, 'feedback_type': {'enum': ['general', 'feature_request', 'incorrect', 'incomplete', 'stale', 'missing_context'], 'type': 'string', 'title': 'Feedback Type', 'default': 'general'}, 'related_request_id': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z0-9._:-]{8,128}$'}, {'type': 'null'}], 'title': 'Related Request Id', 'default': None}, 'related_data_version': {'anyOf': [{'type': 'string', 'maxLength': 256, 'minLength': 1}, {'type': 'null'}], 'title': 'Related Data Version', 'default': None}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', '$defs': {'PublicError': {'type': 'object', 'title': 'PublicError', 'required': ['code', 'message'], 'properties': {'code': {'enum': ['invalid_request', 'not_found', 'private_scope_denied', 'dataset_mismatch', 'payload_rejected', 'backend_unavailable'], 'type': 'string', 'title': 'Code'}, 'message': {'type': 'string', 'title': 'Message', 'maxLength': 500, 'minLength': 1}, 'retryable': {'type': 'boolean', 'title': 'Retryable', 'default': False}}, 'additionalProperties': False}, 'SourceProvenance': {'type': 'object', 'title': 'SourceProvenance', 'required': ['source', 'record_ref', 'description'], 'properties': {'source': {'type': 'string', 'title': 'Source', 'maxLength': 120, 'minLength': 1}, 'record_ref': {'type': 'string', 'title': 'Record Ref', 'maxLength': 160, 'minLength': 1}, 'description': {'type': 'string', 'title': 'Description', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}}, 'title': 'PublicToolResponse', 'required': ['data_version', 'request_id', 'ok'], 'properties': {'ok': {'type': 'boolean', 'title': 'Ok'}, 'data': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Data', 'default': None}, 'error': {'anyOf': [{'$ref': '#/$defs/PublicError'}, {'type': 'null'}], 'default': None}, 'request_id': {'type': 'string', 'title': 'Request Id', 'maxLength': 128, 'minLength': 8}, 'limitations': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Limitations', 'maxItems': 50}, 'data_version': {'type': 'string', 'title': 'Data Version', 'maxLength': 256, 'minLength': 1}, 'contract_version': {'type': 'string', 'const': 'sacs.mcp.v1', 'title': 'Contract Version', 'default': 'sacs.mcp.v1'}, 'source_provenance': {'type': 'array', 'items': {'$ref': '#/$defs/SourceProvenance'}, 'title': 'Source Provenance'}}, 'additionalProperties': False}
Modifié
sacs_submit_feedback
1 October 2026 02:40
Ajouté
sacs_query_attendance
1 October 2026 02:40
Ajouté
sacs_submit_feedback
29 September 2026 02:40
Ajouté
sacs_register_client
29 September 2026 02:40
Ajouté
sacs_explain_code
29 September 2026 02:40
Ajouté
sacs_district_context_pack_batch
29 September 2026 02:40
Ajouté
sacs_district_context_pack
29 September 2026 02:40
Ajouté
sacs_compare_districts
29 September 2026 02:40
Ajouté
sacs_query_financial_summary
29 September 2026 02:40
Ajouté
sacs_list_public_datasets
29 September 2026 02:40
Ajouté
sacs_search_districts
29 September 2026 02:40