addrbookFor publishers
← The evidence ledger

Evidence row 45088

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.ohneben/learnworlds-mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
d29be04d60cb8159c89fadd903fd531c57fd32181a4924170a3f6c6ef7784868
Leaf
0x23814fab67224c728dd59e09b58275ecedf1e2d9c83b7fba38804ac45dd6efdb

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/ohneben/Learnworlds-MCP"
    ]
  ],
  "name": "LearnWorlds",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-15T12:00:29.374994Z",
        "status": "active",
        "statusChangedAt": "2026-09-15T12:00:29.374994Z",
        "updatedAt": "2026-09-15T12:00:29.374994Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "All 94 LearnWorlds LMS API endpoints as safety-categorized MCP tools (read/write/destructive).",
      "name": "io.github.ohneben/learnworlds-mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "choices": [
                "stdio",
                "http"
              ],
              "default": "stdio",
              "description": "Server transport. Set to 'stdio' for local MCP clients; the image otherwise starts the Streamable HTTP transport.",
              "isRequired": true,
              "name": "MCP_TRANSPORT"
            },
            {
              "description": "Base URL of your LearnWorlds school's API, e.g. https://<your-school>.learnworlds.com/admin/api",
              "isRequired": true,
              "name": "LEARNWORLDS_BASE_URL"
            },
            {
              "description": "Bearer access token (LearnWorlds admin -> Settings -> Integrations -> Developers).",
              "isRequired": true,
              "isSecret": true,
              "name": "LEARNWORLDS_API_TOKEN"
            },
            {
              "description": "Your school's Client ID, sent as the Lw-Client header.",
              "isRequired": true,
              "isSecret": true,
              "name": "LEARNWORLDS_CLIENT_ID"
            },
            {
              "description": "Only for MCP_TRANSPORT=http: bearer token required on /mcp. Without it a non-loopback bind refuses to start.",
              "isSecret": true,
              "name": "MCP_AUTH_TOKEN"
            }
          ],
          "identifier": "ghcr.io/ohneben/learnworlds-mcp:1.1.2",
          "registryType": "oci",
          "runtimeHint": "docker",
          "transport": {
            "type": "stdio"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/ohneben/Learnworlds-MCP"
      },
      "title": "LearnWorlds",
      "version": "1.1.2",
      "websiteUrl": "https://github.com/ohneben/Learnworlds-MCP#readme"
    }
  },
  "source": "mcp_registry",
  "summary": "All 94 LearnWorlds LMS API endpoints as safety-categorized MCP tools (read/write/destructive)."
}

What the leaf hashes

{"body":"d29be04d60cb8159c89fadd903fd531c57fd32181a4924170a3f6c6ef7784868","id":45088,"kind":"listing","method":"baseline/1","observed_us":1793025405955599,"prev":null,"subject":"mcp_registry:io.github.ohneben/learnworlds-mcp","subject_kind":"source_record"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON