Connects Claude to the Alai presentation API for generating, editing, and exporting slide decks. You get 11 tools including generate_presentation for creating decks from text or markdown, create_slide and delete_slide for modifications, and export_presentation for PDF, PPTX, or shareable links. The workflow is async: kick off generation, poll get_generation_status, then use the returned presentation_id for edits or exports. Supports OAuth 2.1 with dynamic client registration or static API keys. Theme and vibe customization is exposed through get_themes and get_vibes calls. Reach for this when you need to turn meeting notes, pitch outlines, or rough content into formatted presentations without leaving your MCP client.
Public tool metadata for what this MCP can expose to an agent.
pingVerify your API key and return your user ID. Use this to test authentication.Verify your API key and return your user ID. Use this to test authentication.
No parameter schema in public metadata yet.
generate_presentationGenerate a presentation from text content. Returns a generation_id to poll. Poll get_generation_status until status is 'completed'.6 paramsGenerate a presentation from text content. Returns a generation_id to poll. Poll get_generation_status until status is 'completed'.
titlestringtheme_idstringinput_textstringslide_rangestringinclude_ai_imagesbooleanadditional_instructionsstringget_themesList the themes available to the authenticated user. Returns theme IDs and names for use with generate_presentation.List the themes available to the authenticated user. Returns theme IDs and names for use with generate_presentation.
No parameter schema in public metadata yet.
get_generation_statusCheck the status of an async operation (presentation, slide, export, or transcript). Status values: pending, in_progress, completed, failed. Poll every 2-5 seconds. Most operations complete in 30-120 seconds.1 paramsCheck the status of an async operation (presentation, slide, export, or transcript). Status values: pending, in_progress, completed, failed. Poll every 2-5 seconds. Most operations complete in 30-120 seconds.
generation_idstringget_presentationsList all presentations owned by the authenticated user. Returns a list of presentations with their IDs and titles.List all presentations owned by the authenticated user. Returns a list of presentations with their IDs and titles.
No parameter schema in public metadata yet.
create_slideAdd a new slide to an existing presentation. Returns a generation_id to poll for completion.5 paramsAdd a new slide to an existing presentation. Returns a generation_id to poll for completion.
slide_typestringclassic · creativedefault: classicslide_orderintegerslide_contextstringpresentation_idstringadditional_instructionsstringdelete_slideDelete a slide from a presentation.2 paramsDelete a slide from a presentation.
slide_idstringpresentation_idstringexport_presentationExport a presentation to PDF, PPTX, or get a shareable link. Returns a generation_id to poll. Download URLs available when completed.2 paramsExport a presentation to PDF, PPTX, or get a shareable link. Returns a generation_id to poll. Download URLs available when completed.
formatsarraypresentation_idstringgenerate_transcriptsGenerate speaker notes/transcripts for slides in a presentation. Returns a generation_id to poll. Transcripts available when completed.2 paramsGenerate speaker notes/transcripts for slides in a presentation. Returns a generation_id to poll. Transcripts available when completed.
slide_idsarraypresentation_idstringdelete_presentationPermanently delete a presentation and all its slides.1 paramsPermanently delete a presentation and all its slides.
presentation_idstringAI 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.
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc