Install
Connect Claude Code, Claude Desktop, or Cursor to your LearnOS workspace via the hosted MCP endpoint.
LearnOS exposes a hosted Model Context Protocol
server at https://learnosapp.com/mcp. MCP-capable clients authenticate with
OAuth 2.1 (browser consent against your LearnOS account) or, as a fallback,
a personal access token in the Authorization header.
1. Add the server (OAuth — recommended)
Claude Code / Cursor
{
"mcpServers": {
"learnos": {
"type": "http",
"url": "https://learnosapp.com/mcp"
}
}
}On first connect the client discovers LearnOS’s protected-resource metadata,
registers (or reuses) an OAuth client with Supabase Auth, and opens a browser
consent page at learnosapp.com/oauth/consent. Approve once; subsequent calls
use the cached access token.
Claude Code one-liner:
claude mcp add --transport http learnos https://learnosapp.com/mcp2. Personal access token fallback
For CI or clients that can’t complete a browser flow, create a token from learnosapp.com: Settings → Personal access tokens → Create token. Copy it (shown once).
{
"mcpServers": {
"learnos": {
"url": "https://learnosapp.com/mcp",
"headers": {
"Authorization": "Bearer los_..."
}
}
}
}3. Verify
In a fresh chat, ask the model to list your courses (list_courses). It should
return the same list you see at learnosapp.com.
Tool calls are recorded in your usage log; revoke PATs or OAuth grants from
Settings when needed.
Security notes
- OAuth access tokens are short-lived Supabase JWTs verified via JWKS on every
/mcprequest. PATs are hashed (SHA-256) at rest. - Use the exact host
https://learnosapp.com/mcp— redirects strip theAuthorizationheader and break MCP. - All MCP calls are recorded with source, success, latency, and tool name.
MCP overview
A hosted MCP server exposing your LearnOS workspace to Claude and other MCP clients.
Tools
list_courses, search_lessons, list_lessons, get_lesson, get_chunk, create_course, add_lesson, add_lessons_from_markdown, add_course_from_directory, create_flashcard, append_note, generate_presentation, create_presentation, update_presentation, replace_presentation_slides, add_presentation_slide, update_presentation_slide, get_presentation, list_presentations.