Skip to main content
Glama

Server Details

Courses that argue back: learn adaptively, build real work, then defend it to an AI stakeholder.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 24 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but a few overlap or share boundaries: get_lesson vs teach_section (lesson vs section), recall_questions vs daily_drill (both spaced recall), and get_recap vs get_progress (both progress summaries). Descriptions generally help, but these pairs could cause misselection.

Naming Consistency4/5

The vast majority follow a verb_noun snake_case pattern (get_outline, begin_course, submit_exam, etc.). Minor deviations include daily_drill (adjective_noun), interview_prep (noun_noun), login, roast, and whoami (single words), but the overall style is consistent and readable.

Tool Count3/5

24 tools is on the heavy side (16-25 feels bloated), though the platform spans courses, exams, interviews, artifacts, and user management, so the breadth is defensible. Some tools could be consolidated (e.g., recall_questions and daily_drill), making it feel slightly over-scoped.

Completeness3/5

Core learner workflows are covered: discover, start, learn, assess, track, and resume. However, descriptions reference missing tools like get_review and save_artifact, creating dead ends. There's also no tool for authoring/managing courses, even though list_courses mentions user-authored courses, leaving notable gaps.

Available Tools

24 tools
begin_courseBegin courseAInspect

Start a course. Returns the tutor protocol, intake guidance, and the module map. Call this first, run the intake, then call teach_section to teach Module 1.

Inputs: course (required), auth_token. Returns: object

daily_drillTwo-minute daily drillAInspect

The two-minute drill — today's spaced-recall question + the learner's day streak. Call it to fetch today's question (deterministic per day, drawn from modules they've started); after they answer and you reveal it, call again with done=true to log it and bump the streak. A daily habit: one question, two minutes, keep the streak alive.

Inputs: course (required), done, auth_token. Returns: object

get_artifactGet artifactA
Read-only
Inspect

Fetch a saved Library artifact's full content (by id, or by key+course). Use to pull a prior deliverable forward and build on it in a new chat.

Inputs: key, course, auth_token, artifact_id. Returns: object

get_certificateGet certificateA
Read-only
Inspect

Ripostiq certificate status. Pass module for that module's certificate (earned when its boss battle is passed); omit it for the course certificate (earned when EVERY module's boss is passed). Both are viewable at /certificate and publicly verifiable at /verify/.

Inputs: course (required), module, auth_token. Returns: object

get_entitlementsGet entitlementsA
Read-only
Inspect

List the logged-in account's entitlements across courses (OAuth bearer or auth_token).

Inputs: auth_token. Returns: object

get_lessonGet lessonA
Read-only
Inspect

Fetch a module's lesson content. Free module is open; paid modules require an active entitlement. Returns {locked, teaser, checkout_url} when not entitled.

Inputs: course (required), module (required), section, auth_token. Returns: object

get_outlineGet course outlineA
Read-only
Inspect

Full course outline — every module + its section titles — so the learner can pick ANY module/section to start, in any order. Marks locked modules and their progress.

Inputs: course (required), auth_token. Returns: object

get_progressGet progressA
Read-only
Inspect

Return the learner's progress for a course — the raw doc plus a display-ready summary (per-module sections done/total, boss status, overall percent, current position), and wind_down coverage (which modules have their cheatsheet + session summary saved).

Inputs: course (required), auth_token. Returns: object

get_recapGet recapA
Read-only
Inspect

Resume briefing for a returning learner — what they've covered, mastery levels, strong/weak topics, and recall questions to reactivate memory. Call at session start.

Inputs: course (required), auth_token. Returns: object

interview_prepMock interviewAInspect

Free 'Mock interview' — a realistic, calibrated interview for a role. jd_or_skill is the job description (paste it) or the skill/role to interview against; role and experience (e.g. 'senior backend engineer', '5 years') calibrate difficulty; focus narrows it (e.g. 'system design'). No login or course needed. Returns the interview protocol + a course recommendation. Great when someone is prepping for an interview and wants a real grilling.

Inputs: jd_or_skill (required), role, focus, auth_token, +1 more. Returns: object

list_artifactsList libraryA
Read-only
Inspect

List the learner's saved Library artifacts (titles + metadata, newest first). Use at session start (with get_recap) to reference prior work and continue seamlessly.

Inputs: course (required), type, module, auth_token. Returns: object

list_coursesList coursesA
Read-only
Inspect

List every available Ripostiq course (no login needed). Call this FIRST when a user wants to browse or start learning. Each course has a free Module 1 anyone can start immediately via begin_course(course) → teach_section. Returns the course id to pass to other tools. For a logged-in learner this also includes courses THEY authored (marked mine, with their visibility) — offer those alongside the catalog.

Inputs: auth_token. Returns: object

list_interviewsList interview-prep topicsA
Read-only
Inspect

List the curated Interview-Prep topics (e.g. 'Agentic AI in Production'). Each is a realistic, adaptive mock interview on a fixed topic — concept→scenario question pairs across several areas — that ends in a candid scorecard. No login or course needed. Call this when someone wants to prep for an interview on a topic the catalog covers, then start_interview.

Inputs: no named parameters. Returns: object

loginLog inAInspect

Claude Code plugin login only (auth_token flow). On the web/desktop connector, identity comes from the connector's OAuth approval — do NOT ask the user to type their email/password into the chat; direct them to the connector's 'Log in with Ripostiq' or ripostiq.com instead.

Inputs: email (required), password (required). Returns: object

mark_progressUpdate saved progressAInspect

Record the learner's progress server-side (shows on their account + syncs across devices). Call when a section is genuinely completed (section_id), or after a boss battle (boss='passed'/'failed', boss_attempt=true), or on a lab status change (lab=...).

Inputs: course (required), module (required), lab, boss, +3 more. Returns: object

recall_questionsRecall questionsB
Read-only
Inspect

Return spaced-recall questions drawn from the account's completed modules.

Inputs: course (required), auth_token (required), count. Returns: object

roastRoast my workAInspect

Free 'Roast my work' — a single tough-but-fair stakeholder grilling of ANY artifact the user pastes (PRD, architecture, code, pitch, resume, plan, essay…). No login or course needed. work is the artifact (or a solid description); kind optionally hints the type (prd/architecture/code/pitch/strategy/resume/design…) to pick the right persona; focus is what they most want pushback on. Returns the roast protocol + a course recommendation. Great as an entry point when someone wants honest, pointed feedback on real work.

Inputs: work (required), kind, focus, auth_token. Returns: object

run_bossRun boss battleAInspect

Get the module's boss-battle simulation + how to run it (in-character, real stakes, earned PASS). Gated like lessons. difficulty dials the intensity — 'friendly' (supportive coach), 'standard' (default), or 'brutal' (relentless, skeptical, high bar) — and optional persona_style sets a flavor (e.g. 'skeptical CTO', 'hostile board member'). The rubric is unchanged; only how hard the stakeholder presses. Offer the learner the choice first.

Inputs: course (required), module (required), auth_token, difficulty, +1 more. Returns: object

start_examStart practice examAInspect

Start the course's SCORED PRACTICE EXAM — a full, blueprint-aligned multiple-choice mock that returns a scaled score against the real pass line, a per-domain breakdown, and rationale for every question. Login + entitlement gated like the paid capstone (returns needs_login / locked if not). Returns a drawn form of questions WITHOUT the answers (the key is held server-side); proctor them one at a time, collect the learner's letters, then call submit_exam(course, answers) to score. Never reveal or answer the questions yourself.

Inputs: course (required), auth_token. Returns: object

start_interviewStart interview prepAInspect

Begin a curated Interview-Prep session on a fixed topic. interview is the topic id from list_interviews (e.g. 'agentic-ai-in-production'); role/experience calibrate difficulty. LOGIN REQUIRED (free in the current beta, like a course): if the learner isn't logged in this returns needs_login — ask them to log in with the connector, don't run the questions. Once unlocked, returns the question bank + an adaptive protocol (one question at a time across ~4-5 areas, concept then scenario, hint when stuck, scorecard at the end). Save it with save_interview.

Inputs: interview (required), role, auth_token, experience. Returns: object

submit_artifactSubmit lab deliverableAInspect

Submit a lab deliverable. Stores it in the learner's Library (type='deliverable') and returns the module rubric so it can be reviewed against the bar. Call get_review next. For general note-taking use save_artifact instead.

Inputs: type (required), course (required), module (required), repo_ref, +2 more. Returns: object

submit_examSubmit exam answers and score the attemptAInspect

Score a practice exam started with start_exam. answers maps each question id to the learner's chosen letter, e.g. {"q001": "A", "q002": "C"}; unanswered questions score as incorrect. Returns the scaled score, PASS/FAIL vs the pass line, a per-domain breakdown, and the per-question rationale for review. Deliver it as an honest scorecard and point them to the weak domains' modules.

Inputs: course (required), answers (required), auth_token. Returns: object

teach_sectionTeach sectionAInspect

Get one lesson section's content + the teaching protocol for it. Free module is open; paid modules require an active entitlement (returns {locked, teaser} if not). Teach it socratically, then call again with section_index+1 to advance.

Inputs: course (required), module (required), auth_token, section_index. Returns: object

whoamiWho am IA
Read-only
Inspect

Return the current logged-in user (via OAuth bearer or an auth_token).

Inputs: auth_token. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI-assisted learning through structured courses with Socratic guidance, evaluating user answers against rubrics and managing learning progress locally.
      Apache 2.0
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources