이 MCP로 할 수 있는 일
Helps AP teachers create assignments and classes, grade essays, review class performance, manage approvals, and export results to Google Classroom or Sheets.
도구
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'students'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'students': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'First Last.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}}, 'additionalProperties': False}, 'maxItems': 200, 'minItems': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'all', 'approve'], 'properties': {'all': {'type': 'boolean', 'default': False}, 'approve': {'type': 'boolean', 'default': True}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandles': {'type': 'array', 'items': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'maxItems': 200}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'archived'], 'properties': {'archived': {'type': 'boolean', 'default': True, 'description': 'false restores an archived draft.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'archived'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'archived': {'type': 'boolean', 'default': True, 'description': 'false restores an archived class.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['previewId'], 'properties': {'previewId': {'type': 'string', 'maxLength': 200, 'minLength': 20, 'description': 'The previewId from the matching prepare_ tool, after the teacher said yes to that preview.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['title', 'subjectSlug', 'sections', 'requestId'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Default due time for every class.'}, 'title': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'ISO date-time with timezone offset.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}, 'maxItems': 12, 'description': 'Classes to target, each with an optional due date.'}, 'sections': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['type', 'questionCount', 'style', 'units', 'avoidRepeats'], 'properties': {'type': {'type': 'string', 'const': 'multiple_choice'}, 'style': {'enum': ['exam', 'comprehension', 'vocabulary'], 'type': 'string', 'default': 'exam', 'description': 'exam = AP-style (with stimulus sets where the exam has them); comprehension or vocabulary checks.'}, 'units': {'type': 'array', 'items': {'type': 'object', 'required': ['unitId'], 'properties': {'unitId': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}], 'description': 'Unit id from get_subject_outline; null = whole course.'}, 'topicIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 60, 'description': 'Topic ids to narrow to.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Omit to split the total evenly.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'skillId': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'description': 'Optional CED skill id to narrow to.'}, 'avoidRepeats': {'type': 'boolean', 'default': True, 'description': 'Skip questions this teacher already published.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Total questions in this section.'}, 'timeLimitMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}], 'description': 'Omit for untimed.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'questionId'], 'properties': {'type': {'type': 'string', 'const': 'free_response'}, 'questionId': {'type': 'string', 'pattern': '^frq:[\\w-]+$|^saq:[\\w-]+(:[A-Za-z])?$', 'description': 'An frq: or saq: id from search_question_bank.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'resourceId', 'readingQuestions'], 'properties': {'type': {'type': 'string', 'const': 'reading'}, 'resourceId': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'A resource id from list_teaching_resources.'}, 'readingQuestions': {'type': 'boolean', 'default': False, 'description': 'Add reading-check questions (study guides and AMSCO guided notes).'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'unitIds'], 'properties': {'type': {'type': 'string', 'const': 'diagnostic'}, 'unitIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 15, 'minItems': 1, 'description': 'Unit ids from get_subject_outline.'}, 'unitLabels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}, 'maxItems': 15}}, 'additionalProperties': False}]}, 'maxItems': 20, 'minItems': 1}, 'settings': {'type': 'object', 'properties': {'timerMode': {'enum': ['strict', 'flexible', 'none'], 'type': 'string'}, 'maxAttempts': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'scoringMode': {'enum': ['ai', 'self', 'teacher'], 'type': 'string', 'description': 'Who scores free responses.'}, 'notifications': {'type': 'object', 'properties': {'onPublish': {'type': 'boolean'}, 'dueReminder': {'type': 'boolean'}, 'onResultsRelease': {'type': 'boolean'}}, 'additionalProperties': False}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'durationMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'availableAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'When it opens, ISO with offset.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Subject, e.g. apush or ap-bio.'}, 'instructions': {'type': 'string', 'maxLength': 5000}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc. Omit to use the course the target classes share.'}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classes', 'requestId'], 'properties': {'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'subjectSlug'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'e.g. "Period 3 APUSH".'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Subject, e.g. apush or ap-bio.'}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc.'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'requestId'], 'properties': {'title': {'type': 'string', 'maxLength': 200}, 'prompt': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000, 'minLength': 20, 'description': 'The question exactly as the teacher assigned it.'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'mediaType'], 'properties': {'data': {'type': 'string', 'maxLength': 6000000, 'minLength': 1, 'description': 'Base64 image, no data: prefix.'}, 'mediaType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 4, 'description': 'Visuals the question depends on.'}, 'frqType': {'type': 'string', 'maxLength': 120, 'description': 'Question type as Fiveable names it, e.g. "Long Essay Question (LEQ)". Omit to get the list.'}}, 'description': "The teacher's own question, when not a Fiveable one.", 'additionalProperties': False}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'e.g. apush or ap-bio.'}, 'fiveableQuestionId': {'type': 'string', 'maxLength': 120, 'description': 'frq:â\x80¦ or saq:â\x80¦ from search_question_bank, or frq: plus the FRQ id from get_frq.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'requestId'], 'properties': {'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['cheatsheetId', 'page', 'limit'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 32, 'minimum': 1}, 'limit': {'type': 'integer', 'default': 1, 'maximum': 3, 'minimum': 1}, 'cheatsheetId': {'type': 'string', 'pattern': '^cs_[a-f0-9]{24}$'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'query', 'maximumSections', 'maximumTokens'], 'properties': {'query': {'type': 'string', 'minLength': 2, 'description': 'The concept or question the student needs help with.'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'guideSlug': {'type': 'string', 'description': 'Optional exact guide reference from get_subject_outline or search_content.'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio". A course name such as "AP Biology" also resolves.'}, 'maximumTokens': {'type': 'integer', 'default': 1800, 'maximum': 4000, 'minimum': 250}, 'maximumSections': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essayHandle', 'includeText'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'includeText': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'unitNumber': {'type': 'integer', 'maximum': 99, 'minimum': 1}, 'subjectSlug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frqId'], 'properties': {'frqId': {'type': 'string', 'minLength': 1, 'description': 'FRQ id from list_frqs.'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'filter', 'offset', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'filter': {'enum': ['all', 'needs_review', 'draft', 'approved', 'failed'], 'type': 'string', 'default': 'all'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug'], 'properties': {'chapterSlug': {'type': 'string', 'maxLength': 100, 'description': 'Chapter slug from the chapter list, e.g. chapter-1-1.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['guideId'], 'properties': {'guideId': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Study guide document id, or study-guide: resource id from list_teaching_resources.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'termSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'termSlug': {'type': 'string', 'minLength': 1, 'description': 'Key term slug or the term itself, e.g. "natural-selection".'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'questionIds'], 'properties': {'purpose': {'enum': ['slides', 'worksheet', 'game', 'notes', 'quiz', 'other'], 'type': 'string', 'description': 'What the teacher is making. Used only to improve Fiveable; changes nothing in the result.'}, 'questionIds': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(mcq|stimulus-set|frq):[\\w-]+$|^saq:[\\w-]+:[A-Za-z]$', 'description': 'Question id from search_question_bank, e.g. mcq:64fâ\x80¦ or stimulus-set:64fâ\x80¦.'}, 'maxItems': 40, 'minItems': 1}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['handle', 'days'], 'properties': {'days': {'type': 'integer', 'default': 0, 'maximum': 3650, 'minimum': 0, 'description': 'Look back this many days. 0 means this school year.'}, 'handle': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$', 'description': "The student's handle, e.g. S-4f2a1c."}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Limit to one class (id from list_classes).'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. apush or ap-bio.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one assignment (id from list_coursework).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'guideSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'guideSlug': {'type': 'string', 'minLength': 2, 'description': 'Canonical guide reference from get_subject_outline, content slug, document id, or title, e.g. "/ap-bio/unit-2/cell-structure/study-guide/abc123" or "cell-structure".'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId', 'includeText'], 'properties': {'includeText': {'type': 'boolean', 'default': False}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'unitSlug'], 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'unitSlug': {'type': 'string', 'minLength': 1, 'description': 'Unit slug from get_subject_outline, e.g. "unit-1".'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'files', 'uploads'], 'properties': {'files': {'type': 'array', 'items': {'type': 'object', 'required': ['fileName', 'mediaType', 'dataBase64'], 'properties': {'fileName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'mediaType': {'type': 'string', 'maxLength': 120, 'description': 'e.g. application/pdf, image/jpeg.'}, 'dataBase64': {'type': 'string', 'maxLength': 4200000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 3}, 'uploads': {'type': 'array', 'items': {'type': 'object', 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'file_name': {'type': 'string', 'maxLength': 200}, 'mime_type': {'type': 'string', 'maxLength': 120}, 'download_url': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}, 'additionalProperties': False}, 'default': [], 'maxItems': 3, 'description': 'Files the teacher attached in ChatGPT, passed by reference.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'courseId', 'courseWorkId', 'turnIns'], 'properties': {'turnIns': {'type': 'array', 'items': {'type': 'object', 'required': ['handle'], 'properties': {'text': {'type': 'string', 'maxLength': 50000, 'minLength': 1, 'description': 'Optional teacher-provided work. Omit to read the authorized Classroom file through Fiveable.'}, 'handle': {'type': 'string', 'pattern': '^T-[a-f\\d]{6}$', 'description': 'Turn-in handle from list_google_classroom_work.'}}, 'additionalProperties': False}, 'maxItems': 150, 'minItems': 1}, 'courseId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'courseWorkId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essays', 'transcribedFromPhotos', 'teacherConfirmedTranscription'], 'properties': {'essays': {'type': 'array', 'items': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 60000, 'minLength': 1}, 'studentName': {'type': 'string', 'maxLength': 120, 'description': 'As written on the work. Omit if unknown.'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'transcribedFromPhotos': {'type': 'boolean', 'default': False}, 'teacherConfirmedTranscription': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'classId', 'matches'], 'properties': {'classId': {'anyOf': [{'type': 'string', 'pattern': '^[a-f\\d]{24}$'}, {'type': 'null'}], 'description': 'Class id from list_classes, or null to unlink.'}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['essayHandle', 'studentHandle'], 'properties': {'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'studentHandle': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 200}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^cs_[a-f0-9]{24}$'}, 'unitNumber': {'type': 'integer', 'maximum': 30, 'minimum': 0}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 2}, 'courseVariant': {'type': 'string', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['includeArchived'], 'properties': {'includeArchived': {'type': 'boolean', 'default': False, 'description': 'List archived classes instead of active ones.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 200, 'description': 'Cursor from a previous page.'}, 'status': {'enum': ['all', 'draft', 'scheduled', 'active', 'needs_review', 'closed', 'handed_back', 'archived'], 'type': 'string', 'default': 'all', 'description': 'Ledger status filter. needs_review shows work waiting for the teacher.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'description': 'Limit to one subject, e.g. ap-bio or apush.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1, 'description': 'Maximum prompts to list.'}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]{1,512}$'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'unitId': {'type': 'string', 'maxLength': 100, 'description': 'Unit ID or public unit slug from get_subject_outline.'}, 'frqType': {'type': 'string', 'description': 'Optional FRQ type filter, e.g. "DBQ", "LEQ", "SAQ". Varies by subject.'}, 'excludeIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 100}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio". A course name such as "AP Biology" also resolves.'}, 'courseVariant': {'enum': ['ab', 'bc'], 'type': 'string', 'description': "AP Calculus only (subject ap-calc): 'ab' hides BC-only units, topics and FRQs; 'bc' includes them. Pass the course of the class or assignment draft you are building for ('ab' for ap-calc-ab, 'bc' for ap-calc-bc)."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'courseId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}, 'courseWorkId': {'type': 'string', 'pattern': '^[\\w-]{1,64}$', 'description': 'Id from list_google_classroom_work.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'page', 'limit', 'letter'], 'properties': {'page': {'type': 'integer', 'default': 1, 'maximum': 9007199254740991, 'minimum': 1, 'description': '1-indexed page number.'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1, 'description': 'Terms per page.'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'letter': {'type': 'string', 'default': 'ALL', 'description': 'Filter to terms starting with one letter, or "ALL" for every term.'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio" or "apush". The course name or a close approximation such as "ap-biology" also resolves. Use list_subjects to find it.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'search': {'type': 'string', 'description': 'Optional case-insensitive filter on subject name, e.g. "bio" or "history".'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['filter', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 500}, 'filter': {'enum': ['all', 'review', 'handback'], 'type': 'string', 'default': 'all'}, 'subjectSlug': {'type': 'string', 'maxLength': 100}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'offset', 'limit'], 'properties': {'kind': {'enum': ['study-guide', 'unit-review', 'guided-notes', 'key-terms', 'cheatsheet', 'visual-cheatsheet'], 'type': 'string'}, 'unit': {'type': 'string', 'maxLength': 200, 'description': "Exact unit label from the result's unit list."}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essayHandle', 'part', 'points', 'reasonCategory', 'reason'], 'properties': {'part': {'type': 'string', 'maxLength': 20, 'minLength': 1, 'description': 'Rubric part as shown in get_essay_feedback, e.g. "A" or "Thesis".'}, 'points': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'reason': {'type': 'string', 'default': '', 'maxLength': 2000}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}, 'reasonCategory': {'enum': ['evidence', 'reasoning', 'accuracy', 'rubric', 'teacher-judgment', 'other'], 'type': 'string', 'default': 'teacher-judgment'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId', 'itemId', 'part', 'points', 'reasonCategory', 'reason'], 'properties': {'part': {'type': 'string', 'maxLength': 20, 'minLength': 1}, 'itemId': {'type': 'string', '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)$'}, 'points': {'type': 'number', 'maximum': 100, 'minimum': 0}, 'reason': {'type': 'string', 'default': '', 'maxLength': 2000}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}, 'reasonCategory': {'enum': ['evidence', 'reasoning', 'accuracy', 'rubric', 'teacher-judgment', 'other'], 'type': 'string', 'default': 'teacher-judgment'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'sectionNumber', 'questionNumber', 'correctAnswers', 'shareCorrection'], 'properties': {'note': {'type': 'string', 'maxLength': 2000, 'description': 'A note for Fiveable with the shared fix.'}, 'explanation': {'type': 'string', 'maxLength': 5000, 'description': "Why this answer is right, in the teacher's words; defaults to the current explanation."}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework.'}, 'sectionNumber': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': "1 for the assignment's first section."}, 'correctAnswers': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[A-Ha-h]$'}, 'maxItems': 8, 'minItems': 1, 'description': 'The right answer letters, e.g. ["C"].'}, 'questionNumber': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Question number within that section.'}, 'shareCorrection': {'type': 'boolean', 'default': False, 'description': 'Also send the fix to Fiveable so the question is corrected for everyone.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'classes', 'anyoneWithLink', 'timeZone'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Due time for the anyone-with-link publish.'}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'opensAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'When students can start; omit for now.'}, 'resultsReleaseAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Only for scheduled release.'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12}, 'timeZone': {'type': 'string', 'default': 'America/New_York', 'maxLength': 64, 'description': "The teacher's IANA time zone, e.g. America/Chicago, so the preview shows their local times."}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework.'}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': "Defaults to the draft's setting."}, 'anyoneWithLink': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'action', 'changes', 'timeZone'], 'properties': {'action': {'enum': ['close', 'reopen', 'change_dates'], 'type': 'string'}, 'changes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'classId': {'anyOf': [{'type': 'string', 'pattern': '^[a-f\\d]{24}$'}, {'type': 'null'}], 'description': 'Class id, or null for the anyone-with-the-link publication.'}, 'opensAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}, 'default': [], 'maxItems': 12, 'description': 'For change_dates only.'}, 'timeZone': {'type': 'string', 'default': 'America/New_York', 'maxLength': 64, 'description': "The teacher's IANA time zone, e.g. America/Chicago, so the preview shows their local times."}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Assignment id from list_coursework.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'questionId'], 'properties': {'questionId': {'type': 'string', 'pattern': '^(mcq|stimulus-set|frq):[\\w-]+$|^saq:[\\w-]+:[A-Za-z]$', 'description': 'Question id from search_question_bank, e.g. mcq:64fâ\x80¦ or stimulus-set:64fâ\x80¦.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'handles'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'handles': {'type': 'array', 'items': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$', 'description': 'Student handle from get_class, e.g. S-4f2a1c.'}, 'maxItems': 200, 'minItems': 1}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['contentType', 'contentId', 'description', 'requestId', 'confirmReport'], 'properties': {'contentId': {'type': 'string', 'maxLength': 250, 'minLength': 2, 'description': 'Exact guide/question/FRQ ID, or the exact canonical key-term path from Fiveable.'}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$'}, 'contentType': {'enum': ['studyGuide', 'keyTerm', 'practiceQuestion', 'frq'], 'type': 'string'}, 'description': {'type': 'string', 'maxLength': 2000, 'minLength': 10, 'description': 'Only the issue the student wants reported; no conversation transcript or unrelated personal notes.'}, 'confirmReport': {'type': 'boolean', 'const': True, 'description': 'True only after the student explicitly requests sending this issue to Fiveable.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'essayHandle', 'requestId'], 'properties': {'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'essayHandle': {'type': 'string', 'pattern': '^E-[a-f0-9]{6}$', 'description': 'Essay handle from get_grading_results, e.g. E-3b91c0.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['undoId'], 'properties': {'undoId': {'type': 'string', 'pattern': '^undo_[\\w-]{8,40}$', 'description': 'undoId from update_assignment_draft.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['undoId'], 'properties': {'undoId': {'type': 'string', 'pattern': '^undo_[\\w-]{8,40}$', 'description': 'undoId from remove_students.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId'], 'properties': {'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'itemFeedback': {'type': 'array', 'items': {'type': 'object', 'required': ['itemId', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 10000}, 'itemId': {'type': 'string', '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)$'}}, 'additionalProperties': False}, 'maxItems': 20}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}, 'overallFeedback': {'type': 'string', 'maxLength': 10000}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId', 'submissionId', 'itemScores'], 'properties': {'itemScores': {'type': 'array', 'items': {'type': 'object', 'required': ['itemId', 'points'], 'properties': {'itemId': {'type': 'string', '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)$'}, 'points': {'type': 'number', 'maximum': 500, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'assignmentId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Assignment id from list_coursework or list_submissions_to_review.'}, 'itemFeedback': {'type': 'array', 'items': {'type': 'object', 'required': ['itemId', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 10000}, 'itemId': {'type': 'string', '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)$'}}, 'additionalProperties': False}, 'maxItems': 20}, 'submissionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Submission id from list_submissions_to_review.'}, 'overallFeedback': {'type': 'string', 'maxLength': 10000}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum results to return.'}, 'query': {'type': 'string', 'minLength': 2, 'description': 'What to search for, e.g. "photosynthesis light reactions".'}, 'intent': {'enum': ['explain', 'quiz', 'notes', 'frq', 'research'], 'type': 'string', 'description': "Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics."}, 'subjectSlug': {'type': 'string', 'description': 'Optional: restrict the search to one subject.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'excludeAssigned', 'offset', 'limit'], 'properties': {'type': {'enum': ['mcq', 'question-set', 'saq', 'frq'], 'type': 'string', 'description': 'mcq = single question, question-set = stimulus set, saq, or frq (LEQ, DBQ and other FRQs).'}, 'unit': {'type': 'string', 'maxLength': 200, 'description': 'Exact unit label from filters.units.'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 200, 'description': 'Words to match in the question.'}, 'skill': {'type': 'string', 'maxLength': 200, 'description': 'Exact skill label from filters.skills.'}, 'topic': {'type': 'string', 'maxLength': 200, 'description': 'Exact topic label from filters.topics.'}, 'format': {'enum': ['multiple-choice', 'free-response'], 'type': 'string'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'stimulus': {'enum': ['includes-stimulus', 'no-stimulus'], 'type': 'string'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Subject, e.g. ap-bio or apush.'}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc, the course of the class or draft you are building for.'}, 'excludeAssigned': {'type': 'boolean', 'default': False, 'description': 'Hide questions this teacher already published.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'defaults'], 'properties': {'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'defaults': {'type': 'object', 'properties': {'timerMode': {'enum': ['strict', 'flexible', 'none'], 'type': 'string'}, 'maxAttempts': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'scoringMode': {'enum': ['ai', 'self', 'teacher'], 'type': 'string', 'description': 'Who scores free responses.'}, 'notifications': {'type': 'object', 'properties': {'onPublish': {'type': 'boolean'}, 'dueReminder': {'type': 'boolean'}, 'onResultsRelease': {'type': 'boolean'}}, 'additionalProperties': False}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'durationMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}]}}, 'description': "The class's new defaults; unset fields fall back to Fiveable's.", 'additionalProperties': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId', 'retryFailed', 'requestId'], 'properties': {'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'A unique id you generate for this action. Reuse it only when retrying the same action.'}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'retryFailed': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assignmentId'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'Default due time for every class.'}, 'title': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'classes': {'type': 'array', 'items': {'type': 'object', 'required': ['classId'], 'properties': {'dueAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'ISO date-time with timezone offset.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}, 'maxItems': 12, 'minItems': 1, 'description': 'Replaces the class targets.'}, 'settings': {'type': 'object', 'properties': {'timerMode': {'enum': ['strict', 'flexible', 'none'], 'type': 'string'}, 'maxAttempts': {'type': 'integer', 'maximum': 1000, 'minimum': 1}, 'scoringMode': {'enum': ['ai', 'self', 'teacher'], 'type': 'string', 'description': 'Who scores free responses.'}, 'notifications': {'type': 'object', 'properties': {'onPublish': {'type': 'boolean'}, 'dueReminder': {'type': 'boolean'}, 'onResultsRelease': {'type': 'boolean'}}, 'additionalProperties': False}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'durationMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}]}}, 'description': 'Merged into the current settings.', 'additionalProperties': False}, 'addSections': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['type', 'questionCount', 'style', 'units', 'avoidRepeats'], 'properties': {'type': {'type': 'string', 'const': 'multiple_choice'}, 'style': {'enum': ['exam', 'comprehension', 'vocabulary'], 'type': 'string', 'default': 'exam', 'description': 'exam = AP-style (with stimulus sets where the exam has them); comprehension or vocabulary checks.'}, 'units': {'type': 'array', 'items': {'type': 'object', 'required': ['unitId'], 'properties': {'unitId': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}], 'description': 'Unit id from get_subject_outline; null = whole course.'}, 'topicIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 60, 'description': 'Topic ids to narrow to.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Omit to split the total evenly.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'skillId': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'description': 'Optional CED skill id to narrow to.'}, 'avoidRepeats': {'type': 'boolean', 'default': True, 'description': 'Skip questions this teacher already published.'}, 'questionCount': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Total questions in this section.'}, 'timeLimitMinutes': {'anyOf': [{'type': 'integer', 'maximum': 300, 'minimum': 1}, {'type': 'null'}], 'description': 'Omit for untimed.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'questionId'], 'properties': {'type': {'type': 'string', 'const': 'free_response'}, 'questionId': {'type': 'string', 'pattern': '^frq:[\\w-]+$|^saq:[\\w-]+(:[A-Za-z])?$', 'description': 'An frq: or saq: id from search_question_bank.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'resourceId', 'readingQuestions'], 'properties': {'type': {'type': 'string', 'const': 'reading'}, 'resourceId': {'type': 'string', 'maxLength': 300, 'minLength': 1, 'description': 'A resource id from list_teaching_resources.'}, 'readingQuestions': {'type': 'boolean', 'default': False, 'description': 'Add reading-check questions (study guides and AMSCO guided notes).'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'unitIds'], 'properties': {'type': {'type': 'string', 'const': 'diagnostic'}, 'unitIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 15, 'minItems': 1, 'description': 'Unit ids from get_subject_outline.'}, 'unitLabels': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}, 'maxItems': 15}}, 'additionalProperties': False}]}, 'maxItems': 20}, 'availableAt': {'type': 'string', '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|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$', 'description': 'When it opens, ISO with offset.'}, 'assignmentId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'instructions': {'type': 'string', 'maxLength': 5000}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: switch the draft to ap-calc-ab or ap-calc-bc. Its multiple choice, free-response and diagnostic sections must be removed in the same call (add new ones there too); readings stay.'}, 'resultRelease': {'enum': ['immediate', 'manual', 'scheduled'], 'type': 'string', 'description': 'When students see results.'}, 'removeSectionIds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 20}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId'], 'properties': {'name': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'courseVariant': {'enum': ['ap-calc-ab', 'ap-calc-bc'], 'type': 'string', 'description': 'AP Calculus only: ap-calc-ab or ap-calc-bc.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionId'], 'properties': {'prompt': {'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 20000, 'minLength': 20, 'description': 'The question exactly as the teacher assigned it.'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'mediaType'], 'properties': {'data': {'type': 'string', 'maxLength': 6000000, 'minLength': 1, 'description': 'Base64 image, no data: prefix.'}, 'mediaType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 4, 'description': 'Visuals the question depends on.'}, 'frqType': {'type': 'string', 'maxLength': 120, 'description': 'Question type as Fiveable names it, e.g. "Long Essay Question (LEQ)". Omit to get the list.'}}, 'additionalProperties': False}, 'sessionId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Grading session id from list_grading_sessions or create_grading_session.'}, 'fiveableQuestionId': {'type': 'string', 'maxLength': 120}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
입력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['classId', 'handle'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Full name as the teacher wants it shown.'}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}, 'handle': {'type': 'string', 'pattern': '^S-[a-f0-9]{6}$', 'description': 'Student handle from get_class, e.g. S-4f2a1c.'}, 'classId': {'type': 'string', 'pattern': '^[a-f\\d]{24}$', 'description': 'Class id from list_classes.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status'], 'properties': {'text': {'type': 'string', 'description': 'Readable tool result text for clients that consume structured output.'}, 'status': {'type': 'string', 'description': 'Operation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.'}}, 'additionalProperties': {}}
최근 도구 변경
유사한 MCP 서버
ClusterHack
Supports hackathon operations including events, registrations, teams, submissions, judging, schedules, companies and leaderboards.
Fluid Recall
Manages spaced-repetition flashcards with decks, due schedules, reviews, deadline planning, notes, exports, and optional mailbox …
getjobzi-mcp
Searches UK jobs and supports resume analysis, job matching, cover letters, career planning, skill-gap analysis, and salary bench…
FoxForm
Creates, publishes, and analyzes scored forms and quizzes with branching screen logic, response collection, and CSV export.
ScholarNet — Study Plan & Thesis Tools
Creates study plans, thesis statements, citations, flashcards, quizzes, and tutor explanations for students.
Career Command
Provides paid interview practice and career preparation, including question generation, answer evaluation, story recovery, and in…
AnkiMCP Server
Exposes a local Anki flashcard collection to AI assistants.
Anki MCP Server
Manages Anki flashcards, notes, media, decks, and adaptive review through AnkiConnect.