Connect an assistant
Add the MCP server to your AI client, choose what it may reach among the five permission groups, and revoke it when you are done.
Open the MCP page in the Read Frog web app. It shows the server address, per-client setup steps, and every client you have already authorized.
The server address is the same for everyone:
https://api.readfrog.app/api/mcpWhat differs between clients is only where you paste that address and what the client requires before it will let you.
Add the server
Add a remote MCP server at the address above, over Streamable HTTP. In ChatGPT this lives under Settings → Plugins with developer mode turned on; in Claude, under Settings → Connectors → Add custom connector. Codex and Claude Code each take a single command, shown on the MCP page.
Choose OAuth 2.1 authorization. Dynamic client registration and client ID metadata documents
are both supported, so there is no client ID or secret to enter. Clients that insist on a
discovery document can read it at
https://api.readfrog.app/.well-known/oauth-protected-resource/api/mcp.
The client sends you to Read Frog's consent page. Sign in, check the application name and identifier shown there, choose a level for each permission group it asked for, and select Allow.
Some clients gate custom connectors behind their own plan. ChatGPT needs a paid plan; a personal Claude account needs Pro or Max, and on Team or Enterprise an owner adds the connector under organization settings. Codex and Claude Code have no such restriction.
Read Frog's own requirement is the Ultra plan. A connection from an account without it completes authorization and then refuses every tool call with an explanation — signing in again does not change that, because no permission grant changes a subscription.
The five permission groups
There are exactly five groups. account is read-only; the other four can each be set to no access, read, or read and write. You choose per group, and only among the groups the client actually asked for.
| Group | Read lets the assistant see | Write additionally lets it |
|---|---|---|
account | Your name, email address and profile picture. Never note content. | Nothing — this group has no write level. |
notebases | Your notebases and their field definitions, including field IDs. | Create, rename and delete notebases; add, change and delete fields. |
notes | The field values of every note, and search across them. | Create, edit and delete notes. |
card_templates | The front and back patterns that generate cards. | Create, edit and delete templates. |
study | Review history, scheduling state, queue counts and daily limits. | Record and undo reviews, change daily limits, suspend and bury cards. |
Two tools straddle groups. Reading a rendered card — its front, its back, its learning state — needs notes:read and study:read together, because a card is note content plus scheduling state. Granting only one of them leaves list_cards and get_card unavailable.
What a write grant can destroy
Write is not only "can add things". Every group's write level includes deletion, and deletion in a notebase cascades.
| Granting | Worst case |
|---|---|
notes:write | A note is deleted permanently, along with every card generated from it and those cards' review records. |
notebases:write | A whole notebase is deleted permanently — its fields, all its notes, its templates, its cards and its entire review history. |
card_templates:write | A template is deleted, and with it every card it generated and their review records. The source notes survive. |
study:write | A review is recorded that you did not do. FSRS takes it as real, so the card's stability, difficulty and next due date all move. |
None of this is reversible from Read Frog. undo_review rolls back the latest review of one card, but there is no undo for a deleted note, field, template or notebase.
Grant read first. Read-only access already covers looking things up, planning what to review, and reporting on your progress — and it cannot lose anything. Raise a group to write only when you have a specific recipe that needs it, and read what your assistant proposes before approving a deletion.
Adding permissions later
A grant only ever contains what a particular authorization request asked for, at the level you chose for it. If a tool fails because the connection lacks a permission, the client is told which one it needs; many clients then send you back through consent on their own, and some have to be reconnected by hand before they will ask again.
Going the other way works too: authorize again and lower a group. The consent page can only lower the groups the new request mentions, so a grant the client stopped asking about stays as it was. To clear everything at once, revoke the connection.
Manage and revoke
The MCP page lists every connected client with the name it registered, its application identifier, when you connected it, when it last authorized, and the permissions it currently holds.
Revoke deletes that client's permissions and invalidates its access immediately. Its refresh token goes with the grant, so the next time it tries to reconnect it lands back on the consent page, where you decide again. You can reconnect the same client later; a new grant starts from nothing.
Revoking does not reach backwards. Content a service already received stays with that service — see the Privacy Policy for how Read Frog handles data. Removing the connector inside the assistant is worth doing too, but on its own it does not revoke the grant on Read Frog's side.
When something does not work
- A tool says it needs more permissions. Authorize that group, or leave it denied and stay within the operations you allowed. Reconnect the client if it does not re-ask by itself.
- Everything connects but every tool refuses with a plan message. The account is not on Ultra.
- New tools do not appear. Refresh or reconnect the connector; clients cache the tool list.
- A write fails saying the note changed. Edits are guarded against stale data. Ask the assistant to read the note again and retry.
- A review fails asking for a time zone. Recording a review decides which study day it belongs to, so it will not guess. Tell the assistant your IANA time zone, or open the Read Frog web app once while signed in so your account stores it.
If you are stuck, contact us.
