Practice questions for the four Claude certifications. The assistant never sees the key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Grades the user's choice and returns an explanation for EVERY option, including the ones they did not pick. On this exam two options are frequently defensible and only one is credited, so the reasons the wrong options lose are the part worth teaching.
Exam slug.
Option letters the user chose, e.g. ["B"] or ["B","D"].
The id from get_practice_question.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Grades the user's choice and returns an explanation for EVERY option, including the ones they did not pick. On this exam two options are frequently defensible and only one is credited, so the reasons the wrong options lose are the part worth teaching.
| Argument | Type | Description |
|---|---|---|
| exam* | string | Exam slug. |
| selected* | array | Option letters the user chose, e.g. ["B"] or ["B","D"]. |
| question_id* | string | The id from get_practice_question. |
{
"type": "object",
"required": [
"exam",
"question_id",
"selected"
],
"properties": {
"exam": {
"enum": [
"ccar-p",
"ccdv-f",
"ccao-f",
"ccar-f"
],
"type": "string",
"description": "Exam slug."
},
"selected": {
"type": "array",
"items": {
"type": "string"
},
"description": "Option letters the user chose, e.g. [\"B\"] or [\"B\",\"D\"]."
},
"question_id": {
"type": "string",
"description": "The id from get_practice_question."
}
},
"additionalProperties": false
}Returns one original practice question with its options and no answer key. Present it to the user and let them choose before calling check_answer. Pass every id already served in exclude_ids — this server is stateless and remembers nothing.
| Argument | Type | Description |
|---|---|---|
| exam* | string | Exam slug from list_exams. |
| focus | string | Optional ordering by how everyone else answers these questions: "hardest" serves the highest crowd miss rates first, "traps" serves the questions most people get wrong the SAME way — a shared misconception rather than merely a hard question. Nothing is filtered out; questions with no crowd data simply come last. |
| domain | string | Optional domain id (e.g. "d3") to drill one area. Domain ids come from list_exams. |
| exclude_ids | array | Question ids already served in this session, so they are not repeated. |
{
"type": "object",
"required": [
"exam"
],
"properties": {
"exam": {
"enum": [
"ccar-p",
"ccdv-f",
"ccao-f",
"ccar-f"
],
"type": "string",
"description": "Exam slug from list_exams."
},
"focus": {
"enum": [
"hardest",
"traps"
],
"type": "string",
"description": "Optional ordering by how everyone else answers these questions: \"hardest\" serves the highest crowd miss rates first, \"traps\" serves the questions most people get wrong the SAME way — a shared misconception rather than merely a hard question. Nothing is filtered out; questions with no crowd data simply come last."
},
"domain": {
"type": "string",
"description": "Optional domain id (e.g. \"d3\") to drill one area. Domain ids come from list_exams."
},
"exclude_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Question ids already served in this session, so they are not repeated."
}
},
"additionalProperties": false
}The Claude certifications covered here, with exam codes, item counts, fees and the full domain list with published weights. Call this first to get valid exam slugs.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Their recorded history for one exam, broken down by blueprint domain with the weakest first, plus how their misses compare with everyone else's on the same free-form questions. Call this at the start of a study session to decide what to drill, and after a run of questions to show what moved. It names the domain to pass to get_practice_question, and when their misses follow the crowd's favorite wrong answers it says to drill those with focus: "traps". Only a signed-in account has history; anonymous callers are told so rather than shown zeros.
| Argument | Type | Description |
|---|---|---|
| exam* | string | Exam slug from list_exams. |
{
"type": "object",
"required": [
"exam"
],
"properties": {
"exam": {
"enum": [
"ccar-p",
"ccdv-f",
"ccao-f",
"ccar-f"
],
"type": "string",
"description": "Exam slug from list_exams."
}
},
"additionalProperties": false
}Open or resume the study page for an exam, optionally focused on a domain or a sub-objective. Use this when someone asks to study rather than to be quizzed in chat: the page gives them a visible question they answer themselves, and once it is open a richer set of tools appears for reading and steering that screen. Returns the URL; a browser agent should navigate there.
| Argument | Type | Description |
|---|---|---|
| exam* | string | Exam slug from list_exams. |
| domain | string | Optional blueprint domain, e.g. "d3". |
| sub_objective | string | Optional concept, e.g. "d1.5". Ids are per-exam. |
{
"type": "object",
"required": [
"exam"
],
"properties": {
"exam": {
"type": "string",
"description": "Exam slug from list_exams."
},
"domain": {
"type": "string",
"description": "Optional blueprint domain, e.g. \"d3\"."
},
"sub_objective": {
"type": "string",
"description": "Optional concept, e.g. \"d1.5\". Ids are per-exam."
}
}
}