All 94 LearnWorlds LMS API endpoints as safety-categorized MCP tools (read/write/destructive).
Connect Runs on your machine
claude mcp add learnworlds-mcp -e MCP_TRANSPORT=<MCP_TRANSPORT> -e LEARNWORLDS_BASE_URL=<LEARNWORLDS_BASE_URL> -e LEARNWORLDS_API_TOKEN=<LEARNWORLDS_API_TOKEN> -e LEARNWORLDS_CLIENT_ID=<LEARNWORLDS_CLIENT_ID> -e MCP_AUTH_TOKEN=<MCP_AUTH_TOKEN> -- docker run -i --rm ghcr.io/ohneben/learnworlds-mcp:1.1.2
{
"mcpServers": {
"learnworlds-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ohneben/learnworlds-mcp:1.1.2"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"LEARNWORLDS_BASE_URL": "<LEARNWORLDS_BASE_URL>",
"LEARNWORLDS_API_TOKEN": "<LEARNWORLDS_API_TOKEN>",
"LEARNWORLDS_CLIENT_ID": "<LEARNWORLDS_CLIENT_ID>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>"
}
}
}
}
{
"mcpServers": {
"learnworlds-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ohneben/learnworlds-mcp:1.1.2"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"LEARNWORLDS_BASE_URL": "<LEARNWORLDS_BASE_URL>",
"LEARNWORLDS_API_TOKEN": "<LEARNWORLDS_API_TOKEN>",
"LEARNWORLDS_CLIENT_ID": "<LEARNWORLDS_CLIENT_ID>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>"
}
}
}
}
{
"servers": {
"learnworlds-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ohneben/learnworlds-mcp:1.1.2"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"LEARNWORLDS_BASE_URL": "<LEARNWORLDS_BASE_URL>",
"LEARNWORLDS_API_TOKEN": "<LEARNWORLDS_API_TOKEN>",
"LEARNWORLDS_CLIENT_ID": "<LEARNWORLDS_CLIENT_ID>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
MCP_TRANSPORTRequired | Server transport. Set to 'stdio' for local MCP clients; the image otherwise starts the Streamable HTTP transport. |
LEARNWORLDS_BASE_URLRequired | Base URL of your LearnWorlds school's API, e.g. https://<your-school>.learnworlds.com/admin/api |
LEARNWORLDS_API_TOKENRequired, secret | Bearer access token (LearnWorlds admin -> Settings -> Integrations -> Developers). |
LEARNWORLDS_CLIENT_IDRequired, secret | Your school's Client ID, sent as the Lw-Client header. |
MCP_AUTH_TOKENOptional, secret | Only for MCP_TRANSPORT=http: bearer token required on /mcp. Without it a non-loopback bind refuses to start. |
Details
| Package | ghcr.io/ohneben/learnworlds-mcp:1.1.2 (OCI, stdio) |
| First published | 15 Sep 2026 |
| Last updated | 15 Sep 2026 |
| Registry name | io.github.ohneben/learnworlds-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
