Lorem MCP server
io.github.AnkitaShanbhag30/lorem·v0.2.3Slide decks over MCP: read and write decks as code, run Lorem's full AI pipeline, export PPTX/PDF.
29 downloads/wk
Reviews
Write oneNobody has reviewed Lorem yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Lorem tools (35, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_slidesAppend or insert slides written in Lore. Prefer archetype blocks (`== hero`, `== statRow`) \u2014 they produce designed layouts. Call list_layouts to see them, or language_reference for the full syntax.
apply_deckReplace the deck with a full document (frontmatter plus blocks). Only slides that actually changed are rewritten, so untouched slides keep their ids. Use for restyling or reordering everything at once.
choreograph_slideRe-time one slide's element entrances as a coordinated sequence: cascade (role-ordered stagger), focus-pull (media lands first), rise-ensemble (everything rises together), or typewriter-lead (the title types itself out first). Timing follows the deck stylekit's motion personality; loop and exit clips the slide already carries are preserved.
create_deckwrite actionMake a new deck, optionally from a template (list_templates) and optionally with its slides written in Lore.
create_deck_from_stylewrite actionBuild a new deck by crossing a content skeleton (list_skeletons) with a Style (list_styles) \u2014 the deck's whole look: palette, fonts, spacing, shape language, decor, atmosphere, motion and transitions. A Style is a Style whether it was curated, generated from a described vibe, or imported from a .pptx / design system / website brand; styleId takes any of them. Generates real imagery matching t
create_deck_from_vibewrite actionDEPRECATED \u2014 use create_deck_from_style. Identical behavior; `personalityId` is accepted as an old spelling of `styleId`. Kept so existing callers keep working.
create_stylewrite actionInvent a NEW Style from a description \u2014 the catalog is not a fixed list of …. Describe the look in words ("a cozy library", "1970s NASA telemetry", "a risograph zine") and get back a complete Style: palette, font pairing, shape language, decor, atmosphere, motion character, slide transitions, AND the policy axes that lean which composition, entrance and pose each slide draws \u2014 so an inve
delete_deckwrite actionPermanently remove a deck. There is no undo.
delete_slidewrite actionRemove a slide by id.
edit_deckwrite actionRun the same agentic "Edit with AI" loop the editor's panel uses: it reads the deck, can look at rendered slides (a vision pass), generate or edit images, add archetype slides, and emits operations \u2014 which this tool then applies through the live collaboration room, so open browsers update instantly and the whole edit is one undo. Use it for design-quality passes ("review every slide and fix w
export_deckGet a download URL for the deck as native PowerPoint or PDF. PowerPoint exports as real editable shapes, text and charts \u2014 not pictures of slides.
generate_deckStage 2 of the app's generation pipeline: assembles an approved outline into a saved deck \u2014 designed layouts, copy, AI/stock imagery, then the quality loop (a vision judge scores the rendered deck and the worst slides get a polish pass) before saving. This is the full in-app experience over MCP: use generate_outline first, then this. Returns the new deckId plus the quality report (initial \u2
generate_deck_imagesFill in every AI-declared image in a deck at once. In the deck language, `image gen {prompt="misty harbor at dawn" x=\u2026 y=\u2026 w=\u2026 h=\u2026}` places an image that renders as a placeholder until generated; this tool generates each one (honoring the theme's imageStyle) and wires the assets in. Run it after create_deck/apply_deck when the document declared `image gen` elements. Requires th
generate_imagewrite actionCreate an image from a text prompt and return its asset id, for use as `image: asset:<id>` in a slot or `image asset:<id>` as an element. Requires the server to have an image model key configured.
generate_outlineStage 1 of the same generation pipeline the app's wizard uses: an art-direction pass plans the argument and look, then a writer produces one validated outline slide per archetype. Returns the outline slides and the design brief as JSON \u2014 pass both to generate_deck unchanged to build the deck. Prefer this over hand-writing an outline when the user gives a topic rather than finished content.
get_generation_insightsHow past AI generations were received: win-rates per style, archetype and choreography pattern, feedback-tag frequencies and trend, and the human and AI quality passes reported side by side (never averaged \u2014 they measure different things). Use this to decide what to change about generation, and to see which recurring complaints might deserve a curated prompt adjustment.
import_brand_from_urlFetch a public website, classify its CSS colors and fonts into a Lorem palette, and save the result as a reusable Style \u2014 the fastest way to make decks match a company's brand. Returns the styleId plus the extracted palette/fonts; use it with create_deck_from_style({skeletonId, styleId}) or apply the palette to an existing deck via apply_deck.
import_deckImport a .pptx file (PowerPoint, or the PPTX export of Google Slides / Canva / Keynote) as a fully editable Lorem deck \u2014 every text run, color, image, table, chart and note mapped onto the native document model. Also extracts the file's visual style as a reusable Style (see list_styles), first-class next to the curated ones. Anything the model can't express is listed in the fidelity report. A
import_design_systemImport design tokens (W3C design-tokens JSON, Tokens Studio JSON, or CSS custom properties) \u2014 or any .pptx to mine its style \u2014 into a reusable Style: palette, fonts, type scale and radii become a Style that drives deck generation and restyling exactly like the curated ones.
language_referenceThe full syntax of Lore, the Lorem deck language, generated from the layout schemas so it is never out of date. Read this once before writing anything non-trivial.
list_decksList every deck with its id, title and slide count. Start here to find a deck to work on.
list_fontsSearch the ~140-family font catalog by mood, theme or name \u2014 e.g. "horror", "kids playful", "elegant serif", "pixel arcade", "western". Every family is Google-hosted and loads automatically when referenced by name in a deck theme (`fonts:` frontmatter) or on a text run (`font="\u2026"`). Use it to pick type that matches the content instead of defaulting to a generic sans.
list_layoutsEvery designed layout (archetype) with the content slots it takes. Choosing a layout and filling its slots is how you get a professional-looking slide \u2014 never place elements by hand unless no layout fits.
list_personalitiesDEPRECATED \u2014 use list_styles, which lists the same curated Styles plus the user's own. Kept so existing callers keep working. Lists the … curated Styles only.
list_skeletonsSlide sequences a Style can be crossed with \u2014 what the deck contains, independent of how it looks. Pass one of these plus a styleId to create_deck_from_style.
list_stylesEvery Style available to this user, grouped by where it came from: … curated Styles, plus any generated from a described vibe or imported from a .pptx, design system or website brand. A Style is a complete look \u2014 palette, fonts, spacing, shape language, decor, ambient atmosphere, motion character, slide transitions \u2014 that cascades from one pick. Cross one with a skeleton from list_skelet
list_templatesDEPRECATED \u2014 each of these … flat seed ids is nothing more than one content skeleton crossed with one Style, under a fixed name. Prefer list_skeletons + list_styles + create_deck_from_style, which reaches all … curated Styles (not just the … pre-paired ones) and generates real imagery. The ids keep working forever via create_deck's templateId; the listing names the pair behind each.
read_deckThe entire deck as source, including its theme frontmatter. Expensive for large decks \u2014 prefer read_outline plus read_slide unless you need to restyle everything at once.
read_outlineA compact index of a deck: one line per slide with its id, layout and title. Far cheaper than reading the whole deck \u2014 use this first, then read only the slides you need.
read_slideThe full source of a single slide in Lore, the Lorem deck language, ready to edit and pass back to replace_slide.
replace_slideRewrite a single slide, keeping its id so comments and collaborators' selections survive. Other slides are untouched, so this is safe while someone else is editing them.
reroll_deckRedraw a deck's design without touching a word of its copy or regenerating a single image. Every slide is rebuilt from its own content with a new Style and/or a new seed: different composition, motion, crop, framing, type and colour. The text, the images, the speaker notes and each slide's layout ARCHETYPE are pinned, so this costs nothing to run and can be repeated freely \u2014 it is the tool to
save_as_templatePromote a deck to the template gallery, so new decks can start from its design and structure. Use once a deck is worth reusing.
set_deck_musicGive a deck an AI-generated soundtrack that plays during Present mode. Generates audio from a musical brief \u2014 mode "instrumental" for pure music, "lyrical" to steer toward sung vocals about `lyrics` \u2014 then attaches it to the deck as one undoable operation (also expressible in the deck language as `music:` frontmatter). Generation runs roughly in real time, so expect ~30s. Pass remove:tru
validateParse a document or fragment and report errors and warnings. Nothing is changed.
Public scan report
scanner v0.1.9 · 2026-09-23 · same rubric, same numbers if you re-run it
- Code scan2 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenanceno repository listed3/15
- Maintainer identityno repository or website to verify2/10
Findings (1)
- lowNo source repository listed
maint.no-repo
How Lorem compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 55/100
- higher than 10% of 48,255 servers
- Tools
- 35
- the typical server has 7
- Tools that change things
- 23%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 29
- more than 16% of 12,191 servers with a package
What its tools let an agent do: 16 read · 13 create · 3 change · 2 delete · 1 run or deploy
Install Lorem in Claude Code, Cursor or VS Code
Runs npx -y lorem-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add lorem -- npx -y lorem-mcp
Lorem: common questions
- Is Lorem MCP server safe?
- With care: it is graded C, so read the findings first (55/100). Read the Lorem safety report
- How do I install Lorem?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Lorem need an API key?
- Yes. The registry entry asks for
LOREM_API_KEY. - Is Lorem maintained?
- The latest release is v0.2.3.
- What can I use instead of Lorem?
- Servers from other publishers that do the same job: kordoc MCP server.
- How does Lorem compare with other MCP servers?
- safety score 55/100 (higher than 10% of 48,255 servers); tools 35 (the typical server has 7); tools that change things 23% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Lorem
Same job from other publishers: the closest match first, then the best rated.
- kordocParse Korean documents (HWP, HWPX, PDF, XLSX, DOCX, PPTX) to Markdown; fill forms, diff, render.not reviewedWidely usedA