About Lumen
Lumen is a Rust cross-media conversion engine for art and game-development workflows. It converts 2D and 3D formats through named converter chains, with deterministic outputs and a policy layer.
Key features
- 01Deterministic cross-format conversion
- 022D sprite and 3D model operations
- 03Inspection, palettes, text, and styles
- 04Animation automation and QA gates
- 05Policy checks with replayable decisions
Use cases
- 01Convert media formats reproducibly
- 02Inspect and modify sprite projects
- 03Run QA before export
- 04Enforce rules on conversion operations
MCP support
Lumen exposes MCP tools for media operations, inspection, palettes, text, styles, animation automation, QA, and export. Project paths are bounded to the project root.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMElumen
Lux in motu — light in motion. A cross-platform, cross-media
conversion engine, written in Rust (edition 2024, rmcp 3.3): one
operation core that bridges media formats — 2D art and sprite formats,
3D models, and game-engine packages — converting between them
deterministically from code-first records, so the same input record
yields the same output on any platform. Aseprite sprites and Bevy
were its first endpoints, not its purpose; the center is the factory
(one identity record, emitted as 2D or 3D) and the named, verified
converter chain between formats — one operation core behind three
surfaces —
- MCP tools for interactive media work: sprite operations, inspection, palettes, text, style presets, dream-animation automation, QA gates, and export backends (PNG sheets, WASM-4, TIC-80, VoidSprite file interop). All paths are project-root bounded.
- An A2A agent surface (v0.3.x JSON-RPC) for dispatched, long-running art jobs, with the trial-then-approval art-director loop as a protocol state. See A2A_DESIGN.md.
- A deterministic policy layer (APPA-style, adapted from
archestra-ai/OpenAPPA): every tool call is checked against
lumen-policy.tomlbefore it executes, decisions are replayable, and denials name the rule they violated. See POLICY_DESIGN.md.
Companion strategy — pair, don't duplicate — is in COMPANIONS.md. How lumen was built, in what order, and under what governance (including the evidence rule its first failed build produced) is in HISTORY.md.
Verified state (2026-10-01, primo)
- Build and clippy clean; 303 tests passed / 0 failed / 8 ignored (suite split between validation and adversarial cases).
- Live interop gate against real Aseprite 1.3.18.6-dev and Bevy 0.18
BRP (
scripts/interop_check.sh): 5 passed / 3 failed — the failures are documented premise mismatches between lumen's assumptions and the real tools' behavior; see HISTORY.md.
Layout
src/— operation core:sprite_ops,inspect,palette,text,style,dream,qa,export,pipeline,policy,bevy,doc,vrm, and thea2a/surface (mod,task,http,registry).tests/— validation and adversarial suites, incl.interop.rs(live-tool gates, ignored by default).lumen-policy.toml— the shipped policy;lumen policy checkandlumen policy replayare its gates.
License
This project is licensed under the Apache License, Version 2.0.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.