LearnWorlds

io.github.ohneben/learnworlds-mcp

All 94 LearnWorlds LMS API endpoints as safety-categorized MCP tools (read/write/destructive).

Connect this server

Add this to your MCP client config — claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor).Suits: Claude Desktop · Cursor.

{
  "mcpServers": {
    "learnworlds-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/ohneben/learnworlds-mcp:1.1.2"
      ],
      "env": {
        "MCP_TRANSPORT": "<your MCP_TRANSPORT>",
        "LEARNWORLDS_BASE_URL": "<your LEARNWORLDS_BASE_URL>",
        "LEARNWORLDS_API_TOKEN": "<your LEARNWORLDS_API_TOKEN>",
        "LEARNWORLDS_CLIENT_ID": "<your LEARNWORLDS_CLIENT_ID>",
        "MCP_AUTH_TOKEN": "<your MCP_AUTH_TOKEN>"
      }
    }
  }
}
Environment variables
  • MCP_TRANSPORTrequiredServer transport. Set to 'stdio' for local MCP clients; the image otherwise starts the Streamable HTTP transport.
  • LEARNWORLDS_BASE_URLrequiredBase URL of your LearnWorlds school's API, e.g. https://<your-school>.learnworlds.com/admin/api
  • LEARNWORLDS_API_TOKENrequiredsecretBearer access token (LearnWorlds admin -> Settings -> Integrations -> Developers).
  • LEARNWORLDS_CLIENT_IDrequiredsecretYour school's Client ID, sent as the Lw-Client header.
  • MCP_AUTH_TOKENsecretOnly for MCP_TRANSPORT=http: bearer token required on /mcp. Without it a non-loopback bind refuses to start.

A starting point — check the repository for exact arguments and setup. Restart your client after editing the config.

Category
Developer Tools
Version
1.1.2
Registry
active
Published
9/15/2026
Browse all Developer Tools →

Add the badge to your site

Show visitors that LearnWorlds is listed here — it’s also the link we check for a free listing.

LearnWorlds — listed on Serverdex

HTML — for your website

<a href="https://serverdex.io/server/io-github-ohneben-learnworlds-mcp?utm_source=badge"><img src="https://serverdex.io/brand/badge.svg" alt="LearnWorlds — listed on Serverdex" width="123" height="40" loading="lazy"></a>

Recommended. A dofollow link from your own domain is the one that counts for search engines, and it's the link we check for a free listing.

Markdown — for your README

[![LearnWorlds — listed on Serverdex](https://serverdex.io/brand/badge.svg)](https://serverdex.io/server/io-github-ohneben-learnworlds-mcp?utm_source=badge)

Nice for visibility, but GitHub marks README links nofollow, so it doesn't pass authority. Use the HTML badge on your site as well.