MCP server
PupilBot is an MCP server. Connect it once and your AI assistant can turn notes, articles and chapters into PupilBot studies, tell you when they are ready, and read back how well you know each topic.
The practising itself stays in the web app, the iPhone app or the Telegram bot. The assistant creates studies and reads your mastery; it never answers the questions for you.
https://www.pupilbot.com/mcpPaste this into any MCP client. The first connection opens a PupilBot sign-in page where you approve the client — no API key to generate, nothing to configure. No account yet? Create one, it is free.
PupilBot and paste https://www.pupilbot.com/mcpRun this in your terminal:
claude mcp add --transport http pupilbot https://www.pupilbot.com/mcpThe first call opens the PupilBot sign-in in your browser. Approve it once and the connection persists.
Add the server, then sign in — adding an OAuth-protected server does not start the sign-in on its own:
codex mcp add pupilbot --url https://www.pupilbot.com/mcpcodex mcp login pupilbothttps://www.pupilbot.com/mcp and keep OAuth as the authenticationThe menu path moves between ChatGPT releases; OpenAI’s connect guide has the current steps, and which plans expose it is ChatGPT’s call, not ours.
http (streamable HTTP) and the URL https://www.pupilbot.com/mcp4 tools, all scoped to your own account. It can create studies and read your progress; it cannot delete anything or see another student’s data.
| Tool | What it does |
|---|---|
create_study |
Turns text your assistant hands it (notes, an article, a chapter) into a new study with topics and practice questions. Takes about a minute. |
get_study_status |
Whether a study is still processing, ready to practise, or failed. |
list_studies |
Your studies, newest first. |
get_mastery |
How well you know things: a summary across every study, or per-topic scores, streaks and next review dates for one study. |
S256) and rotating refresh tokens. Clients register themselves (RFC 7591), so most of them run the whole flow on their own.Streamable HTTP, stateless: one JSON-RPC 2.0 request per POST, one JSON response. No SSE stream, no session ids, no JSON-RPC batching. A GET that asks for text/event-stream, and any DELETE, answer 405 — which is what tells a client to fall back to plain POSTs; a GET that does not ask for the stream gets this page. Protocol versions: 2025-06-18, 2025-03-26, 2024-11-05.
Discovery: /.well-known/oauth-authorization-server (RFC 8414) and /.well-known/oauth-protected-resource (RFC 9728). An unauthenticated POST answers 401 with a WWW-Authenticate challenge naming the second one.
/openapi.json — OpenAPI 3.1 description of this endpoint and its OAuth flow./mcp/server-card and /.well-known/ai-catalog.json — pre-connection discovery (MCP Server Card, SEP-2127)./mcp.md — this page as markdown.