Skip to main content
Glama

Marp MCP Server

by masaki39

Marp MCP Server

A Model Context Protocol (MCP) server for managing Marp presentation projects with academic theme support. Optimized for use with Claude Code, Cursor, and other AI-powered editors.

Features

  • šŸŽØ Academic Theme Support - Pre-configured academic_custom.css theme

  • šŸ“ Project Initialization - Automatic directory structure setup

  • šŸŽÆ Structured Slide Generation - 6 layout templates for consistent design

  • šŸ”§ Editor Integration - Designed for Claude Code and Cursor

  • šŸ“ Markdown Output - Generate slides as markdown strings for easy editing

Installation

Via npx (Recommended)

npx @masaki39/marp-mcp

Global Installation

npm install -g @masaki39/marp-mcp

Local Installation

npm install @masaki39/marp-mcp

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "marp": { "command": "npx", "args": ["-y", "@masaki39/marp-mcp"] } } }

Or with global installation:

{ "mcpServers": { "marp": { "command": "marp-mcp" } } }

Claude Code / Cursor

The server works seamlessly with Claude Code and Cursor. The generated markdown can be directly inserted into your editor.

Available Tools

1. init_presentation

Initialize a new Marp presentation project with complete directory structure.

Parameters:

  • projectPath (string) - Directory where project will be created

  • projectName (string) - Name of the presentation project

  • presentationTitle (string) - Title of the presentation

  • presentationSubtitle (string, optional) - Subtitle

  • description (string, optional) - Brief description

Generated Structure:

my-presentation/ ā”œā”€ā”€ slides.md # Main presentation file ā”œā”€ā”€ themes/ │ └── academic_custom.css # Academic theme ā”œā”€ā”€ attachments/ │ ā”œā”€ā”€ images/ # Image files │ ā”œā”€ā”€ videos/ # Video files │ └── data/ # Data files ā”œā”€ā”€ .gitignore └── README.md

Example:

{ "projectPath": "/Users/yourname/presentations", "projectName": "research-2024", "presentationTitle": "Research Findings", "presentationSubtitle": "Annual Report 2024", "description": "Research results presentation" }

2. generate_slide

Generate a slide using academic theme layouts. Returns markdown string for copy-paste.

Parameters:

  • layoutType (string) - Layout type (title, lead, content, table, multi-column, quote)

  • params (object) - Layout-specific parameters

Example:

{ "layoutType": "title", "params": { "title": "Presentation Title", "subtitle": "Subtitle" } }

3. list_slide_layouts

List all available slide layouts with their parameters and descriptions.

No parameters required.

Available Layouts

Title Slide (title)

Centered title and subtitle with .title class.

Parameters:

  • title (required, max 60 chars)

  • subtitle (optional, max 100 chars)

Output:

# Presentation Title ## Subtitle <!-- _class: title -->

Lead Slide (lead)

Left-aligned with maroon color headings using .lead class.

Parameters:

  • heading (required, max 80 chars)

  • content (optional, markdown supported)

Output:

# Main Heading Content goes here <!-- _class: lead -->

Content Slide (content)

Standard content slide with optional heading.

Parameters:

  • heading (optional, max 80 chars)

  • content (required, markdown supported)

Output:

# Heading Content with markdown support - List item 1 - List item 2

Table Slide (table)

Table with customizable size and alignment.

Parameters:

  • heading (optional, max 80 chars)

  • tableMarkdown (required, markdown table)

  • tableClass (optional: "center", "100", "tiny", "small", "large")

Output:

# Table Heading | Column 1 | Column 2 | |----------|----------| | Data 1 | Data 2 | <!-- _class: table-center table-100 -->

Multi-Column Slide (multi-column)

2-3 column layout using double blockquote syntax.

Parameters:

  • heading (optional, max 80 chars)

  • columns (required, array of strings)

Output:

# Comparison > > Column 1 content > > - Point 1 > > > Column 2 content > > - Point 2

Quote Slide (quote)

Quote with citation in footer.

Parameters:

  • heading (optional, max 80 chars)

  • content (optional)

  • quote (required, max 300 chars)

  • citation (optional, max 100 chars)

Output:

# Heading Main content > Quote text here — Citation

Academic Theme Features

The included academic_custom.css theme provides:

  • Page numbering - Automatic slide numbers

  • Custom fonts - Noto Sans JP and Source Code Pro

  • Color scheme - Maroon highlights (#800000)

  • Table styles - Multiple size and alignment options

  • Multi-column support - Flexible column layouts

  • Header support - Customizable presentation headers

CSS Classes

  • .title - Title slide (centered)

  • .lead - Lead slide (left-aligned, maroon)

  • .table-center - Centered table

  • .table-100 - Full-width table

  • .table-tiny - Small font table (0.7em)

  • .table-small - Small font table (0.8em)

  • .table-large - Large font table (1.1em)

Building Presentations

Prerequisites

Install Marp CLI:

npm install -g @marp-team/marp-cli

Build to PDF

marp slides.md -o slides.pdf

Build to HTML

marp slides.md -o slides.html

Build to PowerPoint

marp slides.md -o slides.pptx

Preview in VS Code

Install Marp for VS Code extension for live preview.

Development

Building from Source

git clone https://github.com/masaki39/marp-mcp.git cd marp-mcp npm install npm run build

Testing Locally

npm link

Then configure Claude Desktop to use the local version.

Troubleshooting

Server Not Starting

Check logs in ~/Library/Logs/Claude/:

tail -f ~/Library/Logs/Claude/mcp*.log

Template Files Not Found

Ensure the package was built correctly:

npm run build ls build/templates/

Should show:

  • academic_custom.css

  • slides.template.md

  • README.template.md

  • gitignore.template

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Credits

Links

Deploy Server
-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables creation and management of Marp presentation projects with academic themes and structured slide layouts. Supports project initialization, slide generation with 6 layout templates, and integration with AI-powered editors like Claude Code and Cursor.

  1. Features
    1. Installation
      1. Via npx (Recommended)
      2. Global Installation
      3. Local Installation
    2. Configuration
      1. Claude Desktop
      2. Claude Code / Cursor
    3. Available Tools
      1. 1. init_presentation
      2. 2. generate_slide
      3. 3. list_slide_layouts
    4. Available Layouts
      1. Title Slide (title)
      2. Lead Slide (lead)
      3. Content Slide (content)
      4. Table Slide (table)
      5. Multi-Column Slide (multi-column)
      6. Quote Slide (quote)
    5. Academic Theme Features
      1. CSS Classes
    6. Building Presentations
      1. Prerequisites
      2. Build to PDF
      3. Build to HTML
      4. Build to PowerPoint
      5. Preview in VS Code
    7. Development
      1. Building from Source
      2. Testing Locally
    8. Troubleshooting
      1. Server Not Starting
      2. Template Files Not Found
    9. Contributing
      1. License
        1. Credits
          1. Links

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/masaki39/marp-mcp'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server