# LearnWorlds [Health: Active]

**Category:** 🎓 Education  
**Repository:** https://github.com/ohneben/Learnworlds-MCP  
**GitHub Stars:** 2  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/learnworlds

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

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "learnworlds": {
    "url": "http://localhost:8765/mcp"
  }
}
```

## Documentation

## What the LearnWorlds MCP server does

The LearnWorlds MCP server turns the LearnWorlds public API into 94 MCP tools. Coverage includes courses, users, enrollments, payments, subscriptions, coupons, certificates, seats, community features, and reporting. The tool set is generated from the API's OpenAPI specification rather than maintained as a hand-picked collection.

Each operation is marked according to its effect: read-only, write, or destructive. Tool descriptions identify side effects, authentication and rate-limit behavior, response shapes, error codes, and related alternatives. MCP annotations such as `readOnlyHint` and `destructiveHint` are also provided for hosts that use them when deciding whether to trust or confirm an action.

## How it works

An MCP client communicates with the server, which then makes HTTPS requests to the LearnWorlds API for the configured school. The server resolves OpenAPI references and handles recursive schemas while constructing the tools. It adds the LearnWorlds bearer token and `Lw-Client` header to outbound requests; credentials remain in the server environment and are not passed to the model.

The LearnWorlds MCP server supports stdio for local launchers and Streamable HTTP for a hosted process. Requests use client-side throttling to stay within LearnWorlds' stated limit of 30 requests per 10 seconds. Temporary `429` and `5xx` responses are retried with jittered exponential backoff, including the upstream `Retry-After` value when supplied. Per-request timeouts abort stalled calls before retry handling.

## Setup and configuration

A LearnWorlds school with API access is required. You need an access token, client ID, and the school's API base URL. Docker and Docker Compose support the documented quick-start deployment; Node.js 18 or newer is available for running from source with stdio.

The Docker Compose example binds the service to `127.0.0.1:8765`, exposes a health endpoint at `/health`, and serves MCP at `/mcp`. The project also provides a Docker health check, automatic restart configuration, and a published container image through GitHub Container Registry. When the HTTP service is reachable beyond loopback, set `MCP_AUTH_TOKEN`; the server refuses to start without it so the endpoint is not left unprotected. Client requests then use bearer-token authentication.

## Tools and capabilities

The generated tools can support tasks such as listing recent users, creating users and enrolling them in bundles, reviewing payments and revenue, finding incomplete course work, creating subscription coupons, and retrieving course completion analytics. These examples depend on the configured LearnWorlds account and its API access.

Replacing the bundled OpenAPI YAML and rebuilding allows later specification changes to generate updated tools without manually adding endpoint code. The server also exposes a health response that reports its status and tool count.

## Limitations and notes

This server requires LearnWorlds API credentials and does not replace the permissions or availability of the connected school account. Destructive and write operations can change live school data, so clients should use the safety labels and annotations where supported. HTTP deployments should be protected with `MCP_AUTH_TOKEN` when exposed beyond the local machine. The documented tool count is 94 and may change if the API specification is updated.

_Full upstream README: https://allmcps.com/mcp/learnworlds/readme_

