# Connect an AI app

Learnt has an MCP server, so Claude and Claude Code can work in your workspace directly; both are tested. Other AI apps that accept a custom header, such as Cursor and VS Code, use the same setup, but Learnt hasn't tested them. Connect once, then ask in plain words: "add Ridgeline Realty as a client until June 2027", "who at Ridgeline hasn't finished?", "turn this document into modules".

- Address: `https://learnt.tech/mcp` (exactly this, without www or app)
- Sign-in: a workspace API key, sent as the header `Authorization: Bearer lt_live_…`
- Transport: Streamable HTTP, one JSON-RPC message per request. Requests need `Accept: application/json, text/event-stream`, which MCP apps send for you.

It runs the same checks as the Course Editor and the [API](https://learnt.tech/docs/api): the key only ever reaches its own workspace, invitations count against your daily limit, and refusals say how to fix them.

## Get a key

In the Course Editor, open **Developer access** and create a key. Choose **Only read** if the app should only read and report, for example on progress. A read-only key is offered only the reading tools. You can revoke a key there at any time, and it stops working on its next request.

Never put the key in the address: requests like that are refused, because addresses end up in logs. If that happens, revoke the key and create a new one.

## Claude (claude.ai and the Claude apps)

1. Open **Settings → Connectors** and choose **Add custom connector**. On a Team or Enterprise plan, an owner adds it in the organization's settings.
2. Name it Learnt and enter `https://learnt.tech/mcp` as the address.
3. Set sign-in to **No sign-in**. Under **Request headers**, add the header `authorization` with the value `Bearer lt_live_…`, including the word Bearer.
4. Save, then turn the Learnt connector on in a chat. Under **Tool permissions** you can choose, tool by tool, whether Claude asks before using it.

## Claude Code

```
claude mcp add --transport http learnt https://learnt.tech/mcp --header "Authorization: Bearer $LEARNT_API_KEY"
```

Set `LEARNT_API_KEY` in your environment first. On Windows PowerShell use `$env:LEARNT_API_KEY` in place of `$LEARNT_API_KEY`. For Claude Code there's also the [agent skill](https://learnt.tech/docs/agent-skill), which adds the build order and a helper for pictures and folders of files.

## Cursor

In `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "learnt": {
      "url": "https://learnt.tech/mcp",
      "headers": { "Authorization": "Bearer lt_live_…" }
    }
  }
}
```

## VS Code

In `.vscode/mcp.json`. VS Code asks for the key and stores it securely, so it isn't written in the file:

```json
{
  "inputs": [{ "type": "promptString", "id": "learnt-key", "description": "Learnt API key", "password": true }],
  "servers": {
    "learnt": {
      "type": "http",
      "url": "https://learnt.tech/mcp",
      "headers": { "Authorization": "Bearer ${input:learnt-key}" }
    }
  }
}
```

## What it can do

- **Course and modules:** read and change the course, publish it, add modules from markdown or a whole markdown document, edit, reorder and delete modules.
- **Branding:** name, color, support email, certificate signer, and the look of learner pages (header, page background, fonts). Pictures are uploaded in the Course Editor.
- **Client organizations:** list, add, rename, set or clear access end dates, delete.
- **Learners:** list (with whether each still has access and when they were last reminded), invite, remove, restore, resend an invitation, remind one now, and see today's invitation limit.
- **Reminders:** see whether automatic learner reminders are on, and switch them on or off.
- **Questions:** list the questions learners asked from module pages (with their company and the module), mark one answered, and switch questions on or off. Replies stay in your email.
- **Progress:** per learner, for everyone or one client organization, also as CSV.
- **Export:** the whole course as one markdown file, the same as **Download course** in the Course Editor.

Tools that delete or overwrite something are marked as such, and most apps ask you before running them. Invitation and reminder tools also refuse to send until the app says you've agreed (`user_confirmed`), so the app has to show you who will get email first. How much an app asks first is up to the app, so check its settings if you want it to ask every time.

## Not yet

- **Pictures:** upload logos and module images in the Course Editor, or with the agent skill's helper.
- **ChatGPT:** its connectors need OAuth sign-in, which Learnt doesn't offer yet.
- **App directories:** Learnt isn't listed in Claude's or ChatGPT's connector directories yet. That also waits for OAuth.
