com.getalai/presentations
Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link.
Open source Repository Open in the app JSON README (API)
About
Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link.
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- com.getalai
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Stars
- 5
- Last push
- 2026-04-23T18:45:17Z
- Repository state
- ativo
- Language
- JavaScript
- License
- MIT
- Added
- 2026-08-29 03:01:08
- Updated
- 2026-08-29 03:01:08
- Origin id
com.getalai/presentations
README
# Alai - AI Presentation Maker MCP Server
[](https://glama.ai/mcp/servers/getalai/Alai)
AI presentation maker and slide generator for Claude, Cursor, and MCP clients. Create designer-level presentations, pitch decks, and slides from text. Export to PowerPoint (PPTX) and PDF.
## What is Alai?
Alai is an **AI presentation maker** and the fastest way to create high-quality, beautiful slides without design skills.
- **Generate slides from text** - Turn notes, markdown, URLs, or documents into polished presentations
- **Beautify existing slides** - Restyle and improve your PowerPoint presentations with AI
- **Export anywhere** - Download as PowerPoint (PPTX), PDF, or shareable link
- **Professional themes** - Designer-level templates for any occasion
- **Speaker notes** - AI-generated talking points for each slide
- **Nano Banana Pro Image Slides** - Theme-aware image slide generation that matches your deck's visual style
- **Edit and iterate** - Make targeted changes to text, icons, and images on existing slides
## Use Cases
- **Pitch decks** - Create investor-ready presentations from your notes
- **Sales presentations** - Generate compelling slides for prospects
- **Meeting notes to slides** - Transform your notes into shareable decks
- **PowerPoint beautification** - Restyle existing slides with professional themes
- **Marketing presentations** - Build product and campaign decks quickly
## Features
- Generate designer-level presentations from text, markdown, or meeting notes
- AI-powered slide beautification and restyling
- Export to PowerPoint (PPTX) or PDF
- Professional pitch deck themes
- Add and remove slides from existing presentations
- Edit and iterate on existing slides with targeted prompts
- Generate speaker notes automatically
## Server URL
```
https://slides-api.getalai.com/mcp/
```
## Glama / Local Wrapper
This repository includes a local MCP wrapper so Glama can build, start, and inspect the server automatically.
The wrapper runs over stdio and forwards tool calls to the hosted Alai MCP endpoint:
- `ALAI_MCP_URL` - optional override for the upstream MCP URL
- `ALAI_API_KEY` - optional API key used when forwarding tool calls upstream
- `api_key` - alternate env var name supported for Glama placeholder arguments
Tool introspection works without credentials, which is enough for Glama to inspect the server. Real tool execution requires a valid API key.
### Run locally
```bash
npm install
npm start
```
With upstream credentials:
```bash
ALAI_API_KEY=sk_your_key npm start
```
## Authentication
The server accepts either a static API key or an OAuth 2.1 bearer token on the same endpoint.
### API Key
Get a key from [getalai.com](https://getalai.com) and pass it in one of these headers:
- `api-key: sk_your_key`
- `Authorization: Bearer sk_your_key`
### OAuth 2.1 with Dynamic Client Registration
The server implements RFC 9728 Protected Resource Metadata and delegates authorization to Supabase, which supports RFC 7591 Dynamic Client Registration and PKCE (S256). Spec-compliant MCP clients (e.g. Claude Desktop, MCP Inspector) can auto-discover the flow:
```
GET https://slides-api.getalai.com/.well-known/oauth-protected-resource
```
The response's `authorization_servers` entry points at the Supabase authorization server, whose `/.well-known/oauth-authorization-server` document advertises the `registration_endpoint`, `authorization_endpoint`, and `token_endpoint`. After the authorization code + PKCE flow, the client sends `Authorization: Bearer <jwt>` to the MCP endpoint.
## Available Tools
| Tool | Description |
|------|-------------|
| `ping` | Verify your API key and return your user ID |
| `generate_presentation` | Create a presentation from text content |
| `get_generation_status` | Check async operation status |
| `get_themes` | List themes available to the authenticated user |
| `get_vibes` | List vibes (visual styles) available to the authenticated user |
| `get_presentations` | List all your presentations |
| `create_slide` | Add a slide (classic or creative) to an existing presentation |
| `delete_slide` | Remove a slide from a presentation |
| `export_presentation` | Export to PDF, PPTX, or shareable link |
| `generate_transcripts` | Generate speaker notes for slides |
| `delete_presentation` | Permanently delete a presentation |
## Workflow
1. Call `generate_presentation` with your content
2. Poll `get_generation_status` every 2-5 seconds until status is `completed`
3. Use the returned `presentation_id` for further operations
## Example Usage
### Generate a Presentation
Call `get_themes` and `get_vibes` first to discover the IDs available to your account, then pass them in:
```json
{
"input_text": "Benefits of AI in the workplace: increased productivity, enhanced creativity, improved efficiency",
"title": "AI in the Workplace",
"theme_id": "<id from get_themes>",
"vibe_id": "<id from get_vibes>",
"slide_range": "2-5",
"include_ai_images": true,
"num_creative_variants": 1,
"total_variants_per_slide": 1,
"image_ids": [],
"export_formats": ["link"],
"language": "English"
}
```
Only `input_text` is required. `num_creative_variants` must be 0–2 (set to ≥1 when using `vibe_id`). `total_variants_per_slide` must be 1–4. `export_formats` accepts `"link"`, `"pdf"`, `"ppt"`.
### Check Generation Status
```json
{
"generation_id": "abc123-def456"
}
```
### Export Presentation
```json
{
"presentation_id": "xyz789",
"formats": ["pdf", "link"]
}
```
## Available Themes
Call `get_themes` to discover the themes available to your account (returns theme IDs and display names). A handful of built-in legacy theme names you can pass directly as `theme_id`:
- `AURORA_FLUX`
- `MIDNIGHT_EMBER`
- `EMERALD_FOREST`
- `DESERT_BLOOM`
- `DONUT`
- `OAK`
- `PRISMATICA`
- `SIMPLE_LIGHT`
- `SIMPLE_DARK`
- `CYBERPUNK`
## Configuration
### For Claude Desktop / MCP Clients
OAuth-capable clients (Claude Desktop, MCP Inspector, Cursor, etc.) can use just the URL — the client will discover and run the OAuth 2.1 + DCR flow on first connect:
```json
{
"mcpServers": {
"alai-presentations": {
"url": "https://slides-api.getalai.com/mcp/",
"transport": "streamable-http"
}
}
}
```
If you prefer to skip OAuth and use a static API key, add a header block:
```json
{
"mcpServers": {
"alai-presentations": {
"url": "https://slides-api.getalai.com/mcp/",
"transport": "streamable-http",
"headers": {
"api-key": "sk_your_api_key"
}
}
}
}
```
## Links
- [Website](https://getalai.com)
- [Get API Key](https://app.getalai.com)
- [API Documentation](https://docs.getalai.com/api)
## License
MIT License - See [LICENSE](LICENSE) file for details.