Freyja
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Freyjascaffold a presentation about our API architecture and preview it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Freyja
Explain complex topics through interactive presentations, one step at a time.
Freyja turns ordinary React/TSX source into HTML slides with progressive reveals, interaction demos and adaptable branding. An agent writes the source; a local MCP app lets it preview, inspect, navigate, capture and build the presentation.

Use the included Codex or Claude Code plugin to shape the story and refine it with you. The browser is the presenter interface: arrow keys, visible step tabs, a searchable slide jump list, overview and fullscreen.
Freyja is experimental and local only. It runs trusted presentation source on your machine. It is distributed from this repository; there is no npm release yet.
Start
Requires Git and Node.js 24+.
mkdir -p "$HOME/repos"
git clone https://github.com/coadan/freyja.git "$HOME/repos/freyja"
cd "$HOME/repos/freyja"
npm ci
node scripts/cli.mjs create --id my-talk --title "My presentation"
node scripts/cli.mjs preview --id my-talkOpen the returned preview URL. The scaffold demonstrates a story, an interaction,
a flow and recovery from failure. Replace its example content with your topic.
Edit deck.json, brand.json, slides/*.tsx, CSS and assets in the returned
source directory; preview refreshes when files change.
Install Chromium for screenshots and browser checks:
npx playwright install chromium
node scripts/cli.mjs capture --id my-talk --slide recovery --step 3
node scripts/cli.mjs validate --id my-talk
node scripts/cli.mjs build --id my-talk
node scripts/cli.mjs pdf --id my-talk
node scripts/cli.mjs pptx --id my-talkA build is a static directory you can serve over HTTP without the Freyja app. Imported assets are bundled; remote resources remain remote.
Export PPTX (or pptx) produces a PowerPoint file with one full-bleed 2× image per
slide, for sharing where PowerPoint or Google Slides is expected; the slides look exactly like
the deck but aren't editable shapes. Use Export PDF in the live presenter toolbar for a handout with one fully
rendered, final-state page per slide. Text and diagrams remain sharp in the PDF.
To include each interaction state, run node scripts/cli.mjs pdf --id my-talk --all-steps. PDF export requires Chromium and leaves the live position unchanged.
Related MCP server: Flowcast
Create with an agent
Both plugins use the same skill, MCP tools and application checkout. After the quick start, install either plugin from the repository root:
Codex
codex plugin marketplace add .
codex plugin add freyja@freyja-localClaude Code
claude plugin marketplace add .
claude plugin install freyja@freyja-localStart a new session, then ask:
Use Freyja to explain this repository's architecture through concrete interactions, one step at a time, using its branding.
The skill guides story structure, visual pacing and review. Agents edit source files directly. MCP creates scaffolds and operates presentations; it has no source patching or slide reordering tool.
See plugin setup for alternate checkout locations, a direct stdio MCP connection and development validation.
Present
Control | Action |
Right / Space | Next step, then next slide |
Left | Previous step, then previous slide |
Step tabs | Jump within an interaction |
G | Search and jump to a slide |
O | Slide overview |
F | Fullscreen |
Export PDF | Download final rendered slides (live preview) |
Export PPTX | Download a PowerPoint of rendered slide images (live preview) |
Escape | Close jump or overview |
Stable slide IDs give durable #/slide-id/step links when the deck is reordered.
Custom diagrams, simulations, maps and other demos are ordinary React in the deck.
The SDK supplies optional layouts and reveal helpers; it does not prescribe scenes.
How it fits together
flowchart LR
Agent[Codex / Claude Code] -->|file edits| Source[TSX · manifest · brand · assets]
Agent -->|MCP tools| App[Local Freyja app]
Source -->|Vite| Player[Browser presenter]
App -->|preview / navigate / capture| Player
App --> Metadata[(SQLite catalog)]
Source -->|build| Export[Static HTML presentation]Source files are authoritative. SQLite keeps catalog and inspection/build metadata. Navigation has one position shared by keys, tabs, URLs and MCP. Topic-specific behavior and branding remain in each presentation.
Tech
Layer | Tech |
Language and runtime | TypeScript on Node.js 24+, run with |
Slides | React 19 components (TSX), one file per slide |
Player | Reveal.js 6 through |
Bundling | Vite 7: live preview with hot reload, and static HTML builds |
Agent interface | Model Context Protocol server, shared by the Codex and Claude Code plugins |
Local service | Node HTTP server on 127.0.0.1, with server-sent events for navigation |
Metadata | SQLite through |
Validation | Zod schemas for |
Screenshots, PDF and PPTX | Playwright with headless Chromium; pdf-lib assembles the PDF, pptxgenjs the PPTX |
Icons |
|
Tests | Node's test runner and a Playwright browser suite |
Documentation and development
npm ci
npx playwright install chromium
npm run checkChecks cover types, real MCP/service behavior, direct source edits, browser navigation, two themes, screenshots and standalone exports. Compilation does not establish visual quality: review entry, intermediate and final interaction states.
License
MIT. The generated pixel logo is included under the same license.
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-Native Google Slides - generate and edit React presentations
Create, edit, read and review web presentations: slides, linked buttons, pictures, runnable code.
Live React design-system APIs, patterns, and code validation so AI agents build real UI, not slop.
Generate, render, and host Slidev presentations from markdown
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables AI agents to present interactive code walkthroughs with voice narration, opening files, highlighting code, and showing inline explanations with synchronized text-to-speech.58 npmMIT

Flowcastofficial
FlicenseNot gradedqualityDmaintenanceTurn your AI coding agent into a producer of interactive, narrated walkthroughs — code, whiteboard, and 3D casts, each a single self-contained HTML file that opens in any browser. Runs locally over npx.1-- AlicenseNot gradedqualityBmaintenanceLocal-first MCP server & CLI for authoring Bento decks (single-file PPT) with AI agents and live browser preview. Enables programmatic creation, editing, validation, and presentation of Bento HTML decks.102 npm1MIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents to capture pixel-accurate screenshots and DOM state from localhost apps, receive user-drawn instructions and reference images, and manage implementation review cycles.16 npmMIT