Flipbook
A lightweight, self-hosted flipbook generator. Upload PowerPoint, PDF, or Google Slides and get beautiful, SEO-optimized 3D page-curl presentations.
What It Does
Flipbook converts your presentations into interactive, web-based flipbooks with realistic 3D page-curl animations. Each flipbook gets its own SEO-optimized webpage with full slide text indexed for search engines—or you can embed it in any site via iframe.
Built for the Agentic Era
Flipbook includes a built-in MCP server so you can create and manage flipbooks directly from Claude Code, Cowork, or any MCP-compatible AI agent. Upload files, import Google Slides, and publish presentations—all from agentic workflows.
Features
PowerPoint (.pptx, .ppt) and PDF files converted to interactive flipbooks
Paste a public Google Slides URL and import directly
Realistic page-turning with keyboard nav, fullscreen, and deep-linking
Full slide text as semantic HTML, Open Graph, Twitter Cards, JSON-LD
One-line iframe embed, or host directly as standalone pages
Browse all slides at a glance with thumbnail grid overlay
Search across all slide content with instant results
Create flipbooks from AI agent workflows via JSON-RPC over stdio
Full API with bearer token auth for programmatic access
Upload progress tracking, thumbnails, embed code generation
bcrypt-hashed password, session auth, API key protection
Plain Go templates, vanilla JS. No npm, webpack, or node required.
Tech Stack
| Component | Technology |
|---|---|
| Backend | Go + chi router |
| Database | MongoDB Atlas |
| Conversion | LibreOffice headless (PPTX→PDF) + pdftoppm/poppler (PDF→PNG) |
| Text Extraction | pdftotext (poppler) for search + SEO |
| Viewer | StPageFlip (vendored, MIT license) |
| Frontend | Server-rendered Go templates, vanilla CSS/JS |
Quick Start
Prerequisites: Go 1.21+, LibreOffice, Poppler, MongoDB
# Clone the repo
git clone https://github.com/jonradoff/flipbook.git
cd flipbook
# Copy and edit config
cp config.example.yaml config.dev.yaml
# Edit config.dev.yaml with your MongoDB URI
# Set an admin password
make set-password
# Start the server
make run
Visit http://localhost:8080/admin to upload your first presentation.
MCP Integration
The built-in MCP server lets AI agents manage flipbooks programmatically:
list_flipbooks— List all flipbooks with status and URLscreate_flipbook— Upload a file (base64), wait for conversionimport_google_slides— Import from Google Slides URLget_flipbook— Get flipbook details, page URLs, embed codeget_flipbook_status— Check conversion progressdelete_flipbook— Delete a flipbook and its files
# Register with Claude Code
claude mcp add --transport stdio flipbook-mcp -- /path/to/flipbook/flipbook-mcp-wrapper.sh
License
MIT License — View on GitHub