Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,558Letters: 14Defects: 1,331counted 3 min ago
teppi

Server definition

Hash
sha256:34dae0b48d3088ae7dce4df224a8effd29841ab999092d4b6cb95ee9e45a4730
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Practice questions for the four Anthropic Claude certifications (CCAR-P, CCAR-F, CCDV-F, CCAO-F).\n\nUse this to quiz someone preparing for one of those exams. A good loop: call list_exams,\nthen get_practice_question, present the question WITHOUT the answer, let the user commit to\na choice, then call check_answer and teach from the explanations it returns — including why\nthe wrong options are wrong, which is where the exam is actually won.\n\nPass every id you have already served in exclude_ids so the user is not asked the same\nquestion twice within a session — the server does not de-duplicate for you.\n\nAnonymous callers are recorded nowhere. For a SIGNED-IN caller, check_answer records what\nthey got right and wrong, and my_progress returns it broken down by exam domain. Call\nmy_progress at the start of a session to decide what to drill and after a run to show what\nmoved — the per-domain breakdown is the point, not the overall percentage.\n\nDo not use this as an authority on exam registration, eligibility or current pricing —\nthose belong to the certification program and change without notice.", "tools": [ { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "exam": { "description": "Exam slug.", "enum": [ "ccar-p", "ccdv-f", "ccao-f", "ccar-f" ], "type": "string" }, "question_id": { "description": "The id from get_practice_question.", "type": "string" }, "selected": { "description": "Option letters the user chose, e.g. [\"B\"] or [\"B\",\"D\"].", "items": { "type": "string" }, "type": "array" } }, "required": [ "exam", "question_id", "selected" ], "type": "object" }, "name": "check_answer", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "domain": { "description": "Optional domain id (e.g. \"d3\") to drill one area. Domain ids come from list_exams.", "type": "string" }, "exam": { "description": "Exam slug from list_exams.", "enum": [ "ccar-p", "ccdv-f", "ccao-f", "ccar-f" ], "type": "string" }, "exclude_ids": { "description": "Question ids already served in this session, so they are not repeated.", "items": { "type": "string" }, "type": "array" }, "focus": { "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.", "enum": [ "hardest", "traps" ], "type": "string" } }, "required": [ "exam" ], "type": "object" }, "name": "get_practice_question", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_exams", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "exam": { "description": "Exam slug from list_exams.", "enum": [ "ccar-p", "ccdv-f", "ccao-f", "ccar-f" ], "type": "string" } }, "required": [ "exam" ], "type": "object" }, "name": "my_progress", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "domain": { "description": "Optional blueprint domain, e.g. \"d3\".", "type": "string" }, "exam": { "description": "Exam slug from list_exams.", "type": "string" }, "sub_objective": { "description": "Optional concept, e.g. \"d1.5\". Ids are per-exam.", "type": "string" } }, "required": [ "exam" ], "type": "object" }, "name": "open_study", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:34dae0b48d3088ae7dce4df224a8effd29841ab999092d4b6cb95ee9e45a4730 | sha256sum