An on-device MCP server that converts Markdown to pixel-perfect slide decks
Project description
Slidesmith MCP Server
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 templatesinit_deck- Initialize a new slide deckcleanup- Clean up deck workspace
Theming
theme_base- Get base theme tokens for a templateapply_tokens- Apply custom theme tokens to a deck
Building & Export
html_preview- Generate HTML preview of deckpdf_export- Export deck to print-ready PDFsnapshot- Generate PNG screenshots of slides
Quality & Utilities
slide_lint- Check slides for quality issuesget_component_doc- Get component documentationsvg_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 elementsBarChart/PieChart- Data visualizationTimeline- Event sequencesMetricSection- KPI displaysCardGrid- Feature showcasesImpactBox- 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:
- FastMCP - MCP framework
- Playwright - Browser automation
- MDX - Markdown + JSX
- Tailwind CSS - Styling
- esbuild - Bundling
Made with ❤️ for the MCP community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slidesmith-0.1.13.tar.gz.
File metadata
- Download URL: slidesmith-0.1.13.tar.gz
- Upload date:
- Size: 55.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2fa2049af3167284d8eb7ceec2177c811a65a2dbae019c460cb4f76a7c07e24
|
|
| MD5 |
39e90dfd15a368a3b9f7917c9abe1ca3
|
|
| BLAKE2b-256 |
32db9b7f344e935a8647607810d1d22da3235dbddf093318e2740c7aff5ea3bd
|
File details
Details for the file slidesmith-0.1.13-py3-none-any.whl.
File metadata
- Download URL: slidesmith-0.1.13-py3-none-any.whl
- Upload date:
- Size: 42.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4b7dc2c2eff5c34169a7022c58e7d176cc7f150de2cdfe7fce0077b17f80c98
|
|
| MD5 |
168581f65a39158a251bcc58f608db78
|
|
| BLAKE2b-256 |
1a4e482d8a66170af6889f383c6126ff7cf2540f36f4bcb64903012b0120aa66
|