Lumen MCP Server

Self-hostable agentic-AI LMS: catalog, RAG tutor, FSRS reviews, AI authoring, ingest.

Local serverstdioPython

What is the Lumen MCP server?

Self-hostable agentic-AI LMS: catalog, RAG tutor, FSRS reviews, AI authoring, ingest. The lumen mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.

What it actually does

Custom multi-agent system, no LangChain · public evals with the weak scores kept in · live in production

Its toolset

Everything the assistant can do here goes through one of these:

  • Step — What happens
  • Define — A guided AI intake (capped at six turns) turns a fuzzy goal into a structured learning brief — the source goal is field-encrypted at rest
  • Build — The authoring orchestrator builds a private course from the brief — honest status, no half-finished partials, re-runnable, cancellable
  • Learn — A course-scoped RAG tutor answers with lesson citations and a visible tool-call trace
  • Share — Publishing stays private; public listing is an explicit share + admin moderation state machine with an immutable audit trail
  • Clone — Any listed course can be remixed into your own draft, with server-written "Based on …" provenance and a sanitized export (no enrollments, traces, or
  • BYOK — Bring your own model key (OpenAI / Anthropic / Groq / Mistral) — allowlisted providers, server-owned base URLs, envelope-encrypted write-only keys
  • Suite — Judged
  • Authoring — 10 / 10
  • Tutor — 10 / 30
  • Ingest — 4 / 10
  • Role — Email

Configuration

You will need 3 environment variables: LUMEN_MCP_AUTH_TOKEN, DATABASE_URL, OPENAI_API_KEY. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Adding it to your client

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.

When to reach for it

Plenty of AI and media services servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Lumen's toolset — Step, Define, Build and 11 more — is a fair guide to whether it matches your workflow. It is maintained by ahmedEid1; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Lumen.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the lumen mcp server does with a few real requests.

Available tools

ToolWhat it does
StepWhat happens
DefineA guided AI intake (capped at six turns) turns a fuzzy goal into a structured **learning brief** — the source goal is field-encrypted at rest
BuildThe authoring orchestrator builds a **private course** from the brief — honest status, no half-finished partials, re-runnable, cancellable ([build.py](apps/backend/app/services/build.py), the durability/idempotency/quota
LearnA **course-scoped RAG tutor** answers with lesson citations and a visible tool-call trace
SharePublishing stays private; public listing is an explicit share + admin moderation state machine with an immutable audit trail
CloneAny listed course can be remixed into your own draft, with server-written "Based on …" provenance and a sanitized export (no enrollments, traces, or soft-deleted content)
BYOKBring your own model key (OpenAI / Anthropic / Groq / Mistral) — allowlisted providers, server-owned base URLs, envelope-encrypted write-only keys
SuiteJudged
Authoring10 / 10
Tutor10 / 30
Ingest4 / 10
RoleEmail
adminadmin@lumen.test
userteacher@lumen.test

How to install the Lumen MCP server

// claude_desktop_config.json
{
  "mcpServers": {
    "lumen": {
      "command": "python",
      "args": ["-m", "app.mcp", "--transport", "stdio"],
      "env": {
        "LUMEN_MCP_AUTH_TOKEN": "<client-secret from `make mcp-token`>",
        "DATABASE_URL": "postgresql+asyncpg://lumen:lumen@localhost:5432/lumen"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

VariableDescriptionRequired
LUMEN_MCP_AUTH_TOKENCredential the server authenticates with.Yes
DATABASE_URLEndpoint or connection string the server talks to.Yes
OPENAI_API_KEYCredential the server authenticates with.Yes

Example prompts to try

  • Use Lumen to Step.
  • Use Lumen to Define.
  • Use Lumen to Build.

Frequently asked questions

It connects Lumen to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (Step, Define, Build, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Lumen directly.