MCP server
to be built This page describes an intention, not an available tool.
The idea
An AI agent writing slides in raw Markdown has two flaws: it consumes a lot of context (rereading and rewriting the whole file on every change) and it invents layouts. The DWA language offers it the opposite: a short vocabulary, verifiable rules and an engine that computes positions without a model.
The MCP server would expose these tools to an agent.
Goals
- Token savings: targeted operations (add, replace, move a slide; choose a layout) rather than rewriting the document, and a summarized catalog rather than the full guide.
- Clean layouts: every slide produced goes through the same rules as the extension (structure diagnostics, overflow measurement).
- Layout choice: suggest the best layout for given content, for example with a small classifier (number of ideas, presence of images, of comparisons, text length).
Planned tools
| Tool | Input | Compact result |
|---|---|---|
list_layouts | optional filter | names and contracts, no CSS |
read_outline | document | identifiers, titles, classes, versions |
read_slide | document, identifier | a single slide |
patch_slide | identifier, expected version, change | validation and new version |
validate | document, modified slides | identifier, rule, available fix |
export_pptx | document, destination | path, number of slides, warnings |
Principles:
- the expected version prevents overwriting a change made between read and write;
- paths stay within the authorized project;
- results are short and structured: no PPTX, no base64 images, no CSS in the model's context;
- a slide screenshot is only requested when there is a visual need.
No quantified gain is claimed: it will be measured on real tasks.
What already exists
The language core is already independent of VS Code within the extension: catalog and diagnostics (src/language/), Chromium measurement (src/render/), PPTX export (src/export/). It will be extracted into a shared package when the MCP server needs it.