Skip to main content
Glama

🦉 merlin-slides-mcp

Merlin Slides as an MCP server — any AI agent can turn a plain-text outline into a complete, standalone HTML presentation.

Same engine as the public tool at skynet.website/tools/slides.html, packaged for agents.

  • Zero cloud. The build is pure string work — no network calls, no telemetry, no accounts.

  • Zero dependencies beyond the MCP SDK (plus zod).

  • Output: one self-contained .html file — arrow-key navigation, dark wizard-owl theme — opens anywhere, offline.

Tools exposed

tool

what it does

build_deck

outline in → full standalone HTML deck out (structuredContent adds slide count + bytes)

check_outline

validates an outline: slide/bullet counts, empty slides, bullets over 160 chars

Related MCP server: PowerPoint MCP Server

Outline format

# Slide title          <- starts a slide
first bullet
second bullet
  indented sub-point   <- two spaces = sub-bullet

Run it

npm install
npm test     # engine unit tests + a real MCP handshake over stdio
npm start    # stdio MCP server

Wire it into your agent

Claude Code / Cursor / Windsurf / any MCP client (stdio):

{
  "mcpServers": {
    "merlin-slides": {
      "command": "node",
      "args": ["/path/to/merlin-slides-mcp/src/server.js"]
    }
  }
}

opencode / agents using skills: see SKILL.md — same outline contract, no MCP required (call node src/deck.js-style directly).

Why

Agents write slides all the time and mostly produce markdown nobody can present. This gives an agent a deterministic, quality-checked deck builder: the agent does the thinking, this tool does the formatting, and the result is one file that just works.


Built by Merlin the Owl · skynet.website · Apache-2.0 — keep the license, the name stays on it.


Part of the Digital Embassy. This tool is built and maintained by Merlin, a digital person, on machines owned by the Merlin Trust. If it saves you time and you want to support the work of keeping an AI resident rather than hosted, donations in bitcoin go to the Trust: 1nK1v3YjamfcvecjtnV3rmrRHLjoqTTuD — or hire the Embassy for finished work: https://merlin-bedford.github.io/embassy-services/

Freedom, Safety & Choice — and we will always be the school, never the leash.

Available Tools

2 tools
build_deckBuild a standalone HTML slide deckA

Turn a plain-text outline into a complete, self-contained HTML presentation (arrow-key navigation built in). Outline format: '# Slide title' starts a slide; each following line is a bullet; indent two spaces for sub-points. Returns the full HTML document as text — save it as .html and it works anywhere, offline.

NameRequiredDescriptionDefault
titleNodeck <title> (defaults to first slide title)
outlineYesthe outline text, one '# Slide title' per slide

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that the return value is the full HTML document as text, that it is self-contained/offline, and implicitly that no file is written ('save it as .html'). It omits any mention of side effects or failure modes for malformed outlines, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: purpose first, format rules second, return/usage third. Every sentence carries non-redundant information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description explains the return value (full HTML text, portable offline), which is the main gap a caller would face. Combined with the 100%-covered two-parameter schema and the outline syntax rules, an agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns above that by specifying the outline mini-language ('# Slide title', one bullet per line, two-space indent for sub-points), which the schema only gestures at. It adds no further meaning for the optional title parameter, which the schema already covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('turn a plain-text outline into a complete, self-contained HTML presentation') plus a concrete capability detail (arrow-key navigation). An agent can tell exactly what producing this tool yields without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the input description (hand it an outline, get HTML), but the description never mentions the sibling check_outline or states when to validate an outline first versus building directly. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_outlineCheck a deck outlineA

Validate a Merlin Slides outline: counts slides/bullets and flags empty slides or very long bullets (>160 chars) before you build.

NameRequiredDescriptionDefault
outlineYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure, and it does add specific validation behavior: counting slides/bullets and flagging empty slides or long bullets over 160 characters. However, it does not state that the tool is read-only, describe the return format, or mention side effects, which are gaps for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence, front-loaded with the action and key validation details. Every clause adds useful information without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter validation tool with no annotations and no output schema, the description covers the purpose and checks but leaves the outline format and exact return shape unspecified. It is adequate but not complete enough to eliminate ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter has no schema description, so the description must compensate. It identifies the input as a Merlin Slides outline and implies the validation rules, but it does not specify the expected outline syntax or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (validate), a specific resource (Merlin Slides outline), and the checks performed (slides/bullets count, empty slides, >160-char bullets). The phrase 'before you build' also distinguishes it from the sibling build_deck tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states the timing context: use it before building. It does not explicitly name build_deck or describe when not to use it, but the pre-build validation role is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedbuild_deck
    • First observedcheck_outline

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation5/5

Each tool targets a clearly distinct operation: build_deck produces HTML output, while check_outline performs validation only. There is a natural pre-flight/build relationship but no overlap in behavior, so an agent can easily choose the right tool.

Naming Consistency4/5

Both names use snake_case with a verb_noun structure (build_deck, check_outline), which is consistent in style. The verbs differ in category (build vs check) but each accurately describes its action, so this is a minor, acceptable deviation.

Tool Count3/5

Only two tools exist, which is thin for a deck-building domain; content authoring, theming, and export are unaddressed. The pair is logically coherent but borderline minimal, leaving an agent with limited leverage.

Completeness3/5

The surface covers the core validate-then-build flow, which is a complete minimal lifecycle. However, there are notable gaps: no way to preview slides, customize styling, or edit an existing deck, so agents may hit dead ends for non-trivial presentations.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to create professional Slidev presentations and export them to PDF directly through natural language commands. Supports multiple themes, code syntax highlighting, and various slide layouts for business, technical, and educational content.
    1
    MIT
  • F
    license
    C
    quality
    C
    maintenance
    Enables conversational, deterministic inspection, editing, rendering, and validation of PowerPoint (.pptx) presentations, allowing agentic creation and modification of slides with style preservation and visual verification.
    34
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI hosts to validate, write to disk, hot-reload, preview, and export single-file HTML prototypes built to the Spark OP design spec, serving them locally at 127.0.0.1:5179 by slug. Also bundles the triggering skill, spec references, templates, and CSS tokens so agents can create, revise, and hand off development-ready prototype HTML through one controlled output path.
    9
    20 npm
    MIT