MCP assistants
Cursor
Cursor connects to Lymi as a remote MCP server and signs in with OAuth. Like Gemini CLI, it needs a client ID in its config, because it cannot identify itself the way Lymi asks.
https://my.lymi.app/mcpOnce connected, ask the agent to add the cards from a lesson, list what is due, or find a card. What it can and cannot do is on Connect an assistant.
Cursor
Add the server
Open
~/.cursor/mcp.json, or Cursor Settings → MCP → Add, and add Lymi undermcpServers. If the file already has servers, add thelymientry beside them.~/.cursor/mcp.json{ "mcpServers": { "lymi": { "url": "https://my.lymi.app/mcp", "auth": { "CLIENT_ID": "https://lymi.app/oauth/cursor.json", "scopes": ["read", "write", "offline_access"] } } } }Sign in
In Cursor Settings → MCP, press Connect beside Lymi. Your browser opens on Lymi. Sign in with the account your Lymi uses, then approve the connection. Untick write if you want Cursor to read your decks and nothing more.
Check the tools
Lymi shows a green dot in the MCP settings, with its tools listed under it.
To disconnect for good, remove the lymi entry and revoke the grant under Settings → Apps in Lymi.
Why the client ID is on lymi.app
Cursor registers itself dynamically with a server that allows it, and Lymi keeps that switched off. So Lymi publishes a Client ID Metadata Document for Cursor, at https://lymi.app/oauth/cursor.json, and the CLIENT_ID line points Cursor at it. The document allows two redirects: Cursor's own web callback, and http://localhost:8787/callback for the desktop app. Nothing connects until you approve it.
When it does not connect
- Port 8787 is in use. The desktop app listens there during sign-in. Quit whatever holds the port and press Connect again.
- Sign-in asks you to register a client. The
authblock is missing or misspelled. Copy it again from the step above. - The tools do not appear. Restart Cursor after editing
mcp.jsonby hand.