πŸ”Œβ€‚AI Integration

How do I wire an AI assistant up to Narro so it can write and build decks?

There are two ways to point an AI assistant at Narro. Which you want depends on whether the assistant already has a terminal.

If your assistant has shell access

Coding agents β€” Claude Code, Cursor’s agent, Copilot Workspace β€” can just use the CLI. They need the documentation, not tools:

Read https://getnarro.com/llms.txt, then write a deck about <topic> to deck.md
and run `npx @getnarro/cli build deck.md` to check it.

Every docs page is available as markdown by appending .md, and https://getnarro.com/llms-full.txt is all of them in one fetch.

Offline or sandboxed? Install the docs:

npm install --save-dev @getnarro/docs
import { getDoc, listDocs, getComponent } from "@getnarro/docs";

listDocs();                    // every page's slug, title, description
getDoc("markdown-mode").body;  // the markdown
getComponent("List").props;    // generated from the TypeScript source

The component data is generated at build time from the types, so it describes the version you installed rather than a hand-maintained copy.

If your assistant does not

@getnarro/mcp-server exposes Narro over the Model Context Protocol.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows:

{
  "mcpServers": {
    "narro": {
      "command": "npx",
      "args": ["-y", "@getnarro/mcp-server"]
    }
  }
}

Claude Code

claude mcp add narro -- npx -y @getnarro/mcp-server

Cursor, Cline, Continue

Same shape, under whatever key the extension uses for MCP servers β€” for Cline it is cline.mcpServers in VS Code settings.

Tools

ToolWhat it does
create_presentationScaffolds a project and returns its path
list_slidesStructured slide data from a deck
add_slideInserts a slide into the file
update_slideRewrites one slide
delete_slideRemoves a slide
apply_themeApplies a marketplace theme
check_presentationValidates names without building; fast enough for every edit
build_presentationBuilds, returning errors on failure
export_presentationPPTX, PDF, Google Slides
bundle_presentationSingle-file HTML
import_presentationFrom PPTX or Google Slides
get_presentation_infoDocumentation on a topic
manage_commentsSlide comments

These edit files on disk. Point them at a directory you are willing to have written to.

Resources

The server also exposes the documentation as MCP resources (narro://docs/<slug>), which clients can cache and read without spending a tool call.

Getting good results

The AI prompts page covers this in detail. The short version:

  1. Give it the dialect. The most common failure is a model writing a markdown syntax Narro does not speak.
  2. Make it build. narro build deck.md is the pass/fail signal; without it nothing catches a bad prop.
  3. Say which package. Presentation, Slide, SlideContent, Notes are in @getnarro/core; Heading, Text, List, and the rest are in @getnarro/shared-ui.
IntroductionWhat is Narro, and should I be writing markdown or React?
InstallationWhat do I install, and what does the project look like afterwards?
First DeckWhat does a working React deck look like, end to end?
Markdown ModeHow do I split a slide, style one word, or reveal a line β€” without leaving the markdown file?
Writing AI PromptsWhat do I tell an AI so the deck it writes actually builds?
Rules for AI AgentsWhat do I paste into my repo so an agent stops writing decks that build wrong?
React APIWhich component or hook do I import, and what does it take?
CLIWhich command do I run, and what are its flags?
Markdown APIHow do I read, edit, or validate a deck file from my own code instead of by hand?
Component ReferenceWhat props does this component take, and which package do I import it from?
Verifying a deckHow do I know my deck is actually correct?
AnimationHow do I reveal a list one line at a time, or move between slides with something other than a cut?
NavigationHow does the audience move through the deck, and how do I present it?
Canvas & PositioningHow do I put something at an exact position instead of in the flow?
Images & MediaHow do I use an image as a background, tint it, or embed a video?
ArchitectureWhich package owns what, and why is the seam where it is?
Transform ModeHow do I zoom and pan across one big canvas instead of cutting between slides?
Import & ExportHow do I get this deck out as PPTX, PDF, or one file I can email?
AI IntegrationHow do I wire an AI assistant up to Narro so it can write and build decks?
ThemingHow do I change the colours, fonts, and overall look of a deck?
Deck TemplatesHow do I define one house style with named layouts my slides can reference, like a PowerPoint master?
TroubleshootingSomething is wrong with my deck. What is it, and how do I fix it?
LimitationsWhat can't Narro do, and what do I do instead?