Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Pptx Server

БесплатноНе проверен

A Model Context Protocol (MCP) server that lets any AI model create standardised, high-quality PowerPoint presentations via a clean JSON API.

GitHubEmbed

Описание

A Model Context Protocol (MCP) server that lets any AI model create standardised, high-quality PowerPoint presentations via a clean JSON API.

README

A Model Context Protocol (MCP) server that lets any AI model create standardised, high-quality PowerPoint presentations via a clean JSON API.

Plug it in once — every AI that connects gets the same consistent, on-brand slide quality every time, with zero design knowledge required.


Features

Capability Detail
13 slide layouts title, section, two-column, icon trio, stat callout, bullet, quote, timeline, comparison, chart, full image, text body, thank you
6 brand themes Midnight Executive, Coral Energy, Forest Calm, Teal Trust, Charcoal Minimal, Berry & Cream
Chart types Bar, Column, Line, Area, Pie, Doughnut
Design rules baked in No AI-looking stripe accents, no cream defaults, safe font stack, shadow cards, proper contrast
Transports stdio (Claude Desktop / local) and SSE (hosted/remote)

Quick Start

1. Install dependencies

# Python
pip install mcp

# Node (pptxgenjs is the rendering engine)
npm install -g pptxgenjs

2. Run the server (stdio)

python pptx_mcp_server.py

3. Run as HTTP/SSE server

python pptx_mcp_server.py --transport sse --port 8000

Claude Desktop Config

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

{
  "mcpServers": {
    "pptx-maker": {
      "command": "python",
      "args": ["/absolute/path/to/pptx_mcp_server.py"]
    }
  }
}

Tools

list_themes()

Returns all brand themes with colour swatches and font choices.

list_slide_layouts()

Returns all 13 supported layout types with descriptions.

preview_theme(theme_id)

Returns the full colour/font spec for a theme (useful for AI to reference).

create_presentation(spec)

The main tool. Accepts a JSON spec, generates a .pptx in ./output/.


Spec Schema

{
  "title":    "My Deck",
  "author":   "Arbaz",
  "subject":  "Product Pitch",
  "theme_id": "midnight_executive",
  "filename": "my_deck.pptx",
  "slides": [ ...slide objects... ]
}

Slide objects by layout

title_slide

{ "layout": "title_slide", "title": "...", "subtitle": "...", "tagline": "..." }

section_divider

{ "layout": "section_divider", "number": "01", "title": "...", "caption": "..." }

two_column

{
  "layout": "two_column",
  "title": "...",
  "left_heading": "...", "left_body": "...",
  "right_heading": "...", "right_body": "..."
}

icon_trio

{
  "layout": "icon_trio",
  "title": "...",
  "items": [
    {"heading": "...", "body": "..."},
    {"heading": "...", "body": "..."},
    {"heading": "...", "body": "..."}
  ]
}

stat_callout

{
  "layout": "stat_callout",
  "title": "...",
  "stats": [
    {"value": "94%", "label": "Customer Satisfaction", "delta": "+12% YoY"},
    {"value": "£2.4M", "label": "Revenue", "delta": ""}
  ]
}

bullet_list

{ "layout": "bullet_list", "title": "...", "bullets": ["Point 1", "Point 2"] }

quote_highlight

{ "layout": "quote_highlight", "quote": "...", "attribution": "— Name, Role" }

timeline

{
  "layout": "timeline",
  "title": "...",
  "steps": [
    {"label": "Phase 1", "text": "Discovery"},
    {"label": "Phase 2", "text": "Build"}
  ]
}

comparison

{
  "layout": "comparison",
  "title": "...",
  "left_heading": "Option A", "left_points": ["Pro 1", "Pro 2"],
  "right_heading": "Option B", "right_points": ["Pro 1", "Pro 2"]
}

chart_slide

{
  "layout": "chart_slide",
  "title": "...",
  "caption": "Source: ...",
  "chart_type": "bar",
  "chart_data": {
    "series_name": "Revenue",
    "labels": ["Q1", "Q2", "Q3", "Q4"],
    "values": [120, 145, 162, 198]
  }
}

Supported chart_type values: bar, line, pie, doughnut, area

image_full

{ "layout": "image_full", "title": "...", "caption": "...", "image_url": "https://..." }

text_body

{ "layout": "text_body", "title": "...", "body": "...", "note": "Optional footnote" }

thank_you

{ "layout": "thank_you", "message": "Thank You", "contact": "...", "website": "..." }

Available Themes

ID Name Vibe
midnight_executive Midnight Executive Navy + ice blue — professional, authoritative
coral_energy Coral Energy Coral + gold — bold, startup-friendly
forest_calm Forest Calm Green + moss — sustainability, wellness
teal_trust Teal Trust Teal + seafoam — fintech, SaaS, healthcare
charcoal_minimal Charcoal Minimal Charcoal + off-white — luxury, editorial
berry_cream Berry & Cream Berry + cream — fashion, lifestyle

Design Principles (enforced automatically)

  • No decorative stripe accents (AI-generated tell)
  • No cream/beige defaults
  • No accent underlines under titles
  • Cards use shadow + tint, never edge borders
  • Safe font stack (Calibri, Cambria, Bookman Old Style)
  • Minimum 0.5" margins throughout
  • Every layout has a visual element — no text-only slides

Output

Files are saved to ./output/<filename>.pptx relative to the server directory.

from github.com/arbazpathan91/pptx-mcp-server

Установка Pptx Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/arbazpathan91/pptx-mcp-server

FAQ

Pptx Server MCP бесплатный?

Да, Pptx Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Pptx Server?

Нет, Pptx Server работает без API-ключей и переменных окружения.

Pptx Server — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Pptx Server в Claude Desktop, Claude Code или Cursor?

Открой Pptx Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Pptx Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai