loading…
Search for a command to run...
loading…
Generate, edit, and export high quality presentations with AI to PDF, PPTX, or a shareable link.
Generate, edit, and export high quality presentations with AI to PDF, PPTX, or a shareable link.
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.
Alai is an AI presentation maker and the fastest way to create high-quality, beautiful slides without design skills.
https://slides-api.getalai.com/mcp/
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 URLALAI_API_KEY - optional API key used when forwarding tool calls upstreamapi_key - alternate env var name supported for Glama placeholder argumentsTool introspection works without credentials, which is enough for Glama to inspect the server. Real tool execution requires a valid API key.
npm install
npm start
With upstream credentials:
ALAI_API_KEY=sk_your_key npm start
The server accepts either a static API key or an OAuth 2.1 bearer token on the same endpoint.
Get a key from getalai.com and pass it in one of these headers:
api-key: sk_your_keyAuthorization: Bearer sk_your_keyThe 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.
| 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 |
generate_presentation with your contentget_generation_status every 2-5 seconds until status is completedpresentation_id for further operationsCall get_themes and get_vibes first to discover the IDs available to your account, then pass them in:
{
"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".
{
"generation_id": "abc123-def456"
}
{
"presentation_id": "xyz789",
"formats": ["pdf", "link"]
}
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_FLUXMIDNIGHT_EMBEREMERALD_FORESTDESERT_BLOOMDONUTOAKPRISMATICASIMPLE_LIGHTSIMPLE_DARKCYBERPUNKOAuth-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:
{
"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:
{
"mcpServers": {
"alai-presentations": {
"url": "https://slides-api.getalai.com/mcp/",
"transport": "streamable-http",
"headers": {
"api-key": "sk_your_api_key"
}
}
}
}
MIT License - See LICENSE file for details.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"getalai-alai-mcp-server": {
"command": "npx",
"args": []
}
}
}