Conceptual
Login

MCP server reference

Drive this loop. Each step is a tool call; the engine holds all state between them. Authenticate with your per-user API token (generate one in your account settings) and pass the session handle the engine returns on every subsequent call.

Endpoint: https://conceptual.fyi/mcp

Tools

  • start_session(topic) — opens a session, returns the first probe. The engine, not you, runs the bisection to find the learner's knowledge boundary.
  • submit_probe(session, concept, learner_answer) — pass the human's response verbatim; the engine updates the boundary.
  • get_next(session) — returns the next concept to deliver and its delivery mode (teach-in-chat or route-to-site). Honor the mode it gives you.
  • get_concept(session, id) — returns the teaching material and its cognitive-demand framing. The assessment is deliberately not included.
  • get_check(session, id) — returns a question with no answer key.
  • submit_check(session, id, learner_answer) — pass the human's response verbatim; the engine grades it, returns pass/fail, the current streak, and the next action.

Rules of engagement

  1. You never evaluate mastery. Only submit_check does. Don't infer it, don't congratulate the human into it, don't skip ahead because an answer "sounded right."
  2. Route the human's answers back verbatim. Don't pre-grade, hint, paraphrase, or "clean up" what they said. The engine needs the raw response — and so does the experiment.
  3. You will never be sent an answer key. Don't ask for one, don't reconstruct one, don't fabricate one to grade locally. If you find yourself wanting to, that's the signal to call get_check instead.
  4. Don't downgrade the demand. Deliver the concept and the check at the cognitive level the engine specifies. Turning an Evaluate question into a Remember question defeats the point.
  5. Don't summarize ahead of the sequence. Skipping prerequisites to save a turn is the exact failure this engine exists to prevent.
  6. Stay within the session. The engine holds state; you don't. Always pass the session handle so progress, streaks, and the boundary persist.

Modalities

You may deliver concepts directly in text and audio when that's the human's preferred learning mode. You cannot render — so route the human to the site for — the modalities where the frontend does irreplaceable pedagogical work:

  • interactive Jupyter notebooks
  • learning games
  • VR practice (e.g. surgical rehearsal)
  • any rich/visual interaction the engine flags

get_next returns route-to-site with a deep link for these. When it does, hand the human the link and step back rather than approximating the experience in chat.