MCP Presentations
Remote MCP server running on Cloudflare Workers that creates PowerPoint presentations with customizable slides, layouts, and bullet points, along with basic calculator functions.
README
MCP Presentations - Remote MCP Server with PowerPoint Creation
This MCP server runs on Cloudflare Workers and provides five tools:
- ✅ add - Simple addition calculator
- ✅ calculate - Multi-operation calculator (add, subtract, multiply, divide)
- ✅ create_presentation - Creates PowerPoint presentations and stores them in R2
- ✅ get_presentation_url - Retrieves download URL for stored presentations
- ✅ list_presentations - Lists all stored presentations with metadata
Architecture
This project uses:
- Main Worker (TypeScript) - MCP server that handles tool requests
- R2 Storage - Cloudflare R2 bucket with public access for storing generated presentations
Generated presentations are automatically stored in R2 with metadata and can be accessed directly via public R2 URLs, leveraging Cloudflare's global CDN for fast downloads.
Get started:
This will deploy your MCP server to a URL like: remote-mcp-server-authless.<your-account>.workers.dev/sse
Alternatively, you can use the command line below to get the remote MCP Server created on your local machine:
npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless
🚀 Quick Deployment
Prerequisites: Create R2 bucket first (if not already created)
wrangler r2 bucket create mcp-presentations
Deploy the worker:
wrangler deploy
Before deploying to production, update WORKER_URL in wrangler.jsonc to your production URL.
See DEPLOYMENT.md and R2-STORAGE.md for detailed instructions.
🎨 Using the PowerPoint Tool
The create_presentation tool creates presentations and stores them in R2:
- title: Presentation filename
- slides: Array of slide objects with layout, title, and bullets
Example:
{
"title": "My Presentation",
"slides": [
{
"layout": "title",
"title": "Welcome"
},
{
"layout": "title_and_content",
"title": "Key Points",
"bullets": ["Point 1", "Point 2", "Point 3"]
}
]
}
Returns: Download URL and metadata
Additional Tools
Get presentation URL:
{ "filename": "My_Presentation_1732567890123.pptx" }
List all presentations:
{ "limit": 10 }
See R2-STORAGE.md for complete R2 storage documentation.
Customizing your MCP Server
To add your own tools to the MCP server, define each tool inside the init() method of src/index.ts using this.server.tool(...).
Connect to Cloudflare AI Playground
You can connect to your MCP server from the Cloudflare AI Playground, which is a remote MCP client:
- Go to https://playground.ai.cloudflare.com/
- Enter your deployed MCP server URL (
remote-mcp-server-authless.<your-account>.workers.dev/sse) - You can now use your MCP tools directly from the playground!
Connect Claude Desktop to your MCP server
You can also connect to your remote MCP server from local MCP clients, by using the mcp-remote proxy.
To connect to your MCP server from Claude Desktop, follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config.
Update with this configuration:
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/sse" // or remote-mcp-server-authless.your-account.workers.dev/sse
]
}
}
}
Restart Claude and you should see the tools become available.
📚 Documentation
📖 Complete Documentation Index - Find any documentation quickly!
Quick Access
- R2-STORAGE.md - R2 storage configuration and usage guide
- QUICKREF.md - Quick reference card with common commands
- DEPLOYMENT.md - Detailed deployment guide (step-by-step)
- EXAMPLES.md - PowerPoint usage examples and AI prompts
- IMPLEMENTATION.md - Technical architecture details
- SUMMARY.md - Complete project overview
- ARCHITECTURE.md - System architecture and diagrams
- TESTING.md - Comprehensive testing guide
- CHANGELOG.md - Version history and roadmap
🛠️ Helper Scripts
deploy.ps1- One-command deployment for both workersdev.ps1- Instructions for local development setup
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.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.