MCP server for PowerPoint — slides via Claude Desktop, Cursor, or any MCP client
slideforge.dev is a hosted MCP server for PowerPoint slide generation. Add one URL to Claude Desktop, Cursor, Windsurf, Cline, or Claude Code — your agent calls create_slide and gets a real .pptx file with editable shapes in under a second. OAuth 2.1 native for Claude Desktop; Bearer API key for everything else. 7 tools, 150+ catalog patterns, two deterministic render modes (brief / code), $0.05 per slide, no subscription.
I built this as the MCP-first alternative to python-pptx — when I measured, a KPI dashboard that takes ~60 lines of python-pptx code renders through the SlideForge MCP tool in 5 lines, with consulting-grade output by default. Jump to: Claude Desktop · ChatGPT · Cursor · vs. other PowerPoint MCP servers · FAQ.
What is MCP?
The Model Context Protocol lets AI agents call external tools. When you add slideforge.dev as an MCP server, your AI client can generate, iterate, translate, and manage slides directly in conversation. Responses include inline PNG previews plus signed download URLs for the .pptx files — and a fidelity manifest that states exactly what was bound verbatim vs. model-completed. 7 tools cover the full workflow — slides, decks, translation, and catalog discovery (150+ patterns, schemas, themes).
Claude Desktop (OAuth 2.1 — recommended)
Add this to your claude_desktop_config.json. No API key needed — Claude Desktop handles OAuth automatically and prompts for Google sign-in on first connection.
{
"mcpServers": {
"slideforge": {
"url": "https://api.slideforge.dev/mcp/"
}
}
}On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
Prefer an API key instead? Use the mcp-remote wrapper below (same as Cursor setup).
ChatGPT (Developer Mode — OAuth)
ChatGPT supports remote MCP servers natively via Developer Mode (beta — available to Plus, Pro, Business, Enterprise, and Edu plans on the web). One URL, OAuth handles sign-in — no API key needed.
- In ChatGPT (web), open Settings → Apps → Advanced settings and toggle on Developer mode.
(On older UI versions this section may be labeled Connectors or Apps & Connectors.) - Go to Settings → Apps → Connectors tab → click Create (or Add custom connector).
- Paste the SlideForge MCP URL:
https://api.slideforge.dev/mcp/ - Choose OAuth as the auth method. ChatGPT will open a Google sign-in window — sign in once and the connector is saved.
- In any new chat, the SlideForge tools are now available alongside ChatGPT's built-in tools. Try: “Create a SWOT analysis slide for our Q2 strategy review.”
Don't see the Developer mode toggle?ChatGPT's settings UI changes frequently. Check Settings → Apps first; the Developer mode toggle lives under Advanced settings. For Enterprise/Edu workspaces, an admin must enable connectors in Workspace Settings → Apps & Connectors first. Write actions (creating/iterating slides) need confirmation per call — read actions (browsing the catalog) work without prompts.
Need API-key auth instead of OAuth (e.g. for a shared workspace with a service account)? Use the same URL plus an Authorization: Bearer sf_live_... header from the console. ChatGPT also supports MCP Apps SDK directory listings — SlideForge is preparing a directory submission so any ChatGPT user can find and install it without Developer Mode.
Cursor (API key)
Go to Settings → MCP Servers → Add Server, or add to your .cursor/mcp.json. Grab your API key from the console — keys start with sf_live_.
{
"mcpServers": {
"slideforge": {
"url": "https://api.slideforge.dev/mcp/",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer sf_live_YOUR_KEY"
}
}
}
}Windsurf
Open Settings → search “MCP” → click the Marketplace link, or edit the config file directly:
{
"mcpServers": {
"slideforge": {
"url": "https://api.slideforge.dev/mcp/",
"type": "streamable-http",
"headers": {
"Authorization": "Bearer sf_live_YOUR_KEY"
},
"disabled": false
}
}
}On Windows: %APPDATA%\Windsurf\User\settings.json
On Linux: ~/.config/Windsurf/User/settings.json
Claude Code (CLI)
Add to your project's .mcp.json or global ~/.claude/mcp.json:
{
"mcpServers": {
"slideforge": {
"url": "https://api.slideforge.dev/mcp/",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer sf_live_YOUR_KEY"
}
}
}
}Or add via CLI: claude mcp add slideforge --transport http https://api.slideforge.dev/mcp/
Any MCP-compatible client
slideforge.dev works with any client that supports Streamable HTTP transport — confirmed with ChatGPT (Developer Mode), Claude Desktop, Cursor, Windsurf, Claude Code, and Cline. The MCP endpoint is https://api.slideforge.dev/mcp/. Pass your API key as Authorization: Bearer sf_live_... in the headers. OAuth 2.1 is also supported for interactive clients (ChatGPT, Claude Desktop) — the server handles the full flow automatically.
SlideForge vs other PowerPoint MCP servers
The MCP + PowerPoint category on GitHub has a handful of entrants. Here's the honest comparison.
See also: PowerPoint API guide (REST version of the same engine) · slideforge.dev vs python-pptx
Available MCP tools
7 live tools across 4 categories (+2 enterprise-gated). Guided prompts (create_presentation, quick_slide) cover common workflows.
| Tool | Description | |
|---|---|---|
| Slides | ||
| create_slide | Create ONE slide from a structured intent in one call: pick a form from the menu, put your real content in typed fields — the SSG engine binds it verbatim and renders deterministically ($0.05 on usable success, free on refusal). A plain-text brief works too (the engine routes it). mode=code runs caller-supplied python-pptx in a sandbox for layouts outside the catalog. Every response carries a fidelity manifest (verbatim / mixed / ai_completed) — you always know whether a model touched your content. Identical input re-renders free. | |
| plan_slide | Plan before rendering — send a short brief, get the top form + variant candidates with confidence, free. Useful when prototyping or letting an agent pick the right exhibit. | |
| Decks | ||
| create_deck | A whole deck in one call: slides[] is a list of create_slide intents (same form menu and typed fields). Slides render in parallel into one compiled PPTX; failed slides are isolated and free; the response rolls up a per-slide fidelity manifest. dry_run validates the whole deck at $0. | |
| translate_deck | Translate a PPTX preserving all formatting. $0.02/slide, 32 languages. | |
| Catalog & Assets | ||
| browse_catalog | Unified discovery — 150+ catalog patterns with per-form JSON Schemas + copy-pasteable example intents (type=schema), themes, and the mode=code widget/helper toolkit. Progressive: compact grid by default, full payload on detail. Semantic search via brief=<text>. | |
| upload_asset | Upload a logo, theme PPTX, image, or document (purpose=pdf extracts a PDF into editable slide intents; purpose=translate stages a deck) — or AI-generate an image. | |
| Reports & Connections (enterprise-gated — not served by default) | ||
| generate_report | Data-driven multi-slide report from a connected tool (e.g. Zoho Sprints) or a prepared metrics dict. | |
| manage_connections | OAuth connections to external tools for data-driven reports: catalog, list, connect, disconnect. | |
| Account | ||
| manage_account | Balance, usage, job history, security status, feedback, onboarding guide — all free. | |
Pricing
| Action | Cost | Speed |
|---|---|---|
| Brief / intent render (any path) | $0.05 | 50ms–1.5s |
| Code sandbox (python-pptx) | $0.05 | ~500ms |
| Translate | $0.02/slide | ~5-15s |
| Report | ~$0.12 | ~10s |
60 free slides on signup, no credit card. No subscription. USD wallet with $10 minimum top-up and volume discounts up to +20%.
Example conversation
"Create a KPI dashboard: revenue $12.4M (+18% YoY), 847 new clients (+23%), NPS 71"
Calls create_slide with the brief → auto-routes to KPI template → returns preview inline in <2s.
"Now generate a 2x2 matrix comparing build vs buy with cost and speed axes"
Calls create_slide (mode=brief) → SSG intent engine routes to the position-map pattern → returns preview inline in <1s.
"Make the Build column header larger and add a green checkmark icon"
Re-calls create_slide with the refined brief — identical input re-renders free; a changed brief is a fresh $0.05 render.
Reproduce a slide from an image
MCP agents are vision models — when a user drops in a slide screenshot or diagram, the agent reads it itself and drives the normal intent contract. No image ever needs to reach SlideForge:
- Identify the form you're looking at (
plan_slidewith a one-line description helps). browse_catalog(type="schema", family=...)returns the typed contract.- Copy the text and numbers you can actually read into the fields verbatim — omit anything unreadable rather than estimating off pixels.
create_slide(...), then checkfidelity+warnings[]to confirm nothing was dropped.
For dense graphics that can't be read reliably (busy charts, tiny labels), keep the picture: upload_asset(purpose="image") and bind the returned asset into the slide instead.
Frequently asked questions
Is there an MCP server for PowerPoint?
Yes. slideforge.dev provides a hosted MCP server for PowerPoint slide generation at https://api.slideforge.dev/mcp/. Add one URL to Claude Desktop, Cursor, Windsurf, Cline, or any MCP client and your agent can call 7 MCP tools including create_slide, create_deck, translate_deck, and browse_catalog. 150+ catalog patterns (KPI dashboards, waterfalls, Gantt plans, org charts, funnels) rendered deterministically from structured intents — or sandboxed python-pptx via mode=code — from $0.05 per slide.
Which MCP servers work with Claude Desktop for PowerPoint?
slideforge.dev (this server) is the OAuth 2.1 option — add one URL, sign in with Google once, done. Anthropic also ships Claude for PowerPoint as a Microsoft Office add-in (beta research preview, requires Claude Pro subscription and Office install). For self-hosted alternatives, GongRzhe/Office-PowerPoint-MCP-Server (1,651 stars) and icip-cas/PPTAgent (4,103 stars) are open-source — you run them locally with Python and pip install dependencies.
How does SlideForge MCP compare to Anthropic's Claude for PowerPoint?
Claude for PowerPoint lives inside the PowerPoint application as an Office add-in; you open PowerPoint, use the sidebar, slides are edited in place. slideforge.dev lives inside your agent workflow; your agent generates slides programmatically (no Office install needed) via MCP or REST. Claude for PowerPoint requires Claude Pro/Max/Team/Enterprise; slideforge.dev is 60 free slides then $0.05/slide per use. Different use cases: Claude for PowerPoint is for knowledge workers editing existing decks; slideforge.dev is for developers and AI agents producing slides at scale.
Can I use the MCP server with Cursor, Windsurf, or Cline?
Yes. All MCP clients that support Streamable HTTP transport work with slideforge.dev. For Cursor, add the config to `.cursor/mcp.json`. For Windsurf, edit `~/.codeium/windsurf/mcp_config.json`. For Claude Code, add to `.mcp.json` in your project or `~/.claude/mcp.json` globally. Each gets an API key via Bearer auth. OAuth 2.1 is supported by Claude Desktop and ChatGPT (Developer Mode).
How do I add SlideForge to ChatGPT?
ChatGPT supports remote MCP servers via Developer Mode (beta — Plus, Pro, Business, Enterprise, and Edu plans on the web). Open Settings → Apps → Advanced settings and toggle on Developer mode. Then go to the Connectors tab inside Apps, click Create (or Add custom connector), paste https://api.slideforge.dev/mcp/, choose OAuth, sign in with Google when prompted. The SlideForge tools become available in any new chat. Write actions (creating/iterating slides) ask for confirmation per call; read actions (browsing the catalog) don't. If you don't see Developer mode under Apps, refresh the browser — the menu was renamed from "Connectors" to "Apps & Connectors" in early 2026 and may show either label depending on rollout. SlideForge is also preparing a ChatGPT App Directory listing so users can install without enabling Developer Mode.
What tools does the SlideForge MCP server expose?
7 live tools. Slides: create_slide (structured intent or brief; mode=code for sandboxed python-pptx), plan_slide (free form/variant planning). Decks: create_deck (parallel render, per-slide fidelity manifest), translate_deck. Catalog & Assets: browse_catalog (150+ patterns with JSON Schemas + example intents, themes, code-mode widgets), upload_asset (logos, themes, images, PDF extract). Account: manage_account. Two more (generate_report, manage_connections — data-driven reports from connected tools) exist behind an enterprise gate and are not served by default.
Does the MCP server support slide iteration and feedback?
Yes, via re-rendering with a modified intent. There is no separate iterate SKU — improving a slide is a fresh $0.05 render with an updated brief or structured intent. Identical input is free (the same intent re-renders at no charge). Via MCP: re-send create_slide with the refined brief or updated structured intent.
What's the cheapest way to generate PowerPoint slides via an MCP server?
Every render path is $0.05/slide — brief (SSG intent engine, deterministic, never escalates, free on refusal) and code (python-pptx sandbox, pixel-exact). Translation across 32 languages is $0.02/slide. AI image add-on +$0.05. Identical input re-renders free. Your first 60 slides are free on signup — no credit card required.
Is the MCP server open source?
The slideforge.dev MCP client configuration repo (smartdatabrokers/slideforge-mcp) is MIT licensed. The backend server itself is a hosted service, not self-hostable. If you specifically need self-hosted, open-source alternatives include GongRzhe/Office-PowerPoint-MCP-Server and icip-cas/PPTAgent — both lack the composable-component model and consulting-grade primitives but are fully free if you're willing to run Python locally.
Support
Questions, bug reports, or feature requests: contact@slideforge.dev. For the fastest response, include your job ID (if you have one) and the client you're using (Claude Desktop, Claude Code, Cursor, Windsurf, etc.).
Canonical: slideforge.dev/docs/mcp. SlideForge is published by Smart Data Brokers GmbH, Zurich. Not affiliated with slideforge.io, slideforge.fr, or unrelated GitHub repositories of the same name.