Install LearnWorlds in Goose

What you need first

  • Goose, installed.
  • Docker, which gives the docker command the server starts with.
  • Your own values for YOUR_MCP_TRANSPORT,YOUR_LEARNWORLDS_BASE_URL,YOUR_LEARNWORLDS_API_TOKEN,YOUR_LEARNWORLDS_CLIENT_ID.

Steps

  1. Open ~/.config/goose/config.yaml. On Windows it is %APPDATA%\Block\goose\config\config.yaml.
  2. Add this entry. If the file already has extensions, add only the entry inside it.
extensions:
  "learnworlds-mcp":
    type: stdio
    name: "learnworlds-mcp"
    enabled: true
    cmd: "docker"
    args: ["run", "-i", "--rm", "-e", "MCP_TRANSPORT", "-e", "LEARNWORLDS_BASE_URL", "-e", "LEARNWORLDS_API_TOKEN", "-e", "LEARNWORLDS_CLIENT_ID", "ghcr.io/ohneben/learnworlds-mcp:1.1.2"]
    env_keys: []
    envs: { "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" }
    timeout: 300
  1. Replace YOUR_MCP_TRANSPORT,YOUR_LEARNWORLDS_BASE_URL,YOUR_LEARNWORLDS_API_TOKEN,YOUR_LEARNWORLDS_CLIENT_ID with your own values.
  2. Save the file and start a new Goose session.

Check it worked

Ask Goose: List the tools of learnworlds-mcp.

If it does not start

Cannot connect to the Docker daemon
Docker is not running. Start it, then restart Goose.
The server starts, but its tools fail
A YOUR_… placeholder is still in the config, or its value is wrong.
Nothing changes after a restart
The file is not valid YAML any more. Check that the entry is indented like the lines around it.

Back to LearnWorlds