Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Fiveable for AP Teachers

REMOTE · FIVEABLE.ME · SCANNED OCT 4

AP rubric grading, assignment drafts, question-bank materials, and class insights for teachers.

Available components

70 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security66
Transport & Reachability100
Schema Quality & AI Usability84
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 10068 tokens (~130/item across 77 items; 77 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
  • Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage90
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 66% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 78 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the Fiveable for AP Teachers MCP server?

Fiveable for AP Teachers is a hosted endpoint at https://fiveable.me/api/mcp/teacher, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · fiveable.me

# add to Claude Code
claude mcp add --transport http thinkfiveable-fiveable-ap-teachers 'https://fiveable.me/api/mcp/teacher'
// .cursor/mcp.json
{
  "mcpServers": {
    "thinkfiveable-fiveable-ap-teachers": {
      "url": "https://fiveable.me/api/mcp/teacher"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "thinkfiveable-fiveable-ap-teachers": {
      "type": "http",
      "url": "https://fiveable.me/api/mcp/teacher"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.thinkfiveable-fiveable-ap-teachers]
url = "https://fiveable.me/api/mcp/teacher"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "thinkfiveable-fiveable-ap-teachers": {
      "type": "remote",
      "url": "https://fiveable.me/api/mcp/teacher",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add thinkfiveable-fiveable-ap-teachers --url 'https://fiveable.me/api/mcp/teacher' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  thinkfiveable-fiveable-ap-teachers:
    url: "https://fiveable.me/api/mcp/teacher"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "thinkfiveable-fiveable-ap-teachers": {
      "Transport": "http",
      "Url": "https://fiveable.me/api/mcp/teacher"
    }
  }
}
# add to Vellum
assistant mcp add thinkfiveable-fiveable-ap-teachers -t streamable-http -u 'https://fiveable.me/api/mcp/teacher'
// mcp.json
{
  "mcpServers": {
    "thinkfiveable-fiveable-ap-teachers": {
      "type": "http",
      "url": "https://fiveable.me/api/mcp/teacher"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “add_students” rewrote its description, which is the text the model reads security
    • Tool “approve_essays” rewrote its description, which is the text the model reads security
    • Tool “confirm_correct_answer_key” rewrote its description, which is the text the model reads security
    • Tool “confirm_publish_assignment” rewrote its description, which is the text the model reads security
    • Tool “confirm_push_grades_to_google_classroom” rewrote its description, which is the text the model reads security
    • Tool “confirm_release_results” rewrote its description, which is the text the model reads security
    • Tool “confirm_update_publication” rewrote its description, which is the text the model reads security
    • Tool “create_assignment_draft” rewrote its description, which is the text the model reads security
    • Tool “create_classes” rewrote its description, which is the text the model reads security
    • Tool “create_grading_session” rewrote its description, which is the text the model reads security
    • Tool “duplicate_assignment” rewrote its description, which is the text the model reads security
    • Tool “get_assignment” rewrote its description, which is the text the model reads security
    • Tool “get_assignment_question_breakdown” rewrote its description, which is the text the model reads security
    • Tool “get_cheatsheet” rewrote its description, which is the text the model reads security
    • Tool “get_content_sections” rewrote its description, which is the text the model reads security
    • Tool “get_grading_progress” rewrote its description, which is the text the model reads security
    • Tool “get_grading_rubric” rewrote its description, which is the text the model reads security
    • Tool “get_guide_reading_questions” rewrote its description, which is the text the model reads security
    • Tool “get_my_teacher_workspace” rewrote its description, which is the text the model reads security
    • Tool “get_questions_for_materials” rewrote its description, which is the text the model reads security
    • Tool “get_reteach_gaps” rewrote its description, which is the text the model reads security
    • Tool “get_student_insights” rewrote its description, which is the text the model reads security
    • Tool “get_submission” rewrote its description, which is the text the model reads security
    • Tool “import_essays_from_files” rewrote its description, which is the text the model reads security
    • Tool “import_essays_from_google_classroom” rewrote its description, which is the text the model reads security
    • Tool “import_essays_from_text” rewrote its description, which is the text the model reads security
    • Tool “link_grading_to_class” rewrote its description, which is the text the model reads security
    • Tool “list_classes” rewrote its description, which is the text the model reads security
    • Tool “list_coursework” rewrote its description, which is the text the model reads security
    • Tool “list_submissions_to_review” rewrote its description, which is the text the model reads security
    • Tool “list_teaching_resources” rewrote its description, which is the text the model reads security
    • Tool “override_essay_score” rewrote its description, which is the text the model reads security
    • Tool “override_submission_part” rewrote its description, which is the text the model reads security
    • Tool “prepare_correct_answer_key” rewrote its description, which is the text the model reads security
    • Tool “prepare_publish_assignment” rewrote its description, which is the text the model reads security
    • Tool “prepare_push_grades_to_google_classroom” rewrote its description, which is the text the model reads security
    • Tool “prepare_release_results” rewrote its description, which is the text the model reads security
    • Tool “prepare_update_publication” rewrote its description, which is the text the model reads security
    • Tool “preview_question” rewrote its description, which is the text the model reads security
    • Tool “remove_students” rewrote its description, which is the text the model reads security
    • Tool “report_content_issue” rewrote its description, which is the text the model reads security
    • Tool “rescore_essay” rewrote its description, which is the text the model reads security
    • Tool “restore_assignment_draft” rewrote its description, which is the text the model reads security
    • Tool “restore_students” rewrote its description, which is the text the model reads security
    • Tool “save_submission_feedback” rewrote its description, which is the text the model reads security
    • Tool “score_submission” rewrote its description, which is the text the model reads security
    • Tool “search_question_bank” rewrote its description, which is the text the model reads security
    • Tool “start_grading” rewrote its description, which is the text the model reads security
    • Tool “update_assignment_draft” rewrote its description, which is the text the model reads security
    • Tool “update_class” rewrote its description, which is the text the model reads security
    • Tool “update_grading_rubric” rewrote its description, which is the text the model reads security
    • Stability: unverified → 0.03 ▲ functional
    • “get_guide_reading_questions” reworded the description of “guideId” cosmetic
  • 1 Oct 26 69

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 8 Oct 2026 · Probed https://fiveable.me/api/mcp/teacher

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=fiveable.me CN=YR1,O=Let's Encrypt,C=US 11 Sept 2026 10 Dec 2026 RSA 2048 SHA256-RSA 533aea314a35ac3ee438c6176783e51d882
SANs: fiveable.me
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of fiveable.me. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
me. present 45352 8 Verified
fiveable.me. present 1780 8 Verified
fiveable.me. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000
content-security-policy object-src 'none'; base-uri 'self'; frame-ancestors 'self'; form-action 'self' https://www.facebook.com; upgrade-insecure-requests; report-uri /api/security/csp-report; report-to csp-endpoint
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(self), geolocation=(), usb=(), browsing-topics=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://fiveable.me/api/mcp/teacher Verified 200
http (plaintext) http://fiveable.me/api/mcp/teacher HTTPS enforced 308 https://fiveable.me/api/mcp/teacher
MCP tools · 77 exposed · ~8,586 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_students ~72

Adds students to a class roster from individual entries with names in First Last order and optional emails. Existing roster students are matched rather than duplicated. Emails support assignment notifications and are never returned. Roster additions can be removed.

NameTypeReqDescription
classIdstringyesClass id from list_classes.
studentsarrayyes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

approve_essays ~111

Marks scored essays approved (the teacher stands behind the score), or unapproves them with approve: false. Accepts essay handles, or all: true for every scored essay not yet approved. Only approved essays go to Google Classroom. The same handles with approve: false reverse approval.

NameTypeReqDescription
allbooleanyes–
approvebooleanyes–
essayHandlesarray––
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

archive_assignment ~67

Archives an unpublished draft (it leaves the coursework list; nothing is deleted) or restores an archived draft with archived: false. Published assignments are archived on the website.

NameTypeReqDescription
archivedbooleanyesfalse restores an archived draft.
assignmentIdstringyesAssignment id from list_coursework.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

archive_class ~72

Archives a class the teacher created (it leaves the class list; nothing is deleted), or restores an archived one with archived: false. Co-taught classes can only be archived by their owner.

NameTypeReqDescription
archivedbooleanyesfalse restores an archived class.
classIdstringyesClass id from list_classes.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

confirm_correct_answer_key ~71

Applies the owner-bound answer-key correction preview identified by previewId and rescores affected attempts in the background, subject to explicit teacher approval. Rejects scores changed since the preview.

NameTypeReqDescription
previewIdstringyesThe previewId from the matching prepare_ tool, after the teacher said yes to that preview.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

confirm_publish_assignment ~69

Publishes exactly the owner-bound preview identified by previewId, subject to explicit teacher approval of that specific preview. Returns each class's student link and a message to post.

NameTypeReqDescription
previewIdstringyesThe previewId from the matching prepare_ tool, after the teacher said yes to that preview.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

confirm_push_grades_to_google_classroom ~70

Exports exactly the grades in the owner-bound previewId, subject to explicit teacher approval of that preview. Rejects session scores changed since the preview.

NameTypeReqDescription
previewIdstringyesThe previewId from the matching prepare_ tool, after the teacher said yes to that preview.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

confirm_release_results ~62

Releases results exactly as specified by the owner-bound previewId, subject to explicit teacher approval of that specific preview. Release cannot be reversed.

NameTypeReqDescription
previewIdstringyesThe previewId from the matching prepare_ tool, after the teacher said yes to that preview.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

confirm_update_publication ~57

Applies the owner-bound publication preview identified by previewId, subject to explicit teacher approval of that specific preview.

NameTypeReqDescription
previewIdstringyesThe previewId from the matching prepare_ tool, after the teacher said yes to that preview.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

create_assignment_draft ~251

Builds an assignment draft from multiple-choice units and topics (skipping already assigned questions), Fiveable FRQ or SAQ ids, readings with optional checks, or a diagnostic. Settings start from the first class's defaults. AP Calculus drafts require courseVariant or target classes sharing one course. Returns the draft id and review link. Drafts never use an included assignment slot.

NameTypeReqDescription
availableAtstring–When it opens, ISO with offset.
classesarray–Classes to target, each with an optional due date.
courseVariantstring–AP Calculus only: ap-calc-ab or ap-calc-bc. Omit to use the course the target classes share.
dueAtstring–Default due time for every class.
instructionsstring––
requestIdstringyesA unique id you generate for this action. Reuse it only when retrying the same action.
resultReleasestring–When students see results.
sectionsarrayyes–
settingsobject––
subjectSlugstringyesSubject, e.g. apush or ap-bio.
titlestringyes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

create_classes ~79

Creates one or more classes in the teacher's workspace. Students join through an assignment's class link or a teacher-managed roster; there are no class codes. Created classes can be archived.

NameTypeReqDescription
classesarrayyes–
requestIdstringyesA unique id you generate for this action. Reuse it only when retrying the same action.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

create_grading_session ~181

Creates a workspace grading session for finished student work, including paper, Google Docs or an AP Classroom export. Accepts a Fiveable FRQ or SAQ id, or the teacher's own question in prompt. A session uses an included assignment when grading starts unless the account has unlimited assignments. Returns the new session id.

NameTypeReqDescription
fiveableQuestionIdstring–frq:… or saq:… from search_question_bank, or frq: plus the FRQ id from get_frq.
promptobject–The teacher's own question, when not a Fiveable one.
requestIdstringyesA unique id you generate for this action. Reuse it only when retrying the same action.
subjectSlugstringyese.g. apush or ap-bio.
titlestring––
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

duplicate_assignment ~84

Copies a teacher-owned assignment, including archived or prior-year work, into a new draft with the same questions and settings. The resulting draft can be retargeted or archived.

NameTypeReqDescription
assignmentIdstringyesAssignment id from list_coursework.
requestIdstringyesA unique id you generate for this action. Reuse it only when retrying the same action.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

export_grading_results ~87

Creates a Google Sheet of the session's results in the teacher's own Drive (one row per student, scores by part, feedback links) and returns its link. The rows never pass through chat. Needs Google connected with Sheets access; otherwise returns the link to connect it.

NameTypeReqDescription
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_assignment ~47

Returns one assignment's sections, question counts, scoring and timing settings, published classes, due dates and student links. Cheap.

NameTypeReqDescription
assignmentIdstringyesAssignment id from list_coursework.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_assignment_question_breakdown ~74

Per-question results for one assignment: percent correct and how many students picked each answer choice (identifying which distractors drew responses), plus FRQ part-by-part full-credit rates. Use it for 'which questions went worst?'. Moderate cost.

NameTypeReqDescription
assignmentIdstringyesAssignment id from list_coursework.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_assignment_status ~79

Where each student is on one assignment: in progress, submitted, scored, or waiting for review, with their score when results are available. Students appear by handle and short name. Use it for 'who hasn't finished?' or 'how did period 5 do?'. Cheap.

NameTypeReqDescription
assignmentIdstringyesAssignment id from list_coursework.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_cheatsheet ~82

Reads bounded pages from a prepared official Fiveable PDF, returning page citations, extracted text and actual page images for formulas and diagrams. Image-only pages have no guessed transcription. Unavailable artifacts return the approved PDF link. This read never starts processing.

NameTypeReqDescription
cheatsheetIdstringyes–
limitintegeryes–
pageintegeryes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_class ~76

One class in the teacher's workspace: subject, roster (students by handle and short name), the class's assignment defaults, and the student links of assignments currently open to it. Students join a class by opening one of those links; there are no class codes. Cheap.

NameTypeReqDescription
classIdstringyesClass id from list_classes.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_class_insights ~154

How a class (or all the teacher's classes) is doing on Fiveable assignments: accuracy and FRQ points with change over time, each assignment's turn-in rate and average, and each student's average with flags (missing work, dropping, improving), weakest first. Scope by class, subject, assignment or time window. Moderate cost.

NameTypeReqDescription
assignmentIdstring–Limit to one assignment (id from list_coursework).
classIdstring–Limit to one class (id from list_classes).
daysintegeryesLook back this many days. 0 means this school year.
subjectSlugstring–Limit to one subject, e.g. apush or ap-bio.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_content_sections ~168

Returns a small set of Fiveable study-guide passages relevant to one question. Suitable for narrow explanations, research questions and checking student notes. One call consumes one full-content preview for a caller without existing access.

NameTypeReqDescription
guideSlugstring–Optional exact guide reference from get_subject_outline or search_content.
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
maximumSectionsintegeryes–
maximumTokensintegeryes–
querystringyesThe concept or question the student needs help with.
subjectSlugstringyesFiveable subject slug, e.g. "ap-bio". A course name such as "AP Biology" also resolves.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_essay_feedback ~100

One essay's score and feedback part by part, what the teacher changed, and whether it's approved. Set includeText only when the teacher wants to read the response itself.

NameTypeReqDescription
essayHandlestringyesEssay handle from get_grading_results, e.g. E-3b91c0.
includeTextbooleanyes–
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_exam_options ~63

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.

NameTypeReqDescription
subjectSlugstring––
unitNumberinteger––
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_frq ~127

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.

NameTypeReqDescription
frqIdstringyesFRQ id from list_frqs.
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_grading_progress ~58

Returns grading counts (scored, remaining, failed and approved) and background-job status (running, done or stopped). Cheap.

NameTypeReqDescription
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_grading_results ~118

Class results for a grading session: average, score distribution, how the class did on each rubric part, common gaps, and a table of essays (handle, short name, score, status, what to check). Filter to the ones that need review, drafts, approved or failed. Scores marked AI draft aren't approved yet.

NameTypeReqDescription
filterstringyes–
limitintegeryes–
offsetintegeryes–
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_grading_rubric ~84

Returns the session's Fiveable scoring guidelines point by point on the AP rubric for its question type. If absent, starts rubric generation and returns pending status; generation takes about a minute. Rubrics use the website's grading pipeline. Cheap once written.

NameTypeReqDescription
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_guide_reading_questions ~80

Returns reading-check questions and keys for one Fiveable guide: the curated set when available, otherwise generated questions (slower). Accepts a guide id. Suitable for exit tickets, reading quizzes and guided reading handouts.

NameTypeReqDescription
guideIdstringyesStudy guide document id, or study-guide: resource id from list_teaching_resources.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_guided_notes ~89

AMSCO textbook guided-notes prompts with answer keys for one chapter, for subjects that have AMSCO notes (for example AP US History). Without a chapter it lists the chapters. Use for guided notes handouts and reading checks. Cheap.

NameTypeReqDescription
chapterSlugstring–Chapter slug from the chapter list, e.g. chapter-1-1.
subjectSlugstringyes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_key_term ~155

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.

NameTypeReqDescription
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
subjectSlugstringyesFiveable 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.
termSlugstringyesKey term slug or the term itself, e.g. "natural-selection".
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_my_teacher_workspace ~42

Orientation for the signed-in teacher's Fiveable workspace: classes, coursework awaiting review or due this week, included assignments remaining, and configured Google connections. Cheap.

Input schema present but exposes no named parameters.

NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_questions_for_materials ~97

Returns up to 40 bank questions with answer keys, explanations, complete stimuli and Fiveable attribution for classroom materials. Stimuli are required context for their questions; answer keys are teacher-only material. Counts against the content budget.

NameTypeReqDescription
purposestring–What the teacher is making. Used only to improve Fiveable; changes nothing in the result.
questionIdsarrayyes–
subjectSlugstringyes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_reteach_gaps ~128

Ranks topics, units, CED skills and FRQ rubric rows where a class lost the most points on Fiveable assignments. Optional filters cover class, subject, assignment and time window. Moderate cost.

NameTypeReqDescription
assignmentIdstring–Limit to one assignment (id from list_coursework).
classIdstring–Limit to one class (id from list_classes).
daysintegeryesLook back this many days. 0 means this school year.
subjectSlugstring–Limit to one subject, e.g. apush or ap-bio.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_skill_insights ~153

Class progress on AP course skills (for example causation or contextualization): each skill's verdict (solid, improving, stuck, developing, building), average, trend, the students who need support most, and the units to revisit. Says so when evidence is limited instead of guessing. Works best scoped to one subject. Moderate cost.

NameTypeReqDescription
assignmentIdstring–Limit to one assignment (id from list_coursework).
classIdstring–Limit to one class (id from list_classes).
daysintegeryesLook back this many days. 0 means this school year.
subjectSlugstring–Limit to one subject, e.g. apush or ap-bio.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_student_insights ~157

Returns one student's Fiveable work: average, missing work, assignment scores, weakest units and topics, and skill progress. Accepts an anonymous student handle (S-…). Suitable for conference preparation, parent notes and individual reteaching. Moderate cost.

NameTypeReqDescription
assignmentIdstring–Limit to one assignment (id from list_coursework).
classIdstring–Limit to one class (id from list_classes).
daysintegeryesLook back this many days. 0 means this school year.
handlestringyesThe student's handle, e.g. S-4f2a1c.
subjectSlugstring–Limit to one subject, e.g. apush or ap-bio.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_study_guide ~223

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.

NameTypeReqDescription
guideSlugstringyesCanonical 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".
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
subjectSlugstringyesFiveable 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.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_subject_outline ~142

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.

NameTypeReqDescription
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
subjectSlugstringyesFiveable 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.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_submission ~101

One student's submission on a Fiveable assignment: each section's AI and teacher scores, the FRQ rubric breakdown, overrides and feedback, and whether the student can see results yet. includeText requires that the teacher wants to read the student's responses.

NameTypeReqDescription
assignmentIdstringyesAssignment id from list_coursework or list_submissions_to_review.
includeTextbooleanyes–
submissionIdstringyesSubmission id from list_submissions_to_review.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

get_unit_overview ~168

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.

NameTypeReqDescription
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
subjectSlugstringyesFiveable 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.
unitSlugstringyesUnit slug from get_subject_outline, e.g. "unit-1".
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

import_essays_from_files ~147

Splits teacher-supplied PDFs or Word stacks into one essay per student, including AP Classroom 'FRQ Response PDFs, By Student Page Break' exports. Photos support one essay per image and are read by Fiveable. Accepts up to three ChatGPT attached uploads of 25 MB each, or up to three base64 files totaling about 3 MB. Returns counts and warnings only. Long PDFs can take up to a minute.

NameTypeReqDescription
filesarrayyes–
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
uploadsarrayyesFiles the teacher attached in ChatGPT, passed by reference.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

import_essays_from_google_classroom ~134

Adds selected Google Classroom turn-in handles to a grading session. Reads authorized Google Docs directly; optional teacher-provided text supports other files or missing Google access. Names come from the Classroom roster. Existing session submissions are skipped. Records the source Classroom assignment for subsequent approved-grade export. Returns counts only.

NameTypeReqDescription
courseIdstringyesId from list_google_classroom_work.
courseWorkIdstringyesId from list_google_classroom_work.
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
turnInsarrayyes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

import_essays_from_text ~105

Adds individual student responses supplied as pasted, downloaded or transcribed text, with each student's name as written. Photo transcriptions require transcribedFromPhotos and explicit teacherConfirmedTranscription approval of the transcription. Returns counts only.

NameTypeReqDescription
essaysarrayyes–
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
teacherConfirmedTranscriptionbooleanyes–
transcribedFromPhotosbooleanyes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

link_grading_to_class ~103

Links a grading session to a workspace class so results feed class insights. Exact roster-name matches link automatically; explicit essay-handle to student-handle matches resolve remaining essays. Returns unmatched essays. A null classId removes the class link.

NameTypeReqDescription
classId–yesClass id from list_classes, or null to unlink.
matchesarrayyes–
sessionIdstringyesGrading session id from list_grading_sessions or create_grading_session.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_cheatsheets ~84

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.

NameTypeReqDescription
courseVariantstring––
cursorstring––
limitintegeryes–
subjectSlugstring––
unitNumberinteger––
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_classes ~57

Lists the signed-in teacher's classes with subject, student count and class id. Class names such as 'period 3' can be resolved to their ids. Cheap.

NameTypeReqDescription
includeArchivedbooleanyesList archived classes instead of active ones.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_coursework ~136

Lists the teacher's assignments and grading sessions from their workspace ledger: status, class, due date, roster-based turn-in counts, review counts and class average. The active status filter selects work currently open to students. Optional filters cover class, subject and status. Cheap.

NameTypeReqDescription
classIdstring–Class id from list_classes.
cursorstring–Cursor from a previous page.
limitintegeryes–
statusstringyesLedger status filter. needs_review shows work waiting for the teacher.
subjectSlugstring–Limit to one subject, e.g. ap-bio or apush.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_frqs ~275

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.

NameTypeReqDescription
courseVariantstring–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…
cursorstring––
excludeIdsarray––
frqTypestring–Optional FRQ type filter, e.g. "DBQ", "LEQ", "SAQ". Varies by subject.
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
limitintegeryesMaximum prompts to list.
subjectSlugstringyesFiveable subject slug, e.g. "ap-bio". A course name such as "AP Biology" also resolves.
unitIdstring–Unit ID or public unit slug from get_subject_outline.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_google_classroom_work ~112

Walks the teacher's Google Classroom: with no ids, their courses; with a course id, its assignments; with a course and assignment id, who turned it in, each with a handle (T-…) and a link to the turned-in file. Use it to grade typed work collected in Classroom. Needs the teacher's Google Classroom connection.

NameTypeReqDescription
courseIdstring–Id from list_google_classroom_work.
courseWorkIdstring–Id from list_google_classroom_work.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_grading_sessions ~57

The teacher's grading sessions for work done outside Fiveable (stacks of essays graded in the workspace), newest first, with essay, scored and approved counts. Use to resume a stack. Cheap.

NameTypeReqDescription
limitintegeryes–
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

list_key_terms ~180

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.

NameTypeReqDescription
intentstring–Privacy-safe reason for the request. Use explain, quiz, notes, frq, or research; never send the student's raw prompt for analytics.
letterstringyesFilter to terms starting with one letter, or "ALL" for every term.
limitintegeryesTerms per page.
pageintegeryes1-indexed page number.
subjectSlugstringyesFiveable 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.
NameTypeReqDescription
statusstringyesOperation status: completed, pending, partial, failed, unavailable, or a domain-specific outcome.
textstring–Readable tool result text for clients that consume structured output.

No examples provided.

Common questions

What is the Fiveable for AP Teachers MCP server?

Fiveable for AP Teachers is an MCP server listed in the public MCP registry as io.github.thinkfiveable/fiveable-ap-teachers. AP rubric grading, assignment drafts, question-bank materials, and class insights for teachers. This page covers its hosted endpoint (https://fiveable.me/api/mcp/teacher).

Is the Fiveable for AP Teachers MCP server safe to use?

Fiveable for AP Teachers scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Fiveable for AP Teachers MCP server expose?

Fiveable for AP Teachers exposes 77 tools: get_my_teacher_workspace, list_classes, get_class, list_coursework, get_assignment, and 72 more. Their descriptions and schemas cost roughly 8,586 tokens of context every time the server is loaded.

Does the Fiveable for AP Teachers MCP server require authentication?

No. We connected to Fiveable for AP Teachers without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Fiveable for AP Teachers MCP server still maintained?

Fiveable for AP Teachers is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.