pptx_from_markdown
Convert Markdown to a PowerPoint presentation. Headings define slides, bullet points become body content, and tables are rendered as PowerPoint tables.
Instructions
Convert Markdown content to a PowerPoint presentation from inline content or markdown_file.
This is the primary tool for creating PowerPoint decks from text content.
Features:
- Analyzes content to select appropriate layouts for each slide
- Sets theme fonts (default: Segoe UI Semibold for titles, Segoe UI for body)
- Uses millimeters internally for precise positioning
- Fonts inherit from theme - no hardcoded font overrides
Slide Mapping:
- First # heading becomes title slide with large centered title
- Subsequent # or ## headings start new content slides
- --- (horizontal rule) also starts a new slide context
- Bullet points (- or *) become slide body content
- **Label:** patterns are rendered with bold labels (great for key points)
- **Context (assumptions):** after title becomes subtitle on title slide
- Tables (| col | col |) are rendered as PowerPoint tables
- Non-heading, non-bullet paragraphs become plain text
Example:
pptx_from_markdown(
output_path="04. Artifacts/proposal.pptx",
markdown='''Cloud Migration Proposal
Context: Enterprise transformation for ACME Corp
Executive Summary
Objective: Migrate 15 legacy applications to Azure
Timeline: 12 months with phased approach
Investment
Phase | Cost | Timeline |
Phase 1 | $400K | Q1 |
Phase 2 | $800K | Q2-Q3 |
Next Steps
Approve project charter
Schedule kickoff workshop ''' )
Args: output_path: Path for the output .pptx file markdown: Markdown content following the slide pattern (inline) title_font: Font for titles (default: Segoe UI Semibold) body_font: Font for body text (default: Segoe UI) markdown_file: Optional path to a Markdown file. Use this for very large inputs to avoid MCP argument-size limits. Returns: Status dictionary with file path and slide count
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Path for the output .pptx file | |
| markdown | No | Markdown content following the slide pattern (inline) | |
| title_font | No | Font for titles (default: Segoe UI Semibold) | |
| body_font | No | Font for body text (default: Segoe UI) | |
| markdown_file | No | Optional path to a Markdown file. Use this for very large inputs to avoid MCP argument-size limits. |