https://www.pupilbot.com/mcp is a Model Context Protocol endpoint, not a page to read. Connect it to Claude, ChatGPT, Codex or any other MCP client, and that assistant can turn your notes into PupilBot studies and read back how well you know them.
PupilBot turns study material a student supplies — photographed notes, a handout, or pages picked out of a PDF — into adaptive practice questions scheduled by spaced repetition. The practising happens in the web app, the iPhone app or the Telegram bot; the assistant creates and reads.
The server URL is https://www.pupilbot.com/mcp. It needs a PupilBot account: the first connection opens a consent page where you sign in and approve the client. No account yet? Create one first.
claude mcp add --transport http pupilbot https://www.pupilbot.com/mcpcodex mcp add pupilbot --url https://www.pupilbot.com/mcp, then codex mcp login pupilbot — adding an OAuth-protected server does not start the sign-in, the second command does.| Tool | What it does |
|---|---|
create_study |
Create a new PupilBot study from text (notes, an article, a chapter — plain text or markdown). PupilBot extracts the topics and generates adaptive practice questions; processing takes about a minute. Returns the new study id — poll get_study_status until it is 'ready'. |
get_study_status |
Check a study's processing status ('uploaded'/'processing' → not ready yet, 'ready' → questions are generated, 'failed'). |
list_studies |
List the user's studies, newest first. |
get_mastery |
Without study_id: mastery summary for every ready study. With study_id: per-topic mastery for that study (score 0–1, attempts, streaks, next review). |
The endpoint is an OAuth 2.1 protected resource. PKCE with S256 is required, refresh tokens rotate, and clients register themselves (RFC 7591) — so most MCP clients run the whole flow on their own once you approve the consent screen.
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.
Your studies, questions and mastery are private to your account. An assistant reaches them only with a token you approved.
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.
Supported protocol versions: 2025-06-18, 2025-03-26, 2024-11-05.
/openapi.json — an 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).