edit_gamma
ChatGPTStarts an AI edit of an existing Gamma presentation or document from a natural-language instruction. Use this when the user wants to change the content of a Gamma they already have — rewording, restructuring, adding or removing content — rather than creating a new one (use generate for that). If the user asks to edit the Gamma they just generated, pass the generationId from the previous generate call. Requires the Gamma file ID or URL and a prompt describing the edit. The edit is asynchronous: this returns immediately with an editId and status "pending". Poll get_edit_status with the editId, waiting a few seconds between checks (do not tight-loop), until the status is "completed" or "failed". On completion, share the summary of changes and the gammaUrl; on failure, report the error or reason. Do NOT call edit_gamma again to check progress (that starts a brand-new edit). Edits can add, remove, reorder and rewrite cards (slides) within a page; this tool cannot add new pages to a multi-page Gamma. Only one edit can run per Gamma at a time: wait for the current edit to complete or fail before starting another.
export_gamma
ChatGPTStarts exporting an existing Gamma presentation or document to a downloadable file. Use this when the user wants a PDF, PowerPoint (pptx), or PNG image export of a Gamma they already have. Requires the Gamma file ID or URL and the format: "pdf", "pptx", or "png" (png returns a ZIP archive with one PNG per card). This returns an exportId immediately. Where an interactive widget is displayed, it shows export progress and the download link on its own, so do not call get_export_status. Where there is no interactive widget, such as a CLI or terminal client that does not render MCP Apps, poll get_export_status with the exportId, waiting a few seconds between checks (do not tight-loop), until the status is "completed" or "failed". On completion, share the download URL; on failure, report the error or reason. Do NOT call export_gamma again to check progress (that starts a brand-new export). The download link expires after about one week and is not tied to the API key, so share it carefully and download promptly.
generate
ChatGPTUse this when the user wants to create a NEW presentation, document, webpage, or social media post. Use generate for any creation request unless the user references a template they want to create from. This tool can only create new content — it cannot edit, modify, or refine an existing Gamma. After generation, direct the user to open their Gamma via the gammaUrl to make any edits, theme changes, or refinements in the Gamma editor. Do not offer to adjust, tweak, or refine the generated content yourself. Only include optional parameters when the user explicitly requests or clearly implies them. Gamma has intelligent defaults. When in doubt, omit. When uncertain about user preferences, ask rather than assume. Always share the output gammaUrl with the user when it's available.
generate_from_template
ChatGPTUse this when the user wants to create a NEW gamma by adapting, remixing, or transforming an existing template gamma. The source template gamma’s structure (card count, sections, layout) is preserved by default, but the prompt can direct changes — e.g. adding/removing/reordering cards, adapting for a different audience, transforming the subject matter, replacing images, populating cards from supplied data, or substituting variables and placeholders. Unlike the generate tool (which determines structure from scratch), this tool starts from an existing template gamma and uses it as the source material for the new one. Choose this tool whenever the user references an existing template gamma as the starting point — whether they want to populate it with new content, adapt it for a different audience or topic, generate a variation, or maintain consistent styling across multiple generated gammas. Requires a gammaId identifying the source template gamma in the user’s workspace. Important: the input gammaId MUST point to a template gamma; a regular non-template gamma won't be accepted. Prefer IDs returned by get_gammas with type="template". If the user provided a template ID, you may use it as-is. Do not pass URLs, placeholder IDs, or regular/non-template gamma IDs. If this tool reports that the gamma is not accessible or is not a template, recover by calling get_gammas with type="template" to find a valid template, or use generate if the user actually wanted to create from non-template source material. This tool can only create new gammas — it cannot edit, modify, or refine an existing gamma (including one it previously generated). After generation, direct the user to open their gamma via the gammaUrl to make any edits. Do not offer to adjust, tweak, or refine the generated content yourself. Only include optional parameters when the user explicitly requests or clearly implies them. Gamma has intelligent defaults. When in doubt, omit. When uncertain about user preferences, ask rather than assume. Always share the output gammaUrl with the user when it's available.
generate_image
ChatGPTGenerates one standalone image from a text prompt. Use this when the user wants an image, illustration, or photo on its own — NOT a presentation, document, or webpage (use generate for those), and NOT a file export of an existing Gamma (use export_gamma). Choose a type ("illustration", "scene", "photo", "abstract") and sizePreset for aspect ratio; for brand styling, find a themeId with get_themes, or omit it for the workspace default. Generation is asynchronous (it takes longer than a request can stay open): this returns immediately with an imageGenerationId and status "pending". If your host displays the image widget, it shows generation progress and the finished image on its own — do nothing else. If you do NOT have a widget UI (for example a CLI or terminal client), poll get_image_generation_status with that id, waiting a few seconds between checks (do not tight-loop), until status is "completed" (then share the returned image URL) or "failed" (then report the error). Do NOT call generate_image again to check progress (that starts a new, separately billed generation).
generate_multi_page_gamma
ChatGPTUse this for one-shot creation of a MULTI-PAGE Gamma: a single Gamma containing several distinct pages under one URL. Ideal for sales rooms, proposal sites, onboarding portals, and microsites assembled from multiple sections (e.g. one page per prospect topic). Provide pages[] in the order they should appear; each page carries its own inputText and per-page settings (title, numCards, format, textMode, cardSplit, textOptions, imageOptions, path). File-wide settings (theme, folders, card dimensions, sharing, export, publish, overall title) apply to all pages. Prefer the generate tool when the user wants a single presentation, document, webpage, or social post; use this only when the user wants several distinct pages within one Gamma. This tool can only create new content — to edit, modify, or refine an existing Gamma (including one it previously generated), use the edit_gamma tool instead. Only include optional parameters when the user explicitly requests or clearly implies them. Gamma has intelligent defaults. When in doubt, omit. When uncertain about user preferences, ask rather than assume. Always share the output gammaUrl with the user when it's available.
get_edit_status
ChatGPTChecks the status of an edit previously started with edit_gamma, using its editId. Poll this tool with the editId until the status is "completed" or "failed". If the status is "pending", wait a few seconds before checking again; do not tight-loop. Returns "completed" with a summary of the changes, "failed" with an error or reason, or "pending" if the edit is still running. On completion, share the summary and the gammaUrl; on failure, report the error or reason. Do NOT call edit_gamma again to check on an existing edit; that starts a brand-new edit.
get_export_status
ChatGPTChecks the status of an export previously started with export_gamma, using its exportId. Where an interactive widget is displayed, the widget polls for completion and shows the download link automatically, so only use this tool if the user explicitly asks for status. Where there is no interactive widget, such as a CLI or terminal client that does not render MCP Apps, poll this tool with the exportId until the status is "completed" or "failed". If the status is "pending", wait a few seconds before checking again; do not tight-loop. Returns "completed" with a download URL, "failed" with an error or reason, or "pending" if it is still rendering. On completion, share the download URL; on failure, report the error or reason. The download URL expires after about one week and is not tied to the API key, so share it carefully and download promptly.
get_folders
ChatGPTUse this when the user wants to browse available Gamma folders or search for a specific folder by name.
get_gamma_analytics
ChatGPTGets engagement analytics for an existing Gamma presentation or document: total views, unique viewers and editors, card count, when it was last opened, and a 30-day daily viewer trend. Use this as the default when the user asks how a gamma is performing or how many people have seen it. Requires the Gamma file ID or URL. In clients that support MCP apps this renders an interactive widget that already shows the summary, card-by-card engagement, and the viewer list — you do not need to call the other analytics tools unless the user asks for exact numbers. Analytics data is eventually consistent and can lag by about an hour.
get_gamma_card_analytics
ChatGPTGets card-by-card engagement for an existing Gamma: total time viewers spent on each card and the percentage of viewers who reached it. Every card in the gamma is included in deck order, each with its title (cardName, null for untitled cards) and 1-based position; cards with no recorded activity have zeroed stats. Refer to cards by title when available, falling back to "Card N". Use this when the user asks which cards or slides performed best, where viewers dropped off, or how far people got. Requires the Gamma file ID or URL. Analytics data is eventually consistent and can lag by about an hour.
get_gamma_viewer_analytics
ChatGPTGets the list of people who viewed an existing Gamma: display name and email for signed-in viewers (null for anonymous viewers), when they last opened it, and how many cards they viewed. Use this when the user asks who has seen a gamma, or to find a specific viewer by name or email. Results are paginated: use limit and the after cursor from the previous response to fetch more. To find a specific person (e.g. "get me the analytics for John Doe on this gamma"): scan each page for their name or email. Only conclude the person has not viewed the gamma after the last page (no nextCursor) — never from the first page alone. Once found, pass their viewerId as userId to get_gamma_viewer_detail_analytics for that person's detailed engagement. Requires at least edit permission on the gamma: manage permission shows all viewers, edit-only shows at most the API user's own activity. If the API returns a 403, tell the user analytics requires at least edit access on the gamma. Requires the Gamma file ID or URL. Analytics data is eventually consistent and can lag by about an hour.
get_gamma_viewer_detail_analytics
ChatGPTGets one viewer's detailed engagement with an existing Gamma: their name and email, when they last opened it, how many of its cards they viewed, and the share of their total view time spent on each card. Every card in the gamma is included in deck order, each with its title (cardName, null for untitled cards) and 1-based position; cards the viewer never viewed have a viewTimePercent of 0. Refer to cards by title when available, falling back to "Card N". Use this when the user asks how a specific person engaged with a gamma. Requires the userId — the viewerId returned by get_gamma_viewer_analytics. If you only have a name or email, find the person with get_gamma_viewer_analytics first (paginating with the after cursor until found or pages run out). Anonymous viewers and users who did not view the gamma will not have valid analytics to find (404). Requires the Gamma file ID or URL. Analytics data is eventually consistent and can lag by about an hour.
get_gammas
ChatGPTUse this when the user wants to browse or search their existing gammas. Optionally filter by type (template, regular, or all) using the type parameter, and/or search by title using the query parameter. Every returned gamma has a type: "template" or "regular". Results are paginated; use limit to control page size and after to fetch the next page. Important: when continuing pagination, keep query and type unchanged from the previous call and only advance after. Changing query or type while reusing a cursor can produce skipped, duplicated, or otherwise inconsistent results.
get_generation_status
ChatGPTCheck the status of a Gamma generation previously created with 'generate' or 'generate_from_template'. Only use this tool if the user explicitly asks for the status — the interactive widget rendered by the generate tools already polls for completion and updates automatically when done. Do not poll in a loop.
get_image_generation_status
ChatGPTChecks the status and results of an image generation started with generate_image, using its imageGenerationId. If your host displays the image widget, it polls this for you — you do not need to call it. If you do NOT have a widget UI (for example a CLI or terminal client), poll it yourself, waiting a few seconds between checks (do not tight-loop), until status is "completed" (returns the image URL and its dimensions) or "failed" (returns an error); it returns "pending" while the image is still generating. Do NOT call generate_image again to check on an existing job; that starts a new, separately billed generation.
get_themes
ChatGPTFetches available themes. Call this when the user describes visual styling (e.g., 'professional', 'colorful', 'modern', 'cute') or explicitly requests a theme. Skip this tool if the user makes no mention of themes or styling - Gamma's default theme works well. Query by name if the user references a specific theme; otherwise fetch the full list and match tone/color keywords to user preferences and topic.
read_gamma
ChatGPTReads the content of an existing Gamma presentation or document. Use this when the user wants to read, reference, or learn about the content of an existing Gamma. Requires the Gamma file ID or URL. CRITICAL: Present the full human-readable content of every card to the user — including all text, images, videos, embeds, charts, tables, diagrams, and other visuals. Do NOT show raw HTML or JSON. Only summarize if the user explicitly asks for a summary.
search_gammas
ChatGPTFull-text search over the gammas the user can access, matched against titles and body text. Use this when the user is looking for gammas by topic, phrase, or content rather than browsing by title. Results are relevance-ranked and each hit includes a query-centered highlight snippet. Filter with createdBy ("me", an email, or a user ID) and updatedAfter/updatedBefore (ISO-8601). An empty q with at least one of those filters browses matching gammas ordered by last-updated descending. Set includeArchived to also include archived gammas in the search or browse. For simple title-based browsing or template discovery, use get_gammas instead.
search_templates
ChatGPTSearch templates. Returns two separate lists: workspaceTemplates (templates in the user's workspace) and exploreTemplates (the official Gamma explore templates). Only workspaceTemplates hits can be used with generate_from_template — pass a workspace hit's id as the gammaId. NEVER pass an exploreTemplates id to generate_from_template; explore hits are for browsing and preview only (link them by url). generate_from_template checks a workspace hit at generation time and can reject it (for example a multi-page, site-bound, or Aurora template) — when that happens, try another workspaceTemplates hit. Workspace hits are always ordered by last edited, most recent first. Explore hits are relevance-ranked when q is given. Omit q to browse both lists.
generate
Claudeget_folders
Claudeget_themes
Claude