Model Context Protocol
The LearnOS MCP server
LearnOS is a learning platform with a hosted MCP server. Connect Claude, Cursor, or any MCP client to search your courses, read lessons with section-level citations, and create flashcards and notes.
- Endpoint
https://learnosapp.com/mcp- Transport
- Streamable HTTP (MCP 2025-11-25)
- Auth
- OAuth 2.1 (browser sign-in)
Connect your client
On first connect your client discovers the OAuth metadata, opens a browser consent page, and caches the token. Sign in once; your client refreshes it from then on.
Claude Code
claude mcp add --transport http learnos https://learnosapp.com/mcpCursor and other JSON-config clients
{
"mcpServers": {
"learnos": {
"type": "http",
"url": "https://learnosapp.com/mcp"
}
}
}Answers that cite the exact section
Lessons are indexed as heading-level sections with hybrid semantic + keyword retrieval. Each search_lessons hit carries enough to cite and to open the source:
### [1] <lesson title> — <heading path>
course: <course title> · lesson_id: <uuid> · anchor: <heading-anchor>
url: https://learnosapp.com/lessons/<uuid>#<heading-anchor>The server never writes the answer — your client’s model does, grounded in the sections it retrieved.
Tools
21 tools, each annotated as read-only or not so clients can ask before a write.
Read
list_courses- List every course in the knowledge base with its id and completion progress.
search_lessons- Hybrid semantic + keyword search across lesson content.
list_lessons- List lesson titles within a course (optionally filtered to one module).
get_lesson- Fetch the full markdown body of one lesson by its lesson_id (from search_lessons or list_lessons).
get_chunk- Fetch one lesson section (chunk) by lesson_id + anchor, as returned by search_lessons.
get_audio_overview- Read one audio_overview row by id — status, scope, duration, script_md (when status=ready).
get_audio_overview_url- Fetch a fresh short-TTL signed URL for an audio_overview's mp3.
get_presentation- Read one presentation by id — metadata plus ordered slides (title, body_md, layout, speaker notes).
list_presentations- List presentations.
get_transcript- Fetch a video lesson's raw timestamped transcript (one [h:mm:ss] line per segment) — the source for authoring.
get_course_progress- Summarize the user's progress and recent activity in a specific course: which lesson to resume on, the single most recent activity (note / highlight / completion / chat citation / flashcard review / generated review), a grouped recent_summary for narrative phrasing, and completion counts.
get_recent_activity- List the user's most recent learning activity (notes, highlights, completions, chat citations, flashcard reviews, review generations) in time order, newest first.
Study and create
create_flashcard- Create a flashcard (front question + back answer) for a lesson.
append_note- Append a timestamped markdown note entry to a lesson's notes.
create_audio_overview- Generate a ~5-minute single-voice spoken overview (mp3) for a lesson, module, or course.
generate_presentation- Generate a short slide deck (6–12 slides) from a course, module, or lesson.
create_presentation- Create a presentation from an explicit slides array (agent-authored).
update_presentation- Update title and/or purpose on a presentation you own.
replace_presentation_slides- Replace ALL slides on a presentation you own with a new ordered array.
add_presentation_slide- Append (or insert at position) one slide on a presentation you own.
update_presentation_slide- Patch one slide by 0-based position on a presentation you own.
Questions
Is there a learning platform with an MCP server?
Yes. LearnOS is a learning platform with a hosted Model Context Protocol server at https://learnosapp.com/mcp. Any MCP client that supports Streamable HTTP and OAuth can connect and search, read, and study your LearnOS courses as tools.
How do I let Claude search my course materials through MCP?
Add https://learnosapp.com/mcp as a remote MCP server. In Claude Code run: claude mcp add --transport http learnos https://learnosapp.com/mcp. Approve access in the browser once, then ask Claude about your courses; it calls search_lessons and get_lesson to answer from your material.
How does LearnOS cite the exact lesson an answer came from?
Lessons are split into heading-level sections. Every search result names the course, lesson, heading, a lesson_id and an anchor, plus a link to that exact section, so your AI client can cite the section it used and you can open it.
How is this different from NotebookLM or Claude Projects?
NotebookLM and Claude Projects keep your sources inside their own app. LearnOS keeps your courses in one library and exposes it over MCP, so the same courses, notes, and flashcards work from Claude, Cursor, or any other MCP client, and in the LearnOS web reader.
Is the LearnOS MCP server free?
Yes. Connecting is free. Searching, reading, notes, and flashcards run no AI on LearnOS's side: your client's model writes the answers. Generating slide decks and audio overviews does run AI on LearnOS and counts toward its free usage limits.
What can the MCP server access?
Only your LearnOS account: catalog courses you can see, your own courses, and your notes, flashcards, and progress. You sign in with OAuth 2.1, so each request carries your own short-lived session token and Postgres row-level security applies exactly as it does in the web app. Every call is recorded in your usage log, and you can revoke access from Settings.
