Skip to main content
Glama

Alai - AI Presentation Maker MCP Server

Alai MCP server

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

Related MCP server: Google Slides MCP Server

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

npm install
npm start

With upstream credentials:

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 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:

{
  "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

{
  "generation_id": "abc123-def456"
}

Export Presentation

{
  "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:

{
  "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"
      }
    }
  }
}

License

MIT License - See LICENSE file for details.

Available Tools

11 tools
create_slideAInspect

Add a new slide to an existing presentation. Use this for targeted edits after a deck already exists, including classic content slides or more creative visually led slides.

Inputs: presentation_id (required), prompt (required), slide_type, insert_after_slide_id, +2 more.

delete_presentationAInspect

Delete a presentation permanently. Use this destructive action only when the caller explicitly intends to remove the deck.

Inputs: presentation_id (required).

delete_slideAInspect

Remove a slide from a presentation permanently. Use this only when you know the exact slide identifier to delete.

Inputs: presentation_id (required), slide_id (required).

export_presentationAInspect

Export a finished presentation to PDF, PowerPoint, or a shareable link. Use this after generation or editing when you need a deliverable artifact.

Inputs: presentation_id (required), formats (required).

generate_presentationAInspect

Create a new presentation from raw text or markdown. Use this to turn notes, outlines, meeting summaries, or draft content into an Alai deck before polling get_generation_status.

Inputs: input_text (required), title, theme_id, vibe_id, +7 more.

generate_transcriptsAInspect

Generate speaker notes or transcripts for slides in an existing presentation. Use this when the deck visuals are ready and you need talking points for delivery.

Inputs: presentation_id (required), slide_ids.

get_generation_statusAInspect

Check the status of an asynchronous presentation generation job. Use this after generate_presentation until the status reaches completed or failed.

Inputs: generation_id (required).

get_presentationsAInspect

List presentations owned by the authenticated user. Use this when you need to pick an existing presentation_id before editing, exporting, or deleting.

Inputs: no named parameters.

get_themesAInspect

List themes available to the authenticated account. Call this before generate_presentation when you need valid theme_id values.

Inputs: no named parameters.

get_vibesAInspect

List available vibe identifiers that control the visual style of generated decks. Use this before setting vibe_id on generate_presentation or create_slide.

Inputs: no named parameters.

pingAInspect

Verify the configured Alai credentials and return account identity details. Use this first when you need to confirm authentication before creating or exporting presentations.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 11 tools

    Disambiguation5/5

    Each tool targets a distinct action and resource, such as creating, deleting, exporting, or listing. No two tools have overlapping purposes, making it easy for an agent to select the correct one.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_slide, delete_presentation, get_themes). This predictability aids agent understanding.

    Tool Count5/5

    With 11 tools covering creation, deletion, export, status checking, listing, and authentication, the count is well-scoped for a presentation generation service.

    Completeness3/5

    The set lacks update operations (e.g., update_slide, update_presentation) and retrieval of a single presentation's details (e.g., get_slides). This could force agents to work around gaps, though core create/delete/export flows exist.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers