# Ripostiq MCP server

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

## Links
- Registry page: https://www.getdrio.com/mcp/com-ripostiq-ripostiq
- Website: https://ripostiq.com

## Install
- Endpoint: https://ripostiq.com/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://ripostiq.com/mcp

## Tools
- login (Log in) - 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. Endpoint: https://ripostiq.com/mcp
- whoami (Who am I) - Return the current logged-in user (via OAuth bearer or an auth_token). Endpoint: https://ripostiq.com/mcp
- get_entitlements (Get entitlements) - List the logged-in account's entitlements across courses (OAuth bearer or auth_token). Endpoint: https://ripostiq.com/mcp
- get_lesson (Get lesson) - Fetch a module's lesson content. Free module is open; paid modules require an
active entitlement. Returns {locked, teaser, checkout_url} when not entitled. Endpoint: https://ripostiq.com/mcp
- list_courses (List courses) - 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. Endpoint: https://ripostiq.com/mcp
- begin_course (Begin course) - 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. Endpoint: https://ripostiq.com/mcp
- roast (Roast my work) - 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. Endpoint: https://ripostiq.com/mcp
- interview_prep (Mock interview) - 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. Endpoint: https://ripostiq.com/mcp
- list_interviews (List interview-prep topics) - 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. Endpoint: https://ripostiq.com/mcp
- start_interview (Start interview prep) - 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. Endpoint: https://ripostiq.com/mcp
- teach_section (Teach section) - 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. Endpoint: https://ripostiq.com/mcp
- run_boss (Run boss battle) - 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. Endpoint: https://ripostiq.com/mcp
- daily_drill (Two-minute daily drill) - 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. Endpoint: https://ripostiq.com/mcp
- start_exam (Start practice exam) - 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. Endpoint: https://ripostiq.com/mcp
- submit_exam (Submit exam answers and score the attempt) - 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. Endpoint: https://ripostiq.com/mcp
- get_outline (Get course outline) - 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. Endpoint: https://ripostiq.com/mcp
- mark_progress (Update saved progress) - 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=...). Endpoint: https://ripostiq.com/mcp
- get_recap (Get recap) - 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. Endpoint: https://ripostiq.com/mcp
- get_progress (Get progress) - 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). Endpoint: https://ripostiq.com/mcp
- recall_questions (Recall questions) - Return spaced-recall questions drawn from the account's completed modules. Endpoint: https://ripostiq.com/mcp
- list_artifacts (List library) - 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. Endpoint: https://ripostiq.com/mcp
- get_artifact (Get artifact) - 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. Endpoint: https://ripostiq.com/mcp
- submit_artifact (Submit lab deliverable) - 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. Endpoint: https://ripostiq.com/mcp
- get_certificate (Get certificate) - 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/<code>. Endpoint: https://ripostiq.com/mcp

## Resources
- ui://widget/courses.html - Ripostiq courses widget MIME type: text/html+skybridge
- ui://widget/progress.html - Ripostiq progress widget MIME type: text/html+skybridge
- ui://widget/outline.html - Ripostiq outline widget MIME type: text/html+skybridge
- ui://widget/certificate.html - Ripostiq certificate widget MIME type: text/html+skybridge
- ui://widget/replay.html - Ripostiq replay widget MIME type: text/html+skybridge

## Prompts
Not captured

## Metadata
- Owner: com.ripostiq
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jul 31, 2026
- Source: https://registry.modelcontextprotocol.io
