[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# LearnWorlds MCP server: Let your AI agent run the admin work in LearnWorlds.

> LearnWorlds has a REST API (v2) and webhooks, but they come with the Learning Center plan and above, $249 a month billed annually or $299 monthly. It has no official MCP server (checked 6 Nov 2026). Cotlet runs 11 LearnWorlds tools hosted, 6 of them writes, over MCP for agents and REST for scripts.

Your AI agent enrolls new learners, tags graduates, grades the Review Center queue and nudges stalled learners, with your OK before anything reaches a learner. Sign in to your school's admin once in your own Cloud Browser. No API plan to buy and no code to keep running.

- Free 7-day trial, no card
- Unofficial, not affiliated with LearnWorlds
- Page: https://cotlet.dev/integrations/learnworlds-api-mcp-server

## What can your AI agent do in LearnWorlds?

- Enroll a cohort in a course
- Report who finished and got a certificate
- Tag learners who completed a course
- Draft grades for the Review Center queue
- Message learners who stalled
- Suspend leavers from a list

## Does LearnWorlds have an MCP server or an API?

- The API reads and writes: it creates users, enrolls them in products, updates tags, suspends users and reads enrollments. You request keys under Settings > Developers > API, tokens expire, and v1 is no longer supported.
- Webhooks send events such as registrations and enrollments, and Zapier has an official LearnWorlds app with triggers like Assessment Completed and actions like Enroll User in Product.
- A community MCP server on GitHub, ohneben/Learnworlds-MCP (MIT, 2 stars, last commit 15 Sep 2026), turns all 94 API endpoints into tools. You host it and give it your API token.

| What you need | LearnWorlds API | Zapier | Cotlet |
|---|---|---|---|
| List users and course progress | Yes, with your code | Triggers, no lists | Yes, as data |
| Enroll and unenroll users | Yes, with your code | Yes, as actions | Yes, after your OK |
| Add or remove tags | Yes, with your code | Yes, as actions | Yes |
| Suspend or unsuspend a user | Yes, with your code | No action | Yes, after your OK |
| Grade Review Center assessments | Yes, with your code | Trigger only | Yes, after your OK |
| Send a direct message to a user | No endpoint | No | Yes, after your OK |
| What it takes to start | Learning Center plan and a developer | A Zap per job | Your admin login |

Checked 6 Nov 2026. Sources: [LearnWorlds Help: LearnWorlds API documentation](https://support.learnworlds.com/support/solutions/articles/12000017230-learnworlds-api-documentation), [LearnWorlds Help: How to request your API keys and access tokens](https://support.learnworlds.com/support/solutions/articles/12000080177-how-to-request-your-api-keys-and-access-tokens), [LearnWorlds Help: How to monitor, segment and export user progress](https://support.learnworlds.com/support/solutions/articles/12000076855-how-to-monitor-segment-and-export-user-progress), [LearnWorlds pricing](https://www.learnworlds.com/pricing/), [Zapier: LearnWorlds integrations](https://zapier.com/apps/learnworlds/integrations), [LearnWorlds: Extended API and webhooks](https://www.learnworlds.com/product/updates/extended-elearning-api/), [GitHub: ohneben/Learnworlds-MCP](https://github.com/ohneben/Learnworlds-MCP)

## How does the LearnWorlds MCP server work?

1. **Sign in to LearnWorlds.** Once, in a browser we host for you.
2. **Connect your AI agent.** Add one address to its settings.
3. **Hand it the chores.** It prepares the work, you OK each change.

We never keep your LearnWorlds password, and no enrollment, message, suspension or grade reaches a learner until you approve it.

## How to connect LearnWorlds to your AI agent

1. **Enable LearnWorlds for agents.** Create a Cotlet account, sign in to your school's admin in its Cloud Browser as the admin the agent should act as, then press Enable for agents.
2. **Add the Cotlet address.** Enter https://cotlet.dev/mcp/v1 in your agent as a remote MCP server or custom connector.
3. **Approve the link.** Chat apps ask you to sign in to Cotlet once. Editors, n8n and scripts send an API key from the console.

`https://cotlet.dev/mcp/v1` carries LearnWorlds next to your other apps. The tools act with the admin role of the user you sign in as, so pick an admin who can reach Users, Courses and the Review Center. Refresh the connector after enabling LearnWorlds so the tools load.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-learnworlds \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-learnworlds": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet-learnworlds]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: learnworlds_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: learnworlds_write
```

## All 11 LearnWorlds MCP tools

### Users and tags

Suspended users sit on their own list and show up only when you ask. Tags are created when a tag does not exist yet.

- **List users** (`list_users`, read): Users of the school with email, tags and sign-up date, from Users > All users.
- **Get user** (`get_user`, read): One user card: details, tags and the products the user is enrolled in with progress.
- **Update tags** (`update_tags`, write): Add or remove tags on users.
- **Suspend or unsuspend user** (`set_user_suspended`, write, asks first): Suspend a user or lift a suspension.

### Courses and enrollments

Courses only: bundles and subscription plans are enrolled from the user card. A user who is already in comes back as skipped.

- **List courses** (`list_courses`, read): Courses of the school with their ID, status and number of enrolled users.
- **List course users** (`list_course_users`, read): Learners of one course with completion date, units completed, certificate date and score.
- **Enroll users** (`enroll_users`, write, asks first): Enroll users in one product, with an optional expiration date.
- **Unenroll users** (`unenroll_users`, write, asks first): Remove users from one course.

### Review Center and messages

Open-ended answers wait in the Unreviewed tab for a manual grade. Feedback is text only, and a message goes to one user per call.

- **List pending reviews** (`list_pending_reviews`, read): Assessments waiting for a grade in Courses > Review Center.
- **Grade assessment** (`grade_assessment`, write, asks first): Give a score and written feedback on one assessment in the Review Center.
- **Send message** (`send_message`, write, asks first): Send a direct message to one user.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/learnworlds-api-mcp-server#tools

## Who can see my LearnWorlds session, and how do I revoke it?

- **What we store.** Your signed-in LearnWorlds browser profile, AES-256-GCM encrypted, in Finland. No password.
- **What your agent gets.** The 11 LearnWorlds tools. Never the session cookie.
- **What the session sees.** What your admin role sees: users, tags, courses, enrollments and the Review Center.
- **What no tool touches.** Payments, plans, school design, course content and deleting users.
- **If LearnWorlds signs you out.** You sign in again in the Cloud Browser. We never type the password.
- **How to cut access.** Disable for agents, reset the browser, or remove that admin in your school.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). Cotlet has no SOC 2 report or third-party pentest yet.

## Which LearnWorlds plan do I need?

| Plan | Price | API and webhooks |
|---|---|---|
| Starter | $49 a month, $44 billed annually | No |
| Pro Trainer | $99 a month, $79 billed annually | No |
| Learning Center | $299 a month, $249 billed annually | Yes |
| Corporate | Custom | Yes |

- Cotlet signs in to your school admin, so it does not use Settings > Developers > API
- Your plan is billed by LearnWorlds as before
- Starter charges $5 per course enrollment; Cotlet adds none
- The tools do what your admin dashboard offers on your plan

## What happens when LearnWorlds changes?

- **12 h** between tests of the LearnWorlds reads
- **24 h** between tests of writes a learner would notice
- **$0** for a call to a LearnWorlds tool paused for repair

LearnWorlds released a new platform version in 2025 and kept its API at v2, while the admin screens changed with it. When a menu or a field changes, the fix happens on our side and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) checks the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Reads the queue.** list_pending_reviews: learner, course, assessment, submitted date.
2. **Drafts from your rubric.** A score and feedback for each submission.
3. **Waits for your OK.** Each grade shows up in your Cotlet console first.
4. **Reports the result.** Reviewed, skipped and anything already graded.

| Action | Undo |
|---|---|
| Enroll users | Unenroll them; the learner had access in between |
| Unenroll users | Enroll them again |
| Update tags | One call with the opposite lists |
| Suspend a user | Call again with suspended false |
| Send a message | No, the user has it |
| Grade an assessment | No tool call; the learner sees it at once |

5 of 11 tools ask first: enroll_users, unenroll_users, send_message, set_user_suspended, grade_assessment. Each one gives a learner access, takes it away, mails them or shows them a grade. Tag changes reach nobody directly, and the 5 reads run at once. Switch the wait off per tool for a scheduled run.

> Suspending a user does not pause or cancel their active payments. Cancel those where you take payments.

MCP call:

```
{
  "name": "enroll_users",
  "arguments": {
    "course_id": "photography-basics",
    "user_ids": [
      "5f3a9c1e2b7d4a0011c8e601",
      "5f3a9c1e2b7d4a0011c8e602"
    ],
    "expires": "2027-05-01"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/learnworlds/courses/photography-basics/users/enroll \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_ids":["5f3a9c1e2b7d4a0011c8e601","5f3a9c1e2b7d4a0011c8e602"],"expires":"2027-05-01"}'
```

Response:

```
{
  "product": "Photography Basics",
  "enrolled": [
    {
      "user_id": "5f3a9c1e2b7d4a0011c8e601",
      "name": "Lena Fischer"
    },
    {
      "user_id": "5f3a9c1e2b7d4a0011c8e602",
      "name": "Marco Bianchi"
    }
  ],
  "skipped": []
}
```

A script or a nightly job calls the same tools over REST at `/api/v1/learnworlds`, with one key and one price, and no LearnWorlds API keys of your own. A call LearnWorlds refuses, such as a feature your admin role lacks, costs nothing. The tools table gives the REST path of each tool.

## How much does the LearnWorlds MCP server cost?

**About $20 a month** for a school enrolling about 40 learners a month, 3,420 credits. Your LearnWorlds plan is billed by LearnWorlds as before.

| Job | Calls | Credits |
|---|---|---|
| Enroll the week's sign-ups | 6 × 4 | 240 |
| Friday completion report | 4 × 4 | 160 |
| Tag graduates, each workday | 4 × 22 | 880 |
| Grade the Review Center queue | 9 × 4 | 360 |
| Message stalled learners | 7 × 4 | 280 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 3,420 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- No Learning Center upgrade for the API

LearnWorlds publishes no usage per school. Its own cost guide uses a creator enrolling 50 learners a month, so the month is our example of 40. Plans cap active learners at 1,000 on Starter and 2,000 above it. Dollars at the $29 pack rate.

## LearnWorlds MCP server on GitHub, Zapier or hosted: which to use

| Option | What it does | Where it stops |
|---|---|---|
| [LearnWorlds API v2](https://www.learnworlds.com/product/integrations/learnworlds-api/) | Official REST and webhooks: users, courses, enrollments, tags, suspensions, assessment reviews. | Learning Center plan and above, and your code. No endpoint to message a user. |
| [ohneben/Learnworlds-MCP](https://github.com/ohneben/Learnworlds-MCP) | Community MCP server on the API: all 94 endpoints as tools, stdio or Streamable HTTP, MIT, 2 stars. | You host it and keep the API token, so the API plan applies. Last commit 15 Sep 2026. |
| [Pipedream LearnWorlds MCP](https://mcp.pipedream.com/app/learnworlds) | Hosted MCP server at mcp.pipedream.net/v2. | You sign in to Pipedream to see its tools; we could not list them without an account. |
| [Zapier](https://zapier.com/apps/learnworlds/integrations) | Official app: instant triggers such as Assessment Completed and Course Completed, actions to enroll, unenroll, tag and create users. | Fixed steps. No list reads, suspend, grading or messages. Make has a help center article too. |

If your school is on the Learning Center plan and you have a developer, the API is official and covers nearly every job on this page. A community MCP server turns it into tools. When an admin wants an agent to run the enrollments, tags and grading today, without an API plan, keys or code, that is the part Cotlet covers.

## Who runs Cotlet

Take Group sp. z o.o. builds and runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), operating since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the LearnWorlds tools go to contact@cotlet.dev.

## LearnWorlds MCP server: questions

### How do I connect LearnWorlds to ChatGPT or Claude?

Sign up at cotlet.dev, log in to LearnWorlds once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your LearnWorlds account through Cotlet, in their phone apps too.

### What can ChatGPT do in LearnWorlds?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in LearnWorlds: enroll a list of learners in a course; weekly course completion report; tag learners who finished a course. You ask in plain words, and anything that reaches other people waits for your OK first.

### How do I get access?

Sign up free at https://cotlet.dev, open LearnWorlds under Integrations in the console and sign in to your school admin in its Cloud Browser. The trial starts with your first app, and no card is asked.

### Which LearnWorlds plan do I need for the API?

The Learning Center plan or higher. LearnWorlds' help center says the progress export through the API is available on Learning Center and higher plans, and its pricing page points to Learning Center for tools like API. Cotlet works in your own admin session, so it follows what your admin dashboard offers on your plan.

### Can the agent grade assessments?

Yes, the ones in Courses > Review Center. Open-ended questions (text, file upload, record video) wait there for a manual grade, and Submit Review shows the score and written feedback to the learner. Each grade asks for your OK by default.

### Does LearnWorlds have webhooks?

Yes, on the Learning Center plan and above. They send events such as registrations and enrollments to a URL you set under Settings > Developers > Webhooks. Cotlet does not receive them. Run your agent on a schedule instead, for example a daily list_course_users pass.

### Do I need the LearnWorlds API plan?

No. Cotlet works in your school admin with your own login, so there are no API keys to request. If you have the API, both can run side by side.

### Is the MCP server different from the REST API?

Only in how it is called. Both carry the same 11 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with LearnWorlds?

No. Cotlet is independent and not affiliated with LearnWorlds (CY) Ltd.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
