Create exercise
create_exercise
Section titled “create_exercise”Use this to create one exercise in the selected ChalkSurf organization.
Contract metadata
Section titled “Contract metadata”{ "annotations": { "readOnlyHint": false, "destructiveHint": false, "idempotentHint": false, "openWorldHint": false }, "fileParams": [], "requiredPermission": "write", "security": { "type": "oauth2", "scopes": [ "chalksurf:write" ] }}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": { "confirmMakeExercisesPublic": { "default": false, "type": "boolean" }, "difficulty": { "anyOf": [ { "maximum": 100, "minimum": 1, "type": "number" }, { "type": "null" } ] }, "exerciseSheetId": { "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" }, "figures": { "items": { "additionalProperties": false, "properties": { "provenance": { "additionalProperties": false, "properties": { "byteLength": { "maximum": 104857600, "minimum": 0, "type": "integer" }, "createdBy": { "enum": [ "agent", "user", "import" ], "type": "string" }, "mimeType": { "maxLength": 100, "minLength": 1, "type": "string" }, "originalFileName": { "maxLength": 255, "minLength": 1, "type": "string" }, "pixelHeight": { "maximum": 100000, "minimum": 1, "type": "integer" }, "pixelWidth": { "maximum": 100000, "minimum": 1, "type": "integer" }, "renderQualityStatus": { "enum": [ "passed", "needs_revision", "unchecked" ], "type": "string" }, "renderSpecHash": { "pattern": "^[a-f0-9]{64}$", "type": "string" }, "sourceKind": { "enum": [ "local_file", "mcp_file", "https_url", "base64_image", "rendered_figure", "user_upload", "import", "unknown" ], "type": "string" } }, "required": [ "sourceKind", "createdBy" ], "type": "object" }, "type": { "enum": [ "text", "solution" ], "type": "string" }, "url": { "format": "uri", "type": "string" }, "widthInCm": { "exclusiveMinimum": 0, "type": "number" } }, "required": [ "type", "url" ], "type": "object" }, "type": "array" }, "labels": { "items": { "type": "string" }, "maxItems": 30, "type": "array" }, "max_age": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "number" }, { "type": "null" } ] }, "metadata": { "additionalProperties": false, "properties": { "solutionUrl": { "format": "uri", "type": "string" }, "sourceUrl": { "format": "uri", "type": "string" } }, "type": "object" }, "min_age": { "anyOf": [ { "maximum": 100, "minimum": 0, "type": "number" }, { "type": "null" } ] }, "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" }, "private_notes": { "type": "string" }, "source": { "minLength": 1, "type": "string" }, "subject": { "enum": [ "math", "physics", "chemistry" ], "type": "string" }, "translations": { "additionalProperties": { "additionalProperties": false, "properties": { "answer": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "detailed_solution": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "exercise_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "hint": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "scaffold": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "type": "object" }, "properties": {}, "type": "object" } }, "required": [ "subject", "translations", "organizationId" ], "type": "object"}Output schema
Section titled “Output schema”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "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" ], "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" } ] }, "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", "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" }, "receipt": { "additionalProperties": false, "properties": { "changedPaths": { "items": { "type": "string" }, "type": "array" }, "details": {}, "operation": { "enum": [ "copy_exercise", "copy_sheet", "update_exercise", "resolve_quality_issue", "dismiss_quality_issue", "update_sheet", "bulk_update_sheets", "append_exercises_to_sheet", "create_folder", "rename_folder", "delete_exercise", "delete_sheet", "delete_folder", "create_sheet", "create_exercise", "upload_exercise_figure", "set_exercise_visibility", "set_sheet_visibility" ], "type": "string" }, "precondition": { "additionalProperties": false, "properties": { "actualUpdatedAt": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ] }, "expectedUpdatedAt": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ] }, "status": { "enum": [ "matched", "not_required" ], "type": "string" } }, "required": [ "status" ], "type": "object" }, "resource": { "additionalProperties": false, "properties": { "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" }, "type": { "enum": [ "exercise", "sheet", "folder" ], "type": "string" } }, "required": [ "type", "id" ], "type": "object" }, "version": { "oneOf": [ { "additionalProperties": false, "properties": { "created": { "const": true, "type": "boolean" }, "resourceType": { "const": "sheet", "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" }, "versionNumber": { "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" } }, "required": [ "resourceType", "created", "versionId", "versionNumber" ], "type": "object" }, { "additionalProperties": false, "properties": { "created": { "const": false, "type": "boolean" }, "reason": { "minLength": 1, "type": "string" }, "resourceType": { "const": "sheet", "type": "string" } }, "required": [ "resourceType", "created", "reason" ], "type": "object" } ] }, "warnings": { "items": { "additionalProperties": false, "properties": { "code": { "type": "string" }, "details": {}, "message": { "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "type": "array" } }, "required": [ "resource", "operation", "changedPaths", "precondition", "warnings", "details" ], "type": "object" } }, "type": "object"}