gamma-app-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GAMMA_API_KEY | Yes | Your Gamma API key (Account Settings > API Keys) | |
| GAMMA_BASE_URL | No | Override the public API base URL (default: https://public-api.gamma.app) | https://public-api.gamma.app |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gamma_generateA | Generate a Gamma presentation, document, webpage, or social post from text. Generation is asynchronous. Returns a generationId; poll gamma_get_status until status is 'completed' or 'failed' to retrieve the share URL. Args: input_text: Topic, outline, or full content (1-400000 chars). text_mode: How to interpret input — 'generate' (expand), 'condense', or 'preserve' (keep as-is). Default 'generate'. format: Output type — 'presentation', 'document', 'social', or 'webpage'. Omit to use Gamma's default. theme_id: Theme ID from gamma_list_themes. Omit for default theme. num_cards: Target card count (minimum 1, plan-dependent maximum). 0 = let Gamma decide. card_split: 'auto' or 'inputTextBreaks' (splits on blank lines in input). additional_instructions: Extra style/content guidance (max 5000 chars). export_as: Auto-export format — 'pdf', 'pptx', or 'png'. Empty for no export. folder_ids: Workspace folder IDs to place the output in (max 10). Use gamma_list_folders to discover IDs. text_options: Nested object with 'amount' (brief|medium|detailed|extensive), 'tone' (string, max 500 chars), 'audience' (string, max 500 chars), 'language' (ISO code, e.g. 'en', 'es', 'fr'). image_options: Nested object with 'source' (aiGenerated, pictographic, unsplash, webAllImages, webFreeToUse, webFreeToUseCommercially, giphy, pexels, placeholder, noImages, themeAccent), 'model' (e.g. 'dall-e-3', 'imagen-4-ultra', 'flux-2-pro'), 'style' (string, max 500 chars). card_options: Nested object with 'dimensions' (fluid, 16x9, 4x3, pageless, letter, a4, 1x1, 4x5, 9x16 — must match format) and 'headerFooter' (6-position layout with logos, card numbers, or text). sharing_options: Nested object with 'workspaceAccess' (noAccess, view, comment, edit, fullAccess), 'externalAccess' (noAccess, view, comment, edit), and 'emailOptions' ({recipients: [...], access: ...}). Call gamma_describe_options to inspect accepted enum values. |
| gamma_generate_from_templateA | Generate a variant from an existing Gamma template with swapped content. Uses POST /generations/from-template. The template Gamma must have exactly one Page. Layout is preserved; new content is generated from the prompt. Ideal for batch content with consistent branding — per-segment investor decks, per-lead LinkedIn cards, rebranded decks per channel partner. Args: prompt: Content description for the new variant (1-400000 chars). gamma_id: The Gamma ID of the template file (required). theme_id: Optional theme ID to override the template's theme. image_options: Same shape as gamma_generate's image_options. sharing_options: Same shape as gamma_generate's sharing_options. folder_ids: Workspace folder IDs to place the output in (max 10). export_as: Auto-export format — 'pdf', 'pptx', or 'png'. |
| gamma_get_statusA | Poll a generation job to retrieve status and results. Call after gamma_generate or gamma_generate_from_template with the returned generationId. Poll every few seconds until status is 'completed' or 'failed'. On completion, the response includes gammaUrl (shareable link), exportUrl (if exportAs was requested), and credits (deducted/remaining). Args: generation_id: The generationId returned from a generate call. |
| gamma_list_themesA | List themes available in the authenticated workspace. Returns both standard and custom themes with their IDs plus colorKeywords and toneKeywords metadata (50+ themes at last count). Cursor-paginated. Use the returned theme ID as the theme_id parameter when calling gamma_generate or gamma_generate_from_template. Args: query: Filter themes by name substring (e.g. 'dark'). Empty for no filter. limit: Results per page (1-50). 0 = let Gamma decide (default). after: Cursor from a previous response's nextCursor for pagination. |
| gamma_list_foldersA | List workspace folders the authenticated user is a member of. Cursor-paginated. Use the returned folder IDs as the folder_ids parameter when calling gamma_generate or gamma_generate_from_template to place output into specific folders. Args: query: Filter folders by name substring. Empty for no filter. limit: Results per page (1-50). 0 = let Gamma decide. after: Cursor from a previous response's nextCursor for pagination. |
| gamma_describe_optionsA | Describe accepted enum values for Gamma API parameters. Local lookup — no network call. Helps you discover valid values without trial and error. Args: category: Specific category to describe. One of: textModes, formats, cardSplits, textAmounts, imageSources, cardDimensions, cardDimensionsByFormat, exportTypes, workspaceAccessLevels, externalAccessLevels, emailAccessLevels, headerFooterElementTypes, headerFooterImageSources, headerFooterImageSizes, headerFooterPositions. Empty to list all categories. format: When category is cardDimensions or cardDimensionsByFormat, filter to allowed dimensions for a specific format (presentation, document, social, webpage). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: parameter discovery, generation from text, generation from template, status polling, folder listing, and theme listing. No two tools overlap in functionality.
All tools use snake_case with a 'gamma_' prefix. Most follow a verb_noun pattern, but 'gamma_generate' is just a verb (no noun object), and 'gamma_generate_from_template' uses a preposition. Minor inconsistency does not hinder understanding.
6 tools is well within the typical 3-15 range. Each tool serves a necessary role in the Gamma generation workflow without redundancy or bloat.
Covers the core generation lifecycle: parameter exploration, creation (two variants), status polling, and resource listing. Missing listing of existing Gammas or deletion, but these are not essential for the stated generation purpose.