MCP 서버

SACS.ai MCP — California School District Financial Data

ai.sacs/sacs-mcp
데이터 및 분석 교육 공개 · 연결 가능 MCP 2025-11-25

이 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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
입력 스키마
{'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}
출력 스키마
{'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
2026년 10월 1일 2:40 AM
추가됨
sacs_query_attendance
2026년 10월 1일 2:40 AM
추가됨
sacs_submit_feedback
2026년 9월 29일 2:40 AM
추가됨
sacs_register_client
2026년 9월 29일 2:40 AM
추가됨
sacs_explain_code
2026년 9월 29일 2:40 AM
추가됨
sacs_district_context_pack_batch
2026년 9월 29일 2:40 AM
추가됨
sacs_district_context_pack
2026년 9월 29일 2:40 AM
추가됨
sacs_compare_districts
2026년 9월 29일 2:40 AM
추가됨
sacs_query_financial_summary
2026년 9월 29일 2:40 AM
추가됨
sacs_list_public_datasets
2026년 9월 29일 2:40 AM
추가됨
sacs_search_districts
2026년 9월 29일 2:40 AM