Servidor MCP

Fiveable for AP Students

io.github.thinkfiveable/fiveable-ap-students
Educación Conocimiento y documentación Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides AP study guides, practice questions, free-response feedback, score calculations, study plans, assignments, and progress tracking.

calculate_ap_score
Predict an AP score
Predicts a 1-5 AP score from raw section scores using Fiveable's per-subject score calculator, and explains the weighting. Call with no sectionScores to see which sections the subject has and their point maximums, then call again with the student's scores. Cheap.
Solo lectura Idempotente
Esquema de entrada
{'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".'}, 'sectionScores': {'type': 'array', 'items': {'type': 'object', 'required': ['card', 'score'], 'properties': {'card': {'type': 'string', 'description': 'Card/section title exactly as returned by this tool.'}, 'score': {'type': 'number', 'minimum': 0, 'description': 'Raw points the student earned on that card.'}}, 'additionalProperties': False}, 'description': "Raw scores per card. Omit to discover the subject's card structure first."}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
check_practice_answer
Check a practice answer
Checks one multiple-choice practice answer and returns correctness plus the Fiveable explanation. Works during an anonymous preview but does not save progress. A signed-in answer submission is required for saved progress.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['questionId', 'answer'], 'properties': {'answer': {'type': 'string', 'minLength': 1, 'description': 'Displayed option label such as "B", or the full answer text.'}, '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."}, 'questionId': {'type': 'string', 'minLength': 1, 'description': 'Question id from get_practice_questions.'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
create_study_plan
Create a study plan
Creates and saves a trackable Fiveable study plan from the student's topic and available time. Free for signed-in students; uses Fiveable's existing generator and verified resource catalog. Returns a plan id immediately while the plan builds, usually within two minutes — read it with get_study_plan, which reports whether it is still building. Reuse requestId with identical input to retry; never call this twice for the same plan.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'scope', 'timeAmount', 'timeUnit', 'requestId'], 'properties': {'scope': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'timeUnit': {'enum': ['hours', 'days'], 'type': 'string'}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Unique id for this intended action. Reuse it with identical input on retries.'}, 'timeAmount': {'type': 'integer', 'maximum': 90, 'minimum': 1}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_assignment_summary
Read my assignment summary
Reads one student-accessible publication's instructions, section counts, timer/due-date settings and released feedback for the policy-selected owned attempt. Does not expose questions or answer keys, finalize timers, repair grading, start, autosave or submit work. Accepts a publicationId from the connected student's assignment listing.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['publicationId'], 'properties': {'publicationId': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_cheatsheet
Read an official Fiveable cheatsheet
Read bounded pages from a prepared official Fiveable PDF, with page citations, extracted text and actual page images for formulas and diagrams. Image-only pages are not transcribed by guessing. If artifacts are unavailable, use the approved PDF link; this read never starts processing.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_content_sections
Get relevant study guide sections
Returns a small set of passages from Fiveable study guides that are most relevant to one question. Use this for narrow explanations, research questions, and checking student notes instead of fetching a full guide. One call consumes one full-content preview for a free caller.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_diagnostic_results
Read my diagnostic status or results
Reads an owner-scoped Fiveable diagnostic. In-progress sessions return progress and the current question without answer keys; completed sessions return the adaptive diagnostic summary and recommendations.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionToken'], '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."}, 'sessionToken': {'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}
Esquema de salida
{'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': {}}
get_exam_options
Find practice exams and unit tests
Find Fiveable exam formats, access requirements and website links without questions or answer keys. Choose a subject for version choices; add unitNumber to verify that unit's current bank and standard format. With progress:read consent, includes only genuine server-saved continuation links. Browser-only progress is not remotely recoverable.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_exam_results
Review my completed exam results
Read an owned completed exam using attemptId, or safely check a submitted exam using submissionId. Supply exactly one. Pending or partial grading returns status only, never unfinished scores or feedback. Honors practice resets and cannot dispatch scoring, finalize submissions or retrieve active exam content.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'attemptId': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'submissionId': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_frq
Get a free-response question
Returns one full, original Fiveable FRQ prompt: stimulus, background and every lettered part with its point value. The returned prompt is eligible for Fiveable's saved scoring workflow after the student writes a response. It consumes one full-content preview unless existing access covers this FRQ. Moderate cost — 1-4k tokens.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_frq_attempt_history
Get attempt history for one FRQ
Returns the signed-in student's previous attempts at a single FRQ, so you can compare a new response against what they wrote before and comment on improvement.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_key_term
Get a key term
Returns the full definition, context and related terms for one AP key term. Use when a student asks "what does X mean" for AP vocabulary. Cheap — usually under 1k tokens.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_my_access
Check my Fiveable access
Explains which features this account can use for one subject and its remaining MCP previews. Does not return billing information or change access.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug'], 'properties': {'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_my_frq_progress
Get my FRQ progress
Returns the signed-in student's saved free-response attempts for one subject, including scores where they were graded and recent scoring-point weak areas. Use it to see what a student has already practiced and where they are losing points before recommending what to work on next.
Solo lectura Idempotente
Esquema de entrada
{'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': 'Subject slug, e.g. "ap-bio".'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_my_practice_history
Review my practice answers
Reads a bounded page of your saved self-study MCQ answers with current question explanations. Honors practice resets. Does not save, score, or consume a content preview.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_my_study_progress
Get my study progress
Returns the signed-in student's durable Fiveable progress for one subject: multiple-choice accuracy, weak topics and units, FRQ performance, skill groups and recent activity, respecting the website progress reset. Also includes completed exams, plus assignment and study-plan summaries when their separate permissions are granted. Call this before choosing what to explain or practice so recommendations carry across conversations and AI clients.
Solo lectura Idempotente
Esquema de entrada
{'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".'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_practice_questions
Get multiple-choice practice questions
Returns original, course-specific multiple-choice practice questions. Free-text topics are matched against Fiveable's course map, so natural phrasing works. Omit topic to get balanced practice across the whole subject, with varied units, skills and stimulus formats. For history, science and language subjects this can return source-based sets — one stimulus with several questions off it — and stimulus images come back as viewable images. This is targeted or mixed practice, distinct from Fiveable's durable adaptive diagnostic. Every question carries a `Question id` that supports a saved answer submission for student progress. The recentCorrect and recentAnswered inputs allow the tool to drop to easier question types when a student is missing questions, helping find where understanding breaks down. A returned question set consumes one full-content preview unless existing access covers this practice feature. Moderate cost — roughly 300 tokens per question, more when images are attached.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'limit', 'includeAnswers', 'questionFormat', 'mode'], 'properties': {'mode': {'enum': ['auto', 'exam', 'topic'], 'type': 'string', 'default': 'auto', 'description': '"exam" requests Fiveable\'s balanced whole-course practice mix of units, skills and stimulus formats. "topic" drills one scope. "auto" picks exam when no topic is given.'}, 'tier': {'enum': ['stimulus', 'comprehension', 'vocabulary'], 'type': 'string', 'description': 'The tier the student was just working at â\x80\x94 pass back the tier from the previous result, along with recentCorrect / recentAnswered, so a student who is still missing comprehension questions drops to vocabulary rather than being handed comprehension again. On its own it pins the level: stimulus = source-based application, comprehension = does the student know the content, vocabulary = does the student know the terms.'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 20, 'minimum': 1, 'description': 'Exact maximum number of questions to return, including questions in a stimulus set.'}, 'topic': {'type': 'string', 'description': 'Free-text topic, e.g. "photosynthesis" or "the American Revolution". Matched against Fiveable course topics, then key terms. Omit for whole-subject mixed practice.'}, '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', 'description': 'Exact unit id, public id, or slug from get_subject_outline. Use this for broad practice across a unit; do not substitute one topic id as a proxy for the entire unit.'}, 'topicId': {'type': 'string', 'description': 'Exact topic id from get_subject_outline, if known.'}, '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 and topics; 'bc' includes them. Defaults to the student's saved Fiveable course when they are connected."}, 'recentCorrect': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': "How many of the student's recent answers were correct, for automatic tier adjustment."}, 'includeAnswers': {'type': 'boolean', 'default': False, 'description': 'Defaults false so students can attempt questions before seeing the key. Set true only when the student explicitly asks for answers. Use check_practice_answer anonymously or submit_practice_answer when signed in.'}, 'questionFormat': {'enum': ['auto', 'stimulus-set', 'standalone'], 'type': 'string', 'default': 'auto', 'description': '"auto" matches what the subject\'s own practice UI leads with. "stimulus-set" requests source-based questions; "standalone" requests single questions with no shared source.'}, 'recentAnswered': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many questions the student recently answered. Needs 3+ before the tier moves.'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_scoring_result
Get a saved FRQ scoring result
Read the status or saved result of your FRQ scoring request. This never starts or retries scoring.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['scoringJobId'], '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."}, 'scoringJobId': {'type': 'string', 'pattern': '^[a-f0-9]{64}$'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_study_guide
Get a study guide
Returns the full text of one Fiveable AP study guide as Markdown. Accepts the exact canonical guide reference or a close approximation of its title. Suitable when a student asks to learn or review a topic. It consumes one full-content preview for a free caller unless existing access covers this subject and feature. Expensive — a full guide can be 3-8k tokens.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_study_plan
Get a study plan
Reads one owned study plan, stable task ids, completion state and revision. A plan that is still being built reports pending with a retry delay, so poll this after create_study_plan rather than creating again. Use its revision for task changes. Reading older plans never changes them.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['planId'], 'properties': {'planId': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
get_subject_outline
Get subject outline
Returns the full unit and topic outline for one AP subject, including every study guide slug in each unit. Provides the course map for study planning and individual guide retrieval. Moderate cost — roughly 2-5k tokens depending on subject size.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
get_unit_overview
Get unit overview
Returns the overview page for one unit of an AP course: what it covers, how it is weighted on the exam, its topics and study plan. Suitable when a student is reviewing a whole unit. Moderate cost — roughly 1-3k tokens.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
list_cheatsheets
List official Fiveable cheatsheets
Find approved Fiveable course and unit PDFs, including course variants, academic year when known, source links and readable-artifact readiness. Does not include user galleries or generated personal visuals.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
list_frqs
List free-response questions
Lists Fiveable's free-response (FRQ) practice prompts for an AP subject, optionally filtered by FRQ type, unit, and excluded IDs. Results use stable ID order; unchanged filters continue pagination. Returns prompt ids and summaries rather than full prompts. Cheap.
Solo lectura Idempotente
Esquema de entrada
{'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 and topics; 'bc' includes them. Defaults to the student's saved Fiveable course when they are connected."}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
list_key_terms
List key terms
Lists the key vocabulary terms for an AP subject, paginated alphabetically. Suitable for building flashcards or checking what vocabulary a student should know; results include stable term slugs for full definitions. Cheap.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
list_my_assignments
List my student assignments
Lists assignments delivered to the connected student's enrolled classes, signed-in submissions, and safely claimed guest work. Includes due dates, completion status and only released scores. No teacher roster or answer keys. Complete work on the website.
Solo lectura Idempotente
Esquema de entrada
{'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': '^[a-f0-9]{24}$'}, 'subjectSlug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
list_my_exam_attempts
List my completed exams
Lists only the connected student's completed full-length and unit-exam results. Honors the website progress reset, deduplicates retried submissions and paginates. Unit tests show points/percent, never an AP projection. Does not read browser-only or active exam state.
Solo lectura Idempotente
Esquema de entrada
{'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': '^[a-f0-9]{24}$'}, 'subjectSlug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
list_my_study_plans
List my study plans
Lists the connected student's saved Fiveable study plans, including website plans. Free for signed-in students. Cheap; paginated.
Solo lectura Idempotente
Esquema de entrada
{'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': '^[a-f0-9]{24}$'}, 'subjectSlug': {'type': 'string', 'maxLength': 100, 'minLength': 2}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
list_subjects
List AP subjects
Lists every AP subject Fiveable covers, with its canonical subject slug and flags for which features exist for that subject (practice questions, key terms, score calculator). Suitable when a subject slug is not already known. Cheap — roughly 1-2k tokens.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
report_content_issue
Report a content issue to Fiveable
Submit a content issue to Fiveable support only when the student explicitly asks to report it. This may lead to normal support follow-up. Do not automatically report disagreements or send conversation history, unrelated notes, or personal information. Fiveable resolves the content and reporter identity. Reuse requestId on retries.
Acceso externo Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
score_external_frq_response
Score an uploaded or pasted FRQ
Scores a student's existing FRQ even when it did not come from Fiveable. If the student attached photos, the host AI must first transcribe the prompt and response, show the transcription for confirmation, then call this tool. Optional prompt images preserve graphs or artwork that text alone cannot represent. Fiveable scores it on the AP rubric for its exact question type, out of that type's AP point total. Requires sign-in; one scoring preview is included without a plan, with further scoring available to eligible accounts. The attempt is saved to the student's Fiveable progress. Returns a pending scoring job; poll get_scoring_result. Reuse requestId for retries.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['subjectSlug', 'frqType', 'promptText', 'transcriptionConfirmed', 'partResponses'], '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."}, 'frqType': {'type': 'string', 'maxLength': 120, 'minLength': 2, 'description': 'The exact AP question type as Fiveable names it, e.g. "Document-Based Question (DBQ)". If it doesn\'t match, the tool lists this subject\'s types.'}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Stable unique request ID. Reuse it only for retries of the same submission; a new response needs a new ID.'}, 'promptText': {'type': 'string', 'maxLength': 30000, 'minLength': 20, 'description': 'Verified transcription or pasted text of the complete prompt.'}, 'promptLabel': {'type': 'string', 'maxLength': 160, 'description': 'Short label shown in attempt history.'}, 'subjectSlug': {'type': 'string', 'minLength': 2, 'description': 'Fiveable subject slug, e.g. "ap-bio".'}, 'promptImages': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'mediaType'], 'properties': {'data': {'type': 'string', 'maxLength': 3000000, 'minLength': 100, 'description': 'Base64 image payload without a data-URI prefix.'}, 'mediaType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 4, 'description': 'Optional original prompt images for diagrams, graphs, maps, or artwork.'}, 'partResponses': {'type': 'array', 'items': {'type': 'object', 'required': ['partLetter', 'response'], 'properties': {'response': {'type': 'string', 'maxLength': 50000, 'minLength': 1, 'description': 'Verified transcription or pasted response.'}, 'partLetter': {'type': 'string', 'maxLength': 20, 'minLength': 1, 'description': 'Part label, e.g. "a" or "UNIFIED".'}}, 'additionalProperties': False}, 'maxItems': 30, 'minItems': 1}, 'responseImages': {'type': 'array', 'items': {'type': 'object', 'required': ['data', 'mediaType', 'partLetter'], 'properties': {'data': {'type': 'string', 'maxLength': 3000000, 'minLength': 100, 'description': 'Base64 image payload without a data-URI prefix.'}, 'label': {'type': 'string', 'maxLength': 120}, 'mediaType': {'enum': ['image/jpeg', 'image/png', 'image/webp'], 'type': 'string'}, 'partLetter': {'type': 'string', 'maxLength': 20, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 8, 'description': 'Optional response images that must be evaluated visually, such as a student-drawn graph.'}, 'transcriptionConfirmed': {'type': 'boolean', 'const': True, 'description': 'Must be true only after the student confirms the transcribed prompt and response text.'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
score_frq_response
Score a free-response answer
Submits the student's own response to a Fiveable practice FRQ for saved, asynchronous scoring. Supports text, subparts, drawings/photos, LEQ selection, CSP program code and Business project references. Excludes teacher assignments and exams. Returns a scoring job id for status retrieval, and requestId provides idempotent retries. One free score is available to signed-in students.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frqId', 'partResponses'], 'properties': {'frqId': {'type': 'string', 'maxLength': 100, 'minLength': 1}, '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."}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Stable unique request ID. Reuse it only for retries of the same submission; a new response needs a new ID.'}, 'programCode': {'type': 'string', 'maxLength': 100000}, 'partResponses': {'type': 'array', 'items': {'type': 'object', 'required': ['partLetter', 'response'], 'properties': {'response': {'type': 'string', 'default': '', 'maxLength': 50000, 'description': "Student's own response, verbatim. May be empty for a drawing/photo-only response."}, 'partLetter': {'type': 'string', 'maxLength': 20, 'minLength': 1}, 'drawingData': {'type': 'object', 'required': ['type', 'data', 'width', 'height'], 'properties': {'data': {'type': 'string', 'maxLength': 3000100, 'minLength': 16}, 'type': {'type': 'string', 'const': 'canvas'}, 'width': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'height': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'source': {'enum': ['drawing', 'uploaded_photo'], 'type': 'string'}, 'mimeType': {'enum': ['image/png', 'image/jpeg', 'image/webp'], 'type': 'string'}, 'drawingLabel': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'subpartNumeral': {'type': 'string', 'maxLength': 20}}, 'additionalProperties': False}, 'maxItems': 30, 'minItems': 1}, 'promptVariantId': {'type': 'string', 'const': 'official_2026_v1'}, 'selectedLeqQuestion': {'type': 'integer', 'maximum': 4, 'minimum': 2}, 'businessProjectReference': {'type': 'object', 'required': ['product', 'target_customer', 'customer_problem_or_need', 'value_proposition', 'pricing_decision', 'tested_hypothesis', 'research_method_and_evidence', 'financing_assumptions'], 'properties': {'product': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'target_customer': {'type': 'object', 'required': ['profile'], 'properties': {'profile': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}, 'pricing_decision': {'type': 'object', 'required': ['strategy', 'selected_price', 'decision'], 'properties': {'decision': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'strategy': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'selected_price': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}, 'tested_hypothesis': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'value_proposition': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'financing_assumptions': {'type': 'object', 'required': ['startup_costs', 'operating_costs_until_break_even', 'internal_financial_capital', 'external_financial_capital_needed', 'access_constraints'], 'properties': {'startup_costs': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'access_constraints': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'internal_financial_capital': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'operating_costs_until_break_even': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'external_financial_capital_needed': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}, 'customer_problem_or_need': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'research_method_and_evidence': {'type': 'object', 'required': ['method', 'sample', 'evidence'], 'properties': {'method': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'sample': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'evidence': {'type': 'string', 'maxLength': 2000, 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'businessProjectPracticeMode': {'enum': ['use_my_project', 'use_a_sample_project'], 'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
search_content
Search Fiveable content
Keyword search across every Fiveable study guide, unit, subject hub and key term. Suitable when the relevant subject or guide is not known. Returns titles and canonical references rather than full content, so it is cheap.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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': {}}
start_diagnostic
Start an adaptive AP diagnostic
Starts Fiveable's canonical adaptive diagnostic for the connected student. Without a unitId it covers the whole course; an exact unitId scopes the survey across that unit's available topics. Returns one adaptive question at a time and creates durable diagnostic progress.
Idempotente
Esquema de entrada
{'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."}, 'unitId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Reuse this ID for retries of the same operation; changed input returns a conflict.'}, 'subjectSlug': {'type': 'string', 'pattern': '^[a-z0-9-]+$', 'maxLength': 100}, 'courseVariant': {'enum': ['ab', 'bc'], 'type': 'string', 'description': "AP Calculus only (subject ap-calc): 'ab' hides BC-only units and topics; 'bc' includes them. Defaults to the student's saved Fiveable course when they are connected."}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
submit_diagnostic_answer
Answer the current diagnostic question
Saves one answer in the connected student's active Fiveable diagnostic and returns feedback plus exactly one next adaptive question. Accepts the option letter, full text, or answer id from the current diagnostic question. Handles one question per call.
Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['sessionToken', 'questionId', 'answer'], 'properties': {'answer': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, '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."}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Reuse this ID for retries of the same operation; changed input returns a conflict.'}, 'questionId': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'sessionToken': {'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}
Esquema de salida
{'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': {}}
submit_practice_answer
Record a practice question answer
Records the signed-in student's answer to a multiple-choice practice question so it counts toward their Fiveable progress. Accepts a question id previously served by Fiveable MCP and returns whether the answer was correct plus the explanation.
Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['questionId', 'answer'], 'properties': {'answer': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'The displayed option label (for example "B" or "B.") or the full answer text.'}, '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."}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Reuse this ID for retries of the same answer; changed input returns a conflict.'}, 'questionId': {'type': 'string', 'minLength': 1, 'description': 'The practice question id from get_practice_questions.'}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
update_study_plan_tasks
Update study plan tasks
Marks specified owned plan tasks complete or incomplete at the student's request. This is self-reported planning, never a quiz score or practice submission. Supply the latest revision and a unique requestId; retry identical input safely.
Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['planId', 'expectedRevision', 'requestId', 'tasks'], 'properties': {'tasks': {'type': 'array', 'items': {'type': 'object', 'required': ['taskId', 'completed'], 'properties': {'taskId': {'type': 'string', 'pattern': '^session-\\d+-task-\\d+$'}, 'completed': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 240, 'minItems': 1}, 'planId': {'type': 'string', 'pattern': '^[a-f0-9]{24}$'}, 'requestId': {'type': 'string', 'pattern': '^[\\w-]{8,128}$', 'description': 'Unique id for this intended action. Reuse it with identical input on retries.'}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'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': {}}
Modificado
create_study_plan
1 de October de 2026 a las 02:50
Modificado
start_diagnostic
29 de September de 2026 a las 02:58
Modificado
get_practice_questions
29 de September de 2026 a las 02:58
Modificado
list_frqs
29 de September de 2026 a las 02:58
Modificado
update_study_plan_tasks
27 de September de 2026 a las 02:49
Modificado
create_study_plan
27 de September de 2026 a las 02:49
Modificado
report_content_issue
27 de September de 2026 a las 02:49
Modificado
submit_practice_answer
27 de September de 2026 a las 02:49
Modificado
score_frq_response
27 de September de 2026 a las 02:49
Modificado
submit_diagnostic_answer
27 de September de 2026 a las 02:49
Modificado
start_diagnostic
27 de September de 2026 a las 02:49
Modificado
score_external_frq_response
27 de September de 2026 a las 02:49
Modificado
create_study_plan
23 de September de 2026 a las 02:50
Modificado
get_study_plan
23 de September de 2026 a las 02:50
Modificado
get_practice_questions
23 de September de 2026 a las 02:50
Modificado
list_frqs
23 de September de 2026 a las 02:50
Modificado
get_content_sections
23 de September de 2026 a las 02:50
Modificado
get_key_term
23 de September de 2026 a las 02:50
Modificado
list_key_terms
23 de September de 2026 a las 02:50
Modificado
get_unit_overview
23 de September de 2026 a las 02:50
Modificado
get_study_guide
23 de September de 2026 a las 02:50
Modificado
get_subject_outline
23 de September de 2026 a las 02:50
Añadido
get_assignment_summary
17 de September de 2026 a las 12:52
Añadido
list_my_assignments
17 de September de 2026 a las 12:52
Añadido
get_exam_results
17 de September de 2026 a las 12:52
Añadido
list_my_exam_attempts
17 de September de 2026 a las 12:52
Añadido
get_exam_options
17 de September de 2026 a las 12:52
Añadido
update_study_plan_tasks
17 de September de 2026 a las 12:52
Añadido
create_study_plan
17 de September de 2026 a las 12:52
Añadido
get_study_plan
17 de September de 2026 a las 12:52