Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.AnkitaShanbhag30/lorem

NPM · LOREM-MCP · SCANNED AUG 7

Slide decks over MCP: read and write decks as code, run Lorem's full AI pipeline, export PPTX/PDF.

Available components

59 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
Schema Quality & AI Usability75
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 3579 tokens (~102/item across 35 items; 35 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage85
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 54% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · lorem-mcp

# add to Claude Code
claude mcp add ankitashanbhag30-lorem -- npx -y lorem-mcp
# add to Codex CLI
codex mcp add ankitashanbhag30-lorem -- npx -y lorem-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ankitashanbhag30-lorem": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "lorem-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ankitashanbhag30-lorem --command npx --arg -y --arg lorem-mcp
# ~/.hermes/config.yaml
mcp_servers:
  ankitashanbhag30-lorem:
    command: "npx"
    args: ["-y", "lorem-mcp"]
// mcp.json
{
  "mcpServers": {
    "ankitashanbhag30-lorem": {
      "command": "npx",
      "args": [
        "-y",
        "lorem-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 7 Aug 26 59

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 7 Aug 2026 · Analysed npm/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 95 packages
Packages resolved 95
Stale 30
Tree resolution Complete
MCP tools · 35 exposed · ~3,579 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
add_slides ~101

Append or insert slides written in Lore. Prefer archetype blocks (`== hero`, `== statRow`) — they produce designed layouts. Call list_layouts to see them, or language_reference for the full syntax.

NameTypeReqDescription
atIndexinteger0-based insert position; appends when omitted
deckIdstringyes
dslstringyesOne or more `== <archetype>` blocks, no frontmatter

No output schema declared.

No examples provided.

apply_deck ~65

Replace 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.

NameTypeReqDescription
deckIdstringyes
dslstringyes

No output schema declared.

No examples provided.

choreograph_slide ~112

Re-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.

NameTypeReqDescription
deckIdstringyes
patternstringyesChoreography pattern to apply
slideIdstringyesSlide id from read_outline

No output schema declared.

No examples provided.

create_deck ~73

Make a new deck, optionally from a template (list_templates) and optionally with its slides written in Lore.

NameTypeReqDescription
dslstringSlides to start with, as `==` blocks
templateIdstringTemplate id, e.g. tpl_ember
titlestring

No output schema declared.

No examples provided.

create_deck_from_style ~171

Build a new deck by crossing a content skeleton (list_skeletons) with a Style (list_styles) — 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 the Style's art direction by default.

NameTypeReqDescription
generateImagesbooleanDefault true
skeletonIdstringyesSkeleton id from list_skeletons, e.g. pitch
styleIdstringyesStyle id from list_styles — a curated id like `riso-pop` or a saved-style uuid
titlestring

No output schema declared.

No examples provided.

create_deck_from_vibe ~113

DEPRECATED — use create_deck_from_style. Identical behavior; `personalityId` is accepted as an old spelling of `styleId`. Kept so existing callers keep working.

NameTypeReqDescription
generateImagesbooleanDefault true
personalityIdstringDeprecated spelling of styleId
skeletonIdstringyesSkeleton id from list_skeletons, e.g. pitch
styleIdstringStyle id from list_styles
titlestring

No output schema declared.

No examples provided.

create_style ~360

Invent a NEW Style from a description — the catalog is not a fixed list of 19. 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 — so an invented Style behaves differently, not just looks different. Say who the deck is for (persona) and what job it is doing (useCase) and both the look and those leanings follow the brief: a reference card comes back still and left-aligned, a portfolio comes back reaching. Every invented Style is verified before it is returned — palette contrast, body-font legibility, type-scale floors, plus a real probe build measured for contrast failures, collisions, off-slide elements and overflow — and one that fails is reported, never handed back. Saves by default and returns a styleId usable with create_deck_from_style, apply_deck or reroll_deck.

NameTypeReqDescription
descriptionstringyesThe look, in words — e.g. "sun-bleached surf shop, hand-painted signage"
namestringName for the saved Style (defaults to the invented one)
personastringWho is speaking to whom
registerstringThe deck's voice, one short phrase
savebooleanSave it to the Styles list (default true). false previews without keeping it.
topicstringThe deck's subject matter, for context only
useCasestringThe job this deck is doing — decides how far the Style may reach

No output schema declared.

No examples provided.

delete_deck ~28

Permanently remove a deck. There is no undo.

NameTypeReqDescription
deckIdstringyes

No output schema declared.

No examples provided.

delete_slide ~30

Remove a slide by id.

NameTypeReqDescription
deckIdstringyes
slideIdstringyes

No output schema declared.

No examples provided.

edit_deck ~189

Run 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 — 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 what looks off"), content rewrites, or anything you'd type into the app's AI panel. Prefer replace_slide/apply_deck when you already know the exact change.

NameTypeReqDescription
deckIdstringyes
focusSlideIdsarrayPin these slides as context
focusThemebooleanPin the theme as context
instructionstringyes
slideIdstringThe slide the edit is 'on' (defaults to the first slide)

No output schema declared.

No examples provided.

export_deck ~55

Get a download URL for the deck as native PowerPoint or PDF. PowerPoint exports as real editable shapes, text and charts — not pictures of slides.

NameTypeReqDescription
deckIdstringyes
formatstring

No output schema declared.

No examples provided.

generate_deck ~205

Stage 2 of the app's generation pipeline: assembles an approved outline into a saved deck — 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 → final score, revised slides). Style precedence: styleId > personalityId > templateId.

NameTypeReqDescription
briefobjectThe design brief from generate_outline, echoed back unchanged
generateImagesboolean
imageStylestring
outlinearrayyesOutline slides from generate_outline, unchanged
personalityIdstring
promptstringThe user's original ask, for the generation record
styleIdstring
templateIdstring
titlestring

No output schema declared.

No examples provided.

generate_deck_images ~123

Fill in every AI-declared image in a deck at once. In the deck language, `image gen {prompt="misty harbor at dawn" x=… y=… w=… h=…}` 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 the server to have an image model key configured.

NameTypeReqDescription
deckIdstringyes

No output schema declared.

No examples provided.

generate_image ~63

Create 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.

NameTypeReqDescription
promptstringyes

No output schema declared.

No examples provided.

generate_outline ~150

Stage 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 — 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.

NameTypeReqDescription
directionstringFree-form creative direction
promptstringyesWhat the deck is about — topic, audience, goal
slideCountinteger
sourceTextstringSource material to outline from
styleIdstring
tonestring

No output schema declared.

No examples provided.

get_generation_insights ~136

How 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 — 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.

NameTypeReqDescription
limitintegerGenerations to scan, newest first (default 50)
sincestringISO datetime lower bound, e.g. 2026-07-01T00:00:00Z
untilstringISO datetime upper bound

No output schema declared.

No examples provided.

import_brand_from_url ~120

Fetch a public website, classify its CSS colors and fonts into a Lorem palette, and save the result as a reusable Style — 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.

NameTypeReqDescription
namestringName for the saved style (defaults to '<host> brand')
urlstringyesPublic website URL, e.g. stripe.com

No output schema declared.

No examples provided.

import_deck ~150

Import a .pptx file (PowerPoint, or the PPTX export of Google Slides / Canva / Keynote) as a fully editable Lorem deck — 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. After importing, iterate with read_deck / replace_slide / apply_deck as with any deck.

NameTypeReqDescription
namestringDeck title override (defaults to the file's)
pathstringyesAbsolute path to the .pptx file on this machine

No output schema declared.

No examples provided.

import_design_system ~112

Import design tokens (W3C design-tokens JSON, Tokens Studio JSON, or CSS custom properties) — or any .pptx to mine its style — into a reusable Style: palette, fonts, type scale and radii become a Style that drives deck generation and restyling exactly like the curated ones.

NameTypeReqDescription
namestringName for the imported style
pathstringyesAbsolute path to the tokens .json / .css file (or a .pptx to style-mine)

No output schema declared.

No examples provided.

language_reference ~42

The 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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_decks ~31

List every deck with its id, title and slide count. Start here to find a deck to work on.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_fonts ~119

Search the ~140-family font catalog by mood, theme or name — 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="…"`). Use it to pick type that matches the content instead of defaulting to a generic sans.

NameTypeReqDescription
querystringMood/theme/name keywords; omit to list the whole catalog grouped by category

No output schema declared.

No examples provided.

list_layouts ~50

Every designed layout (archetype) with the content slots it takes. Choosing a layout and filling its slots is how you get a professional-looking slide — never place elements by hand unless no layout fits.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_personalities ~44

DEPRECATED — use list_styles, which lists the same curated Styles plus the user's own. Kept so existing callers keep working. Lists the 19 curated Styles only.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_skeletons ~45

Slide sequences a Style can be crossed with — what the deck contains, independent of how it looks. Pass one of these plus a styleId to create_deck_from_style.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_styles ~102

Every Style available to this user, grouped by where it came from: 19 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 — palette, fonts, spacing, shape language, decor, ambient atmosphere, motion character, slide transitions — that cascades from one pick. Cross one with a skeleton from list_skeletons and pass both to create_deck_from_style.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_templates ~95

DEPRECATED — each of these 15 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 19 curated Styles (not just the 15 pre-paired ones) and generates real imagery. The ids keep working forever via create_deck's templateId; the listing names the pair behind each.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

read_deck ~51

The entire deck as source, including its theme frontmatter. Expensive for large decks — prefer read_outline plus read_slide unless you need to restyle everything at once.

NameTypeReqDescription
deckIdstringyes

No output schema declared.

No examples provided.

read_outline ~61

A compact index of a deck: one line per slide with its id, layout and title. Far cheaper than reading the whole deck — use this first, then read only the slides you need.

NameTypeReqDescription
deckIdstringyesDeck id from list_decks

No output schema declared.

No examples provided.

read_slide ~54

The full source of a single slide in Lore, the Lorem deck language, ready to edit and pass back to replace_slide.

NameTypeReqDescription
deckIdstringyes
slideIdstringyesSlide id from read_outline

No output schema declared.

No examples provided.

replace_slide ~69

Rewrite 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.

NameTypeReqDescription
deckIdstringyes
dslstringyesOne block replacing this slide
slideIdstringyes

No output schema declared.

No examples provided.

reroll_deck ~227

Redraw 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 — it is the tool to reach for when the words are right and the look is not. Distinct from applying a Style through apply_deck, which patches attributes in place and keeps the composition; a re-roll throws the composition away and draws a new one, discarding hand-positioned layout. Omit styleId to keep the current Style and just redraw; pass a seed to make the draw reproducible.

NameTypeReqDescription
deckIdstringyes
seedstringReproducible draw; the same seed gives the same design.
styleIdstringA Style id from list_styles. Omit to redraw with the deck's current Style.

No output schema declared.

No examples provided.

save_as_template ~52

Promote a deck to the template gallery, so new decks can start from its design and structure. Use once a deck is worth reusing.

NameTypeReqDescription
deckIdstringyes
namestringyes

No output schema declared.

No examples provided.

set_deck_music ~137

Give a deck an AI-generated soundtrack that plays during Present mode. Generates audio from a musical brief — mode "instrumental" for pure music, "lyrical" to steer toward sung vocals about `lyrics` — 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:true to clear the soundtrack instead.

NameTypeReqDescription
deckIdstringyes
lyricsstring
modestring
promptstring
removeboolean

No output schema declared.

No examples provided.

validate ~44

Parse a document or fragment and report errors and warnings. Nothing is changed.

NameTypeReqDescription
deckIdstringValidate against this deck's theme
dslstringyes

No output schema declared.

No examples provided.