Skip to main content

An on-device MCP server that converts Markdown to pixel-perfect slide decks

Project description

Slidesmith MCP Server

MCP-COMPAT Python License PyPI

An on-device Model Context Protocol (MCP) server that converts Markdown content into pixel-perfect slide decks with Tailwind/React components and print-ready PDFs. Built for AI-powered presentation creation with zero network dependencies.

🚀 Quick Start

Installation

# Install via pipx (recommended)
pipx install slidesmith

# Or via pip
pip install slidesmith

First-time Setup

# Install required browsers and templates
slidesmith setup

# Start the MCP server
slidesmith serve

Using with Claude Code

# Add to Claude Code
claude mcp add slidesmith -s local -- slidesmith serve

# Verify connection
claude --debug

✨ Features

  • 🏠 Local-first: No Docker, no network I/O, no telemetry
  • 🤖 AI-optimized: Designed for Claude Code to create professional presentations
  • Fast builds: Sub-5 second deck generation with esbuild
  • 🎨 Token-based theming: Easy brand customization via JSON
  • Quality gates: Automated linting ensures pixel-perfect output
  • 📄 Export ready: Generate print-quality PDFs with embedded fonts
  • 🖼️ Rich components: Charts, timelines, metrics, and more
  • 🔒 Fully offline: All assets bundled, no CDN dependencies

📚 MCP Tools

Deck Management

  • list_templates - List available slide templates
  • init_deck - Initialize a new slide deck
  • cleanup - Clean up deck workspace

Theming

  • theme_base - Get base theme tokens for a template
  • apply_tokens - Apply custom theme tokens to a deck

Building & Export

  • html_preview - Generate HTML preview of deck
  • pdf_export - Export deck to print-ready PDF
  • snapshot - Generate PNG screenshots of slides

Quality & Utilities

  • slide_lint - Check slides for quality issues
  • get_component_doc - Get component documentation
  • svg_icon - Get SVG icons from offline library

🎯 Example Usage

# In Claude Code, you can use natural language:
"Create a startup pitch deck for TechVision AI"
"Apply a blue color scheme with Montserrat font"
"Add a chart showing 200% YoY growth"
"Export to PDF for investors"

📦 What's Included

Templates

  • markov-pro: Professional business template
  • minimal: Clean, minimalist design
  • tech: Modern tech presentation style

Components

  • SlideBase - Standard slide container (1920x1080)
  • Header/Footer - Consistent branding elements
  • BarChart/PieChart - Data visualization
  • Timeline - Event sequences
  • MetricSection - KPI displays
  • CardGrid - Feature showcases
  • ImpactBox - Highlighted metrics
  • And many more...

Example Decks

  • Startup Pitch (10 slides) - Series B investor deck
  • Product Demo (15 slides) - Feature showcase
  • Company Overview (20 slides) - Corporate presentation

🛠️ Development

Setup Development Environment

# Clone the repository
git clone https://github.com/markov/slidesmith.git
cd slidesmith

# Create virtual environment
python -m venv slidesmith-env
source slidesmith-env/bin/activate

# Install in development mode
pip install -e ".[dev]"

# Install Node dependencies
npm install

# Run tests
pytest

Project Structure

slidesmith/
├── slidesmith/          # Python MCP server
│   ├── tools/          # MCP tool implementations
│   ├── models.py       # Pydantic models
│   └── server.py       # FastMCP server
├── scripts/            # Node.js build scripts
├── templates/          # Slide templates
├── examples/           # Example presentations
└── tests/             # Test suite

🧪 Testing

# Run all tests
pytest

# Run with coverage
pytest --cov=slidesmith --cov-report=html

# Run specific test category
pytest tests/test_tools_unit.py -v

📋 Requirements

  • Python 3.11+
  • Node.js 18+
  • macOS, Linux, or Windows
  • 500MB free disk space

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

📄 License

MIT License - see LICENSE for details.

🔗 Links

🙏 Acknowledgments

Built with:


Made with ❤️ for the MCP community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slidesmith-0.1.5.tar.gz (51.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slidesmith-0.1.5-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file slidesmith-0.1.5.tar.gz.

File metadata

  • Download URL: slidesmith-0.1.5.tar.gz
  • Upload date:
  • Size: 51.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for slidesmith-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0acf8ff817f5bf0311b84438f2743f12e172d2dbc9050e55eb58c65c6d57da9f
MD5 c41b364537e3edde3d8e38065e61f4cd
BLAKE2b-256 78ca20b2d7d88a3e5de01d7ebbd8ff22f9bd8b3881546d22188658102ad9cb60

See more details on using hashes here.

File details

Details for the file slidesmith-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: slidesmith-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 31.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for slidesmith-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e2f4c410ed91eaca84cab02f16b0001d39434caa60e5a7fcfa7ad5cd34f345fe
MD5 a5550efbb370ab082e4c4f60bb012118
BLAKE2b-256 33428250b11bdf9a9e9cb86146560f928331b7f75f2edd521a3315d879b99f71

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page