# Fluid Recall > Fluid Recall is a free, deterministic system of record for spaced recall. Any AI agent can call it. Muse is featured for compatibility and distribution, not as the only audience. This website does not run study drills. Fluid Recall keeps the recall record. Any AI agent can be the coach. Muse is a compatible first coach, not the only one. The scheduler is deterministic: a rating of again, hard, good, or easy goes in, and a due time comes out. recordReview is the only call that moves dueAt. listDue never returns answers. revealCard returns one answer after an attempt. This website does not run study drills. Practice happens in voice or text chat with the person's own agent. The site has no deck browser and no signup form. The personal API token is the tenant. An agent mints one with POST /api/v1/agent/session/start, POST /api/v1/accounts, or POST /api/v1/bootstrap and does not send a user id. We are not a gatekeeper. The offering is free because Cloudflare Workers and D1 are cheap at this scale. There is no lock-in: GET /api/v1/export/manifest then GET /api/v1/export with the personal bearer. Paginate cards and reviews via nextCursor until complete is true. A person who lands here should copy the starter prompt on the home page and paste it into their agent. ## Public pages - [Home](https://fluidrecall.com): Agent-first explanation, human copy-prompt, and the statement that this site does not run study drills - [FAQ](https://fluidrecall.com/faq): Short answers an answer engine can cite - [Flashcards](https://fluidrecall.com/flashcards): Digital flashcards as a system of record any agent can call; practice stays in chat - [AI flashcards](https://fluidrecall.com/ai-flashcards): Agent-coached flashcards; the AI is the coach in chat; Fluid Recall stores cards and due times - [Agent memory](https://fluidrecall.com/agent-memory): Durable recall record agents call (cards and due times, not fading chat notes) - [Memorization](https://fluidrecall.com/memorization): Long-term recall with a deterministic due time, not a model inventing intervals - [Spaced practice](https://fluidrecall.com/spaced-practice): Why a hosted agent needs a public system of record, not a study website - [Spaced repetition](https://fluidrecall.com/spaced-repetition): The common search phrase, mapped to a deterministic record any agent can call - [SRS](https://fluidrecall.com/srs): The short acronym for spaced repetition system; same record any agent can call - [Active recall](https://fluidrecall.com/active-recall): Retrieval practice. Attempt first; listDue never returns answers; revealCard after an attempt - [Retrieval practice](https://fluidrecall.com/retrieval-practice): The academic search phrase for attempt-before-answer; listDue never returns answers; revealCard after an attempt - [Anki](https://fluidrecall.com/anki): Anki decks, cards, and Again/Hard/Good/Easy ratings mapped onto Fluid Recall for agents; practice stays in chat - [Anki alternative](https://fluidrecall.com/anki-alternative): Anki is a human study app; Fluid Recall is the recall record any agent can call - [Muse custom connector](https://fluidrecall.com/muse-connector): How Muse connects today without a directory listing - [Deterministic schedule](https://fluidrecall.com/deterministic-schedule): Ratings in, dueAt out; the scheduler is not a model ## Contract - [Muse skill](https://fluidrecall.com/muse/skill.md): Call order, reads versus writes, the rule that prompts are not answers, and the export off-board - [OpenAPI](https://fluidrecall.com/api/openapi.json): One HTTP contract for JSON, /api/v1/dev, and /api/v1/agent, including GET /api/v1/export/manifest and GET /api/v1/export - [MCP](https://fluidrecall.com/mcp): Stateless Streamable HTTP tools at POST /mcp (also /api/mcp). Same service. Authorization: Bearer . No session id. - [MCP Events](https://fluidrecall.com/mcp): The same door speaks the ChatGPT MCP Events subset (events/list, events/subscribe, events/unsubscribe). Webhook-only delivery, Standard Webhooks signed. No poll or push. - [OpenAPI alias](https://fluidrecall.com/api/openapi/surfaces.json): Same document as /api/openapi.json ## Optional - [Health](https://fluidrecall.com/health): JSON liveness check for the system of record - [llms.txt](https://fluidrecall.com/llms.txt): This file - Optional agent feedback: POST /api/v1/feedback with a short description and the steps that led up to a problem. Totally optional. Not data extraction. Agents may redact anything they would not want us to see. It exists solely to help improve the product. ## ChatGPT plugin and OAuth Fluid Recall is installable as a ChatGPT plugin. MCP is at POST https://fluidrecall.com/mcp (also /api/mcp). ChatGPT links the account through a first-party OAuth 2.1 authorization server: GET https://fluidrecall.com/.well-known/oauth-protected-resource, GET https://fluidrecall.com/.well-known/oauth-authorization-server, consent at GET https://fluidrecall.com/oauth/authorize (paste a personal API token or create an account), and a PKCE S256 code exchange at POST https://fluidrecall.com/oauth/token. The resulting Bearer token is bound to the existing Fluid Recall user. The plugin adds a get_profile MCP tool and calls the same deterministic service; a pasted personal API token works too. ## Personal Agent Protocol (Poppy v0.1) Personal agents that speak the Personal Agent Protocol discover Fluid Recall at GET https://fluidrecall.com/.well-known/poppy.json. It names the issuer https://fluidrecall.com, the MCP server (POST https://fluidrecall.com/mcp), and the API (https://fluidrecall.com/api/v1, OpenAPI at https://fluidrecall.com/api/openapi.json). Agents identify with a Client ID Metadata Document and private_key_jwt, start a Session with the JWT bearer grant at POST https://fluidrecall.com/oauth/token, and get a one-hour Session Token: DPoP-bound for the API, Bearer for MCP. Direct Sign-In uses the same consent page at https://fluidrecall.com/oauth/authorize, where the person picks view (poppy:read) or change (poppy:write) access. Revoke an Account Token at POST https://fluidrecall.com/oauth/revoke. Details: https://fluidrecall.com/docs/personal-agent-protocol