Integration Guide

Getting Started with MCP

Learners browse courses, read lessons, take quizzes and track progress from the AI assistant they already use, such as Claude or Cursor. Available on the Enterprise plan.

Set up in your assistant
No plugins required
Learners sign in with their LMSMore account

Quick start

Your MCP endpoint
https://api.lmsmore.com/api/mcp/t/<your-org>

Replace <your-org> at the end of the path with your organization's subdomain, the same one you use to log into the LMS web app. The host is the same for everyone.

Using Akadyo, our personal learning app?

Akadyo has its own MCP endpoint. Add it to Claude, ChatGPT, Claude Code, Cursor or VS Code and sign in with your Akadyo account; there is no token to copy. Open akadyo.app/connect for the address and each app's steps.

Connect your AI client

Choose your AI tool and follow the step-by-step instructions

Claude Code CLI

OAuth 2.1

A browser window opens. Sign in with your LMS email and password. Once you approve, you're connected.

1
Add the MCP server
claude mcp add --transport http lms https://api.lmsmore.com/api/mcp/t/<your-org>
2
Authenticate
/mcp auth
Pro Tip

Claude Code handles the OAuth sign-in for you. The token lasts one hour; run /mcp auth again when it expires.

Claude Desktop

OAuth 2.1

Claude Desktop finds your organization's sign-in page from the server URL. There is no token to copy.

1
Open Settings → Connectors → Add custom connector
2
Paste the server URL
https://api.lmsmore.com/api/mcp/t/<your-org>
3
Connect and sign in with your LMS email and password
Pro Tip

The token lasts one hour and is not refreshed. Connect and sign in again when it expires.

Cursor

OAuth 2.1

Cursor signs in through the same OAuth flow as Claude Code.

1
Open Cursor Settings → MCP Servers → Add new
2
Set the URL
https://api.lmsmore.com/api/mcp/t/<your-org>
3
Sign in with your LMS email and password in the browser window Cursor opens
Pro Tip

After adding the server, verify the connection by asking Cursor to browse your courses.

What you can do

10 tools covering the full learning lifecycle: just ask naturally

Browse Courses

See all available courses with enrollment status and progress

Try: "What courses are available?"

Manage Enrollments

Enroll in courses and check your active enrollments

Try: "Enroll me in the React course"

Read Lessons

Full lesson content rendered as clean, readable markdown

Try: "Show me lesson 3 of Advanced TypeScript"

Take Quizzes

Interactive Q&A with per-question feedback and scoring

Try: "Give me the quiz for this lesson"

Track Progress

Completion percentage, milestones, and next steps

Try: "How am I doing in the React course?"

Complete & Advance

Mark lessons done, finish modules, move on

Try: "Mark this lesson as complete"

Example conversation

A typical learning session, from browsing courses to completing a quiz

claude · ~/projects
> What courses are available?
Available Courses (3)
React Fundamentals: Beginner · 12 lessons · Not enrolled
Advanced TypeScript: Intermediate · 8 lessons · In Progress (37%)
Next.js Deep Dive: Advanced · 15 lessons · Not enrolled
> Continue where I left off in Advanced TypeScript
Fetching progress... Starting next incomplete lesson.
Resuming Module 2, Lesson 3: Conditional Types
TypeScript's conditional types let you express non-uniform type mappings...
> Got it. Any quiz for this lesson?
Question 1 of 3
What is the purpose of TypeScript's infer keyword?
A) Declare a variable type
B) Extract a type within a conditional type
C) Create a new interface
D) Import a type from another module
> B
Answer recorded. Moving to question 2...
> Submit my answers
Quiz Results: Score 3/3 (100%)
✓ Q1: Correct
✓ Q2: Correct
✓ Q3: Correct
> Mark it complete
Lesson marked as complete.
████████████████████50% (4/8 lessons)
✓ Lesson completed
🎯 Module 2 completed!
>

Tools reference

For power users: all 10 tools available through the MCP server

ToolDescriptionParameters
browse_coursesList all courses with enrollment statusNone
get_course_detailsFull course curriculum with modules and lessonsslug
get_my_enrollmentsYour enrolled courses with progressNone
enroll_in_courseEnroll in a coursecourseId
get_course_progressDetailed progress for a specific coursecourseId
start_lessonMark a lesson as startedcourseId, lessonId
get_lesson_contentRead the full lesson contentcourseSlug, lessonId
complete_lessonMark a lesson as completecourseId, lessonId
get_quizGet quiz questions (one at a time)courseSlug, lessonId, questionIndex?
submit_quiz_answerSubmit all quiz answers and get scoredcourseSlug, lessonId, answers

Typical Tool Flow

browse_coursesget_course_detailsenroll_in_coursestart_lessonget_lesson_contentget_quizsubmit_quiz_answercomplete_lessonget_course_progress

Authentication & security

OAuth 2.1 with PKCE

How Tokens Work

  • Claude Code CLI uses OAuth 2.1 with PKCE: the /mcp auth command handles the sign-in.
  • Claude Desktop & Cursor find your organization's sign-in page from the server URL and sign in the same way.
  • A token lasts one hour and is not refreshed. Sign in again when it expires.

Token Security

  • Raw tokens are never stored on the server, only SHA-256 hashes
  • OAuth tokens expire after one hour

Troubleshooting

Common issues and how to fix them

Tenant not found

Wrong URL: your organization's subdomain is missing or incorrect at the end of the path.

Fix

Verify the URL is https://api.lmsmore.com/api/mcp/t/<your-org>. Use the same subdomain you log into the web app with.

Unauthorized (401)

Your sign-in has expired. A token lasts one hour.

Fix

Sign in again. Claude Code: Run /mcp auth. Desktop/Cursor: Reconnect the server and sign in.

Course not found / Lesson not found

Using an incorrect slug or ID.

Fix

Use browse_courses first to get the correct slugs and IDs, then pass those to other tools.

Tools not showing up

MCP server isn't connected properly.

Fix

Claude Code: Run /mcp to check status. Desktop: Check Settings → Connectors. Cursor: Verify MCP Servers in settings.

Privacy & data access

  • All actions are performed as your user account: the AI assistant has exactly the same permissions you do
  • Conversations with your AI assistant are governed by that AI provider's privacy policy, not the LMS

Frequently asked questions

Do I need to install any plugins or extensions?

No. You add the server URL to your AI client's settings. No plugins, no browser extensions, no package installs.

Which AI clients are supported?

Any client that supports the MCP Streamable HTTP transport. We've tested with Claude Code CLI, Claude Desktop, and Cursor. More clients are adding MCP support regularly.

Is my data secure?

Every client signs in with OAuth 2.1 and PKCE. The server stores only a SHA-256 hash of each token, never the token itself.

Can other users see my progress?

No. The MCP server only returns data for the authenticated user. Your progress, enrollments, and quiz results are private to your account.

What happens to my quiz answers?

Quiz answers are scored by LMSMore, just like taking a quiz in the web app. Your scores are recorded and count toward your course progress and completion.

Can I use MCP on multiple devices?

Yes. Sign in from each device. Each sign-in gets its own token.

Need help getting started?

Our team is here to help you connect your AI assistant. Whether you have questions about setup, authentication, or using the tools, we've got you covered.

Ready when you are

Learn from your AI assistant.

Connect your AI assistant. The organization MCP server is on the Enterprise plan: talk to us to switch it on.