{"name":"io.github.AnkitaShanbhag30/lorem","slug":"ankitashanbhag30-lorem","title":null,"description":"Slide decks over MCP: read and write decks as code, run Lorem's full AI pipeline, export PPTX/PDF.","url":"https://mcp.market/server/ankitashanbhag30-lorem","rating":null,"grade":"C","score":55,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":10,"stars":null,"forks":null,"downloads_week":29,"last_push_at":null,"license":"SEE LICENSE IN LICENSE.md"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":null,"website":"https://lorem.fly.dev","version":"0.2.3","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"lorem-mcp","version":"0.2.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the Lorem server the MCP talks to (default: the hosted service at https://lorem.fly.dev; set for self-hosted servers)","name":"LOREM_URL"},{"description":"API key minted at https://lorem.fly.dev under Settings → API keys. Optional: without it the hosted server grants the same free guest trial as the website, then asks you to sign up","isSecret":true,"name":"LOREM_API_KEY"}]}],"tools":[{"name":"add_slides","description":"Append 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"apply_deck","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"choreograph_slide","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_deck","description":"Make a new deck, optionally from a template (list_templates) and optionally with its slides written in Lore.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_deck_from_style","description":"Build 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","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_deck_from_vibe","description":"DEPRECATED \\u2014 use create_deck_from_style. Identical behavior; `personalityId` is accepted as an old spelling of `styleId`. Kept so existing callers keep working.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_style","description":"Invent 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","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_deck","description":"Permanently remove a deck. There is no undo.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_slide","description":"Remove a slide by id.","write_action":true,"price_micros":0,"input_schema":null},{"name":"edit_deck","description":"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 \\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","write_action":true,"price_micros":0,"input_schema":null},{"name":"export_deck","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_deck","description":"Stage 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_deck_images","description":"Fill 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_image","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"generate_outline","description":"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 \\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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_generation_insights","description":"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 \\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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_brand_from_url","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_deck","description":"Import 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"import_design_system","description":"Import 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"language_reference","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_decks","description":"List every deck with its id, title and slide count. Start here to find a deck to work on.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_fonts","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_layouts","description":"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 \\u2014 never place elements by hand unless no layout fits.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_personalities","description":"DEPRECATED \\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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_skeletons","description":"Slide 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_styles","description":"Every 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_templates","description":"DEPRECATED \\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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_deck","description":"The 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_outline","description":"A 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_slide","description":"The full source of a single slide in Lore, the Lorem deck language, ready to edit and pass back to replace_slide.","write_action":false,"price_micros":0,"input_schema":null},{"name":"replace_slide","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"reroll_deck","description":"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 \\u2014 it is the tool to","write_action":false,"price_micros":0,"input_schema":null},{"name":"save_as_template","description":"Promote a deck to the template gallery, so new decks can start from its design and structure. Use once a deck is worth reusing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_deck_music","description":"Give 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate","description":"Parse a document or fragment and report errors and warnings. Nothing is changed.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":55,"grade":"C","scanned_at":"2026-09-23T21:43:31.833Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T21:43:31.766Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"packages":[{"registryType":"npm","identifier":"lorem-mcp","version":"0.2.3","found":true,"license":"SEE LICENSE IN LICENSE.md","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-07T10:03:41.945Z","weeklyDownloads":29}],"repo":{"found":false},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":29,"license":"SEE LICENSE IN LICENSE.md","lastPushAt":null,"score":10}}}},"grade_history":[],"reviews":[]}