List exercise source documents
list_exercise_source_documents
Section titled “list_exercise_source_documents”List retained source metadata and explicit same-creator-job coverage for an exercise or exact version owned by the selected organization.
Contract metadata
Section titled “Contract metadata”{ "annotations": { "readOnlyHint": true, "destructiveHint": false, "idempotentHint": true, "openWorldHint": false }, "fileParams": [], "requiredPermission": "read", "security": { "type": "oauth2", "scopes": [ "chalksurf:mcp" ] }}Input schema
Section titled “Input schema”The server advertises this JSON Schema to MCP clients. Runtime authorization and business-rule checks still apply.
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "cursor": { "minLength": 1, "type": "string" }, "exerciseId": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "limit": { "default": 50, "maximum": 100, "minimum": 1, "type": "integer" }, "organizationId": { "description": "The ChalkSurf organization ID to use for this request.", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "versionId": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "exerciseId", "organizationId" ], "type": "object"}Output schema
Section titled “Output schema”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "anyOf": [ { "additionalProperties": false, "properties": { "associationBasis": { "const": "same_creator_job", "type": "string" }, "coverage": { "additionalProperties": false, "properties": { "counts": { "additionalProperties": false, "properties": { "attributedScopes": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "cleanupPendingSources": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "consideredScopes": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "creatorJobsWithoutRows": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "readySources": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "unattributedImportScopes": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "uploadingSources": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "consideredScopes", "attributedScopes", "unattributedImportScopes", "creatorJobsWithoutRows", "readySources", "uploadingSources", "cleanupPendingSources" ], "type": "object" }, "reasonCodes": { "items": { "enum": [ "creator_job_unattributed", "no_source_rows_for_creator_job", "creator_job_unattributed_with_other_sources", "creator_job_without_source_rows", "source_uploading", "source_cleanup_pending" ], "type": "string" }, "type": "array" }, "status": { "enum": [ "none_proven", "proven_set_unavailable", "proven_set_available", "partial" ], "type": "string" } }, "required": [ "status", "reasonCodes", "counts" ], "type": "object" }, "coverageDigest": { "pattern": "^[a-f0-9]{64}$", "type": "string" }, "nextCursor": { "type": [ "string", "null" ] }, "sourceDocuments": { "items": { "additionalProperties": false, "properties": { "associations": { "items": { "oneOf": [ { "additionalProperties": false, "properties": { "basis": { "const": "same_creator_job", "type": "string" }, "scope": { "const": "exercise_creation", "type": "string" } }, "required": [ "basis", "scope" ], "type": "object" }, { "additionalProperties": false, "properties": { "basis": { "const": "same_creator_job", "type": "string" }, "scope": { "const": "exercise_version_creation", "type": "string" }, "versionId": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" } }, "required": [ "basis", "scope", "versionId" ], "type": "object" } ] }, "minItems": 1, "type": "array" }, "byteLength": { "pattern": "^\\d+$", "type": "string" }, "createdAt": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", "type": "string" }, "id": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "readyAt": { "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", "type": "string" }, "sourceKind": { "enum": [ "local_upload", "google_drive", "legacy_unknown" ], "type": "string" }, "storedFileName": { "type": "string" }, "storedMimeType": { "type": "string" }, "submittedFileName": { "type": [ "string", "null" ] }, "submittedMimeType": { "type": [ "string", "null" ] }, "transformationKind": { "enum": [ "none", "image_to_jpeg", "google_workspace_export", "google_workspace_export_then_image_to_jpeg", "legacy_unknown" ], "type": "string" } }, "required": [ "id", "sourceKind", "submittedFileName", "submittedMimeType", "storedFileName", "storedMimeType", "transformationKind", "byteLength", "createdAt", "readyAt", "associations" ], "type": "object" }, "type": "array" } }, "required": [ "sourceDocuments", "nextCursor", "coverageDigest", "associationBasis", "coverage" ], "type": "object" }, { "additionalProperties": false, "properties": { "error": { "additionalProperties": false, "properties": { "agentErrorDetails": { "oneOf": [ { "additionalProperties": false, "properties": { "results": { "items": { "additionalProperties": false, "properties": { "field": { "enum": [ "exercise_text", "description", "hint", "answer", "scaffold", "detailed_solution", "teaching_notes" ], "type": "string" }, "language": { "minLength": 1, "type": "string" }, "patchPath": { "minLength": 1, "type": "string" }, "path": { "minLength": 1, "type": "string" }, "validation": { "additionalProperties": false, "properties": { "issues": { "items": { "additionalProperties": false, "properties": { "code": { "enum": [ "unclosed_delimiter", "blacklisted_command", "disallowed_control_character_in_math", "disallowed_control_character_in_text", "double_escaped_latex_command", "katex_parse_error", "raw_latex_command_outside_math" ], "type": "string" }, "end": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "hint": { "type": "string" }, "message": { "type": "string" }, "severity": { "const": "error", "type": "string" }, "snippet": { "type": "string" }, "start": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "code", "message", "severity", "snippet", "start", "end" ], "type": "object" }, "type": "array" }, "path": { "type": "string" }, "valid": { "type": "boolean" }, "value": { "type": "string" } }, "required": [ "path", "value", "valid", "issues" ], "type": "object" } }, "required": [ "language", "field", "path", "patchPath", "validation" ], "type": "object" }, "type": "array" }, "summary": { "additionalProperties": false, "properties": { "affectedPathCount": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "checkedSnippetCount": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "invalidSnippetCount": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "checkedSnippetCount", "invalidSnippetCount", "affectedPathCount" ], "type": "object" }, "type": { "const": "invalid_latex", "type": "string" } }, "required": [ "type", "summary", "results" ], "type": "object" }, { "additionalProperties": false, "properties": { "metadata": { "additionalProperties": { "type": [ "string", "number", "boolean", "null" ] }, "propertyNames": { "type": "string" }, "type": "object" }, "reason": { "enum": [ "exercise_not_found", "exercise_version_not_found", "invalid_exercise_version_cursor", "invalid_exercise_source_cursor", "source_document_not_associated", "source_document_not_ready", "source_document_object_missing", "source_document_size_mismatch", "exercise_version_snapshot_invalid", "source_document_association_inconsistent", "source_document_too_large_for_mcp", "source_document_too_large", "source_document_read_capacity_exhausted", "source_document_storage_unavailable" ], "type": "string" }, "recovery": { "enum": [ "check_organization_and_id", "relist_exercise_versions", "restart_pagination", "relist_source_documents", "inspect_source_coverage", "escalate_integrity_incident", "use_cli_source_download", "request_out_of_band_inspection", "retry_source_read" ], "type": "string" }, "retryable": { "type": "boolean" }, "type": { "const": "exercise_provenance", "type": "string" } }, "required": [ "type", "reason", "recovery", "retryable", "metadata" ], "type": "object" }, { "additionalProperties": false, "properties": { "editIndex": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "reason": { "enum": [ "missing_member", "missing_anchor", "self_anchor", "duplicate_addition", "source_unavailable", "revision_changed", "publication_confirmation_required", "result_too_large", "temporarily_unavailable" ], "type": "string" }, "recovery": { "enum": [ "correct_edits", "reload_sheet", "confirm_publication", "inspect_state" ], "type": "string" }, "type": { "const": "sheet_content_edit", "type": "string" } }, "required": [ "type", "reason", "recovery" ], "type": "object" }, { "additionalProperties": false, "properties": { "exerciseId": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "figureType": { "enum": [ "text", "solution" ], "type": "string" }, "requiredExerciseFigureIds": { "items": { "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", "type": "string" }, "type": "array" }, "type": { "const": "figure_group_membership", "type": "string" } }, "required": [ "type", "exerciseId", "figureType", "requiredExerciseFigureIds" ], "type": "object" } ] }, "code": { "enum": [ "validation_error", "unauthorized", "forbidden", "not_found", "timeout", "import_source_error", "precondition_failed", "confirmation_required", "resource_in_use", "feature_disabled", "figure_quality_failed", "figure_render_failed", "image_transform_failed", "invalid_label", "invalid_latex", "storage_upload_failed", "unsupported_image", "validation_failed", "resource_exhausted", "data_loss", "unavailable", "organization_selection_required", "organization_access_denied", "internal_error" ], "type": "string" }, "message": { "minLength": 1, "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "isError": { "const": true, "type": "boolean" } }, "required": [ "isError", "error" ], "type": "object" } ]}