true-deck-mcp
An MCP server that converts Markdown into True Corporation branded PowerPoint decks, offering tools for validation, generation, preview, and delivery of presentations.
README
true-deck-mcp
An MCP server that turns Markdown into True Corporation branded PowerPoint decks.
Same renderer as the true-deck skill — one template, two front doors.
See DESIGN.md for the architecture and the interactive-app plan.
Install
pip install -e . # or: pip install mcp>=2.0.0 python-pptx pillow
Preview rendering additionally needs LibreOffice and poppler:
apt-get install -y libreoffice-impress poppler-utils
Without them everything except deck_preview still works, and
deck_capabilities reports preview_available: false.
Run
# local, for Claude Code / Claude Desktop / Gemini CLI
python -m true_deck_mcp --output-dir ~/Decks
# remote, for a Claude custom connector
python -m true_deck_mcp --transport http --port 3333 \
--public-url https://decks.example.com
| Env var | Meaning |
|---|---|
TRUE_DECK_PUBLIC_URL |
Base URL. Enables download_url; disables writing to caller-supplied paths. |
TRUE_DECK_OUTPUT_DIR |
stdio mode: always also save decks here. |
TRUE_DECK_ARTIFACT_DIR |
Artifact cache (default ~/.cache/true-deck-mcp). |
Connect
Claude Code / Claude Desktop — claude_desktop_config.json or .mcp.json:
{
"mcpServers": {
"true-deck": {
"command": "python",
"args": ["-m", "true_deck_mcp", "--output-dir", "/Users/you/Decks"],
"env": { "PYTHONPATH": "/path/to/true-deck-mcp/src" }
}
}
}
Claude web / Cowork — run with --transport http, expose it
(npx cloudflared tunnel --url http://localhost:3333 for a quick test), then
Settings → Connectors → Add custom connector → https://.../mcp.
Gemini Spark — Settings & help → Connected Apps → add the server URL. Tools work; interactive UI is not documented there, so the server's text results are what you get.
Tools
| Tool | What it does |
|---|---|
deck_capabilities |
Slide kinds, block types, capacity limits, palette. |
deck_validate |
Outline + layout warnings, without rendering. Fast. |
deck_generate |
Markdown → .pptx; returns an artifact_id. |
deck_preview |
Renders the deck to PNGs so the agent can see it. |
deck_fetch |
Returns the .pptx as an embedded base64 blob. |
Resources: deck://format, deck://design-spec, deck://example.
Prompt: build_true_deck(topic).
Typical agent loop
deck_capabilities() → learn the format (once)
deck_validate(markdown) → fix warnings
deck_generate(markdown, "board.pptx") → artifact_id
deck_preview(artifact_id) → LOOK AT IT
...edit the Markdown, regenerate...
deck_fetch(artifact_id) / download_url → hand it over
Test
python3 tests/test_e2e.py
Spawns the server over real stdio and exercises every tool, writing the
resulting deck and contact sheet to /tmp/true-deck-e2e.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.