Servidor MCP

SACS.ai MCP — California School District Financial Data

ai.sacs/sacs-mcp
Datos y analítica Educación Público y accesible MCP 2025-11-25

Qué hace este 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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Esquema de entrada
{'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}
Esquema de salida
{'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}
Modificado
sacs_submit_feedback
1 de October de 2026 a las 02:40
Añadido
sacs_query_attendance
1 de October de 2026 a las 02:40
Añadido
sacs_submit_feedback
29 de September de 2026 a las 02:40
Añadido
sacs_register_client
29 de September de 2026 a las 02:40
Añadido
sacs_explain_code
29 de September de 2026 a las 02:40
Añadido
sacs_district_context_pack_batch
29 de September de 2026 a las 02:40
Añadido
sacs_district_context_pack
29 de September de 2026 a las 02:40
Añadido
sacs_compare_districts
29 de September de 2026 a las 02:40
Añadido
sacs_query_financial_summary
29 de September de 2026 a las 02:40
Añadido
sacs_list_public_datasets
29 de September de 2026 a las 02:40
Añadido
sacs_search_districts
29 de September de 2026 a las 02:40