Auto PPT Generator Agent
Enables AI-powered generation of PowerPoint presentations with dynamic content, themes, and tones. Supports custom topics, audience, and slide count via the generate_ppt tool.
README
Automatic PPT Generator Agent (MCP + VS Code)
A beginner-friendly, end-to-end project that builds:
- An MCP server (Model Context Protocol) that can generate PowerPoint files
- A Node.js API backend
- A professional, interactive web UI
- Dynamic slide content that changes on every generation
What You Will Build
MCP server: exposes agenerate_ppttoolBackend API: validates requests, calls generation pipeline, serves generated filesPresentation engine: creates slide deck structure, design themes, and content variantsInteractive UI: enter topic, audience, tone, style, and generate/download PPT
1) Prerequisites
Install these first:
- Node.js 20+ (recommended LTS)
- VS Code
- npm (comes with Node.js)
- Groq API key for AI-generated content
- Internet access for live data lookup
Check versions in terminal:
node -v
npm -v
2) Project Setup
From this project folder:
npm install
npm run dev
The app starts at:
- UI:
http://localhost:5173 - API:
http://localhost:8787
3) Environment Variables
Copy .env.example to .env and update values:
Copy-Item .env.example .env
Important variables:
PORT: backend portVITE_API_BASE_URL: frontend API URLPPT_PROVIDER: set togroqGROQ_API_KEY: optional, required only when using GroqGROQ_MODEL: optional, default isllama-3.1-70b-versatile
Set GROQ_API_KEY in .env to enable AI-written slide content. The deck content is built from live web data first, using Wikipedia + GDELT signals, and then shaped into slides by Groq.
In MCP config, set the same Groq variables under env.
Security note: if a real key was ever pasted into a shared/example file, rotate it in your provider dashboard and replace it with a placeholder.
4) How Dynamic Content Works
Every generation changes because the app combines:
- Live topic lookup from Wikipedia and current news signals
- Topic-family slide blueprints that change by subject area
- Variable slide structures and slide kinds
- Rotating content angles and examples
- Timestamp/seed-based variation
- Groq-generated slide copy on top of live data
This ensures different wording and structure each run, while also grounding the output in current information.
5) How MCP Fits In
This project includes a local MCP server:
- File:
mcp/server.js - Tool exposed:
generate_ppt
You can connect this MCP server from compatible MCP clients (including VS Code flows) so agent workflows can trigger PPT generation.
MCP Tool Input
{
"topic": "AI in Healthcare",
"audience": "college students",
"tone": "engaging",
"slides": 8,
"theme": "corporate"
}
MCP Tool Output
{
"ok": true,
"fileName": "ai-in-healthcare-2026-06-19T10-00-00-000Z.pptx",
"downloadUrl": "/generated/ai-in-healthcare-2026-06-19T10-00-00-000Z.pptx"
}
6) Beginner-Friendly Workflow in VS Code
- Open this folder in VS Code.
- Open terminal.
- Run
npm install. - Run
npm run dev. - Open
http://localhost:5173. - Enter topic and options.
- Click Generate PPT.
- Download the file.
7) Production Build
npm run build
npm run start
8) Extend the Agent
Ideas:
- Add charts from real data sources
- Add image search integration
- Add brand kit upload (logo/colors/fonts)
- Add multilingual slide generation
- Add speaker notes auto-generation
9) Troubleshooting
Error: Cannot find module
Run:
npm install
UI opens but generate fails
- Check backend running on
8787 - Check
.envvalues - Check terminal logs
LLM not used
- Set
GROQ_API_KEYin.env - Restart
npm run dev
10) File Structure
See project layout in this repository:
src/server/backend + generation pipelinesrc/client/modern interactive frontendmcp/MCP server entrypointgenerated/exported PowerPoint files
You can now use this as a foundation to build a strong custom PPT generation agent.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.