@getnarro/mcp-server
v0.3.4
Published
MCP (Model Context Protocol) server for AI-assisted Narro presentation creation
Maintainers
Readme
@getnarro/mcp-server
MCP (Model Context Protocol) server for AI-assisted Narro presentation creation
getnarro.com · Documentation · Ecosystem
The tools act on the filesystem: they scaffold projects, rewrite deck files, and run builds. Point the server at a directory you are willing to have written to.
Already using a coding agent with a terminal? You probably do not need this. Claude Code, Cursor's agent, and anything else with shell access can use the
narroCLI directly — what they need is the documentation, and https://getnarro.com/llms.txt (ornpm i -D @getnarro/docs) gives them that. This server is for assistants that cannot run commands themselves.
Setup
Claude Code
claude mcp add narro -- npx -y @getnarro/mcp-serverClaude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"narro": {
"command": "npx",
"args": ["-y", "@getnarro/mcp-server"]
}
}
}Cursor, Cline, Continue
The same object, under whatever key the client uses for MCP servers — for Cline
that is cline.mcpServers in VS Code settings.
Then ask: "Create a Narro deck about our Q3 results and make sure it builds."
Tools
| Tool | What it does |
| --- | --- |
| create_presentation | Scaffolds a project, returns the path to the deck file |
| list_slides | Structured slide list: index, id, title, layout, preview |
| add_slide | Inserts a slide and writes the file |
| update_slide | Rewrites one slide, preserving frontmatter it was not asked to change |
| delete_slide | Removes a slide, returning its content so it can be restored |
| apply_theme | Sets the deck's theme |
| check_presentation | Validates layout, slot, and theme names without building — fast enough to run after each edit |
| build_presentation | Builds, and returns the compiler output on failure |
| export_presentation | PPTX, PDF, Google Slides, or a static site |
| bundle_presentation | One self-contained HTML file |
| import_presentation | From PowerPoint or Google Slides |
| get_presentation_info | Documentation, and per-component prop types |
| manage_comments | Slide comments |
build_presentation is the one to remember. A generated deck that looks right
can still be broken; without a pass/fail signal there is nothing to correct
from.
Editing decks
add_slide, update_slide, and delete_slide edit markdown decks. Slides
are addressed by id where one exists, because an index shifts the moment
something is inserted above it — and a tool that silently edits the wrong slide
is worse than one that fails.
React decks are read-only to these tools: list_slides works, but slides there
are React components and the file should be edited directly.
Resources
The documentation is exposed as resources at narro://docs/{slug}, which a
client can read and cache without spending a tool call. get_presentation_info
serves the same pages for clients that do not support resources.
Both read @getnarro/docs,
whose component reference is generated from the TypeScript source — so prop
types describe the shipping API rather than a hand-maintained copy of it.
The Narro ecosystem
| Package | What it is |
| --- | --- |
| @getnarro/cli | CLI tools for creating and managing Narro presentations |
| @getnarro/core | The React runtime for Narro presentations — Presentation, Slide, navigation, transitions, and speaker notes |
| @getnarro/docs | Narro's documentation as data — markdown pages, a generated component API reference, and llms.txt |
| @getnarro/markdown | Markdown & MDX authoring for Narro presentations |
| @getnarro/marketplace | Themes, colour schemes, and templates for Narro presentations |
| @getnarro/mcp-server | MCP (Model Context Protocol) server for AI-assisted Narro presentation creation ← you are here |
| @getnarro/shared-ui | Slide components for Narro presentations — headings, text, lists, code, media, charts, and layouts |
| create-narro | Scaffold a new Narro presentation |
All eight ship from one repository and release together.
The npm package named
narrois unrelated to this project. Narro's packages are all under the@getnarro/scope; the CLI binarynarrocomes from@getnarro/cli.
Website · Documentation · llms.txt · GitHub · Issues · Changelog
Released under the MIT License.
