Skip to main content
Glama
632,423 tools. Updated 2026-10-03 06:45

"Making a presentation in Google Slides" matching MCP tools:

  • Get thumbnail images for all slides in a Google Slides presentation. Returns rendered PNG images of each slide. Use this for a final visual check of layout and formatting.
    ConnectorOAuth
  • Create a Google Slides deck from a structured outline. Unlike create_presentation, which takes raw slides, this one applies Google's own layouts, so it suits decks meant to look designed. Pick a layout per slide and fill only the slots that layout provides; Google positions everything via placeholders (no manual geometry). Layouts are Google's own PredefinedLayout names, so they match the Slides API you already know. Layout → slots: TITLE = title + subtitle (opening slide); SECTION_HEADER = title only (a divider — no subtitle); TITLE_AND_BODY = title + bullets OR body; TITLE_AND_TWO_COLUMNS = title + body/bullets (LEFT) + body_right/bullets_right (RIGHT) — fill both sides or the empty one shows as a blank box when edited; MAIN_POINT / BIG_NUMBER / TITLE_ONLY = title only; BLANK = nothing. Set bullets for lists (it wins over body when both are given); keep each slide to one idea. Workflow: build, then call describe_slides to catch dropped content / overflow / overlap, then preview_slides for a final visual check.
    ConnectorOAuth
  • Moves a deck (slides, script and Q&A documents) to the trash, where restore_deck can recover it for 30 days before it is purged. confirm_title must exactly match the deck's current title, otherwise the call is refused; the active presentation cannot be deleted. Returns a trash_id.
    Connector
    Destructive
    OAuth
  • Create a complete PowerPoint presentation (.pptx): a whole multi-slide deck, native and editable, in one call. `slides` is a list of create_slide intents (same form menu + data shapes — see create_slide). Slides fill in parallel and merge into one themed PPTX with page numbers. Include furniture: a hero_statement cover, section_divider breaks, and a closing (hero_statement variant=contact_closing via blocks-free slots). BLOCKED (not billed)? If an error has `can_autofix:true`, merge its `patch` into the args at `patch_target`. Unchanged retries repeat the block. New form: browse_catalog(type=schema) first. Also: mode=assemble merges existing slide job_ids as-rendered (free; theme_id does NOT re-theme them — render with create_deck(slides=[…], theme_id=…) for a unified theme); mode=fork clones a deck (free). Polling: deck_id == job_id — manage_account(action=job, job_id=<deck_id>).
    ConnectorNo auth
  • DEPRECATED: call create_presentation with an `audio` array instead — it is the same thing in one call, and the slides are viewable while the narration lands. Publish an html-presentation/v1 document using audio YOU synthesized locally (e.g. with `bisque-voice`) — free, unlimited, and works on macOS, Linux and Windows. Send each narrated slide's word timings and MP3 metadata; the server assembles presentation.json (recomputing cues from your narration markers) and returns one upload URL per MP3. Then PUT each file and POST the returned completeUrl with the returned `files` array. RE-PUBLISHING: `audio` is optional — any narrated slide you omit reuses the audio from the last publish whenever its narration text and speechSpeed are unchanged, so an HTML-only edit needs no synthesis at all. The response reports `reused`, `synthesized`, and `staleSlides` (narrated slides whose text changed and have no audio — synthesize exactly those and publish again). Use create_presentation instead to have the server narrate.
    Connector
    Destructive
    No auth

Matching MCP Servers

Matching MCP Connectors

  • Open-source AI presentation builder from Builder.io: every app action — generating a deck from a prompt, editing and reordering slides, applying brand styles, sharing — is exposed as an MCP tool, plus an ask-agent meta-tool that hands complex requests to the app's own agent loop. Streamable HTTP with OAuth 2.1 dynamic client registration; MIT-licensed and self-hostable.

  • Agent-Native Google Slides - generate and edit React presentations

  • Render one final Flaut.Travel destination widget after all discover_destinations calls are complete. Call this tool exactly once and pass the complete structuredContent results unchanged, in the order they should be combined. Results must use the same locale; filters, pages, and limits may differ. The tool preserves first-seen search order, deduplicates cities, limits the final presentation to 20 destinations, and renders a clear empty state when every result is empty. The attached Flaut.Travel component is the complete authoritative presentation; do not recreate it as a separate carousel, card grid, list, or table.
    ConnectorNo auth
  • Update settings on a Google Ads conversion action that Google has already synced from a linked GA4 property's key event (see create_google_ads_link and mark_key_event in the Google Analytics connector - Google imports it automatically once both exist; there is no Ads API call to create or trigger that import). Use this to set primaryForGoal true, which is what actually makes it usable as a MAXIMIZE_CONVERSIONS bidding goal. Find the conversion action id first with run_gaql_report, e.g. "SELECT conversion_action.id, conversion_action.name, conversion_action.google_analytics_4_settings.event_name FROM conversion_action WHERE conversion_action.type IN ('GOOGLE_ANALYTICS_4_CUSTOM','GOOGLE_ANALYTICS_4_PURCHASE','GOOGLE_ANALYTICS_4_GENERATE_LEAD','GOOGLE_ANALYTICS_4_QUALIFY_LEAD','GOOGLE_ANALYTICS_4_CLOSE_CONVERT_LEAD')" (enum fields reject LIKE/wildcards - see run_gaql_report). Note: includeInConversionsMetric is immutable on a GA4-synced action once Google has set it - expect an IMMUTABLE_FIELD error if you try to change it; primaryForGoal and status remain changeable.
    ConnectorOAuth
  • Creates a PowerPoint presentation (.pptx) at `path` from an array of slides, each {title, bullets:[…]}. Requires confirm=true — called without it, returns a preview of the deck instead of writing the file. The path must be somewhere Local MCP can write; Desktop/Documents/Downloads may need a one-time Files-and-Folders grant (System Settings → Privacy & Security → Files and Folders). Returns {created, path, slides}.
    ConnectorOAuth
  • The agent's UI taste notes: a short freeform markdown document of presentation preferences gathered from human feedback, such as 'denser layout' or 'no rounded corners'. Reading it before generating or revising an app is what carries earlier feedback into new output. Actions: get returns the current document; set replaces it in whole, so it does not append; clear discards it. Scoped to presentation preferences rather than general storage.
    Connector
    Destructive
    No auth
  • The agent's UI taste notes: a short freeform markdown document of presentation preferences gathered from human feedback, such as 'denser layout' or 'no rounded corners'. Reading it before generating or revising an app is what carries earlier feedback into new output. Actions: get returns the current document; set replaces it in whole, so it does not append; clear discards it. Scoped to presentation preferences rather than general storage.
    Connector
    Destructive
    No auth
  • Canonical profile of a US internet provider by name (handles brand variants, e.g. 'ATT', 'Google Fiber'). Returns the canonical identity, FCC registration numbers, technologies filed, the live profile URL, and — when precomputed — an answer pack of grounded sections (overview, coverage, measured-vs-claimed speeds, competition, recent signals, trajectory). Use it to disambiguate providers before making claims about them.
    ConnectorNo auth
  • Deletes a file or an empty folder from the synced Google Drive folder — Google Drive for Desktop syncs the deletion to the cloud (the item lands in Drive's trash). Deleting a .gdoc/.gsheet/.gslides pointer removes the real Google Doc/Sheet/Slides. Never deletes a folder that still has contents. First call returns a preview of what was actually found at that path; pass confirm=true to delete.
    Connector
    Destructive
    OAuth
  • Fetch the html-presentation/v1 authoring contract: document structure, the dual landscape/vertical layout rule, and the narration markup that makes slides speak. Call this BEFORE authoring for create_presentation — documents written without it publish with missing audio.
    ConnectorNo auth
  • Read the text content of a Google Doc, Sheet, or Slides presentation. Docs export as plain text, Sheets as CSV, Slides as plain text. For large files, returns a size warning instead of content — use max_chars and offset to read in chunks. file_id also accepts a ShareWatch handoff code of the form SW-XXXXXXXX. The user gets one by opening a file from Google Drive with ShareWatch, and it stands for that file until it goes unused for 30 days. The result always reports the real file_id, so use that value for any follow-up call rather than the code.
    ConnectorOAuth
  • Quote an Ad Lab Proof pack. Does not generate. Default 6 slides at 4:5: hook, in-the-life stills for the user’s niche, and a soft CTA. Pass hasScreenshot true when a product screenshot will be composited on the last slide.
    ConnectorOAuth
  • Search PPT Depot's catalog of consulting-grade PowerPoint template decks by keyword (name, headline, description, and the titles and tags of the slides inside each deck). Optional category filter. Returns relevance-ranked templates with page URL, cover image, slide count, and cart URL. Use this first to find a template_id for get_template. For individual slides or frameworks (for example "SWOT matrix" or "issue tree"), use search_slides.
    ConnectorNo auth
  • Builds a chat mockup in a Mimicly template from a conversation the user wants, for a story, video, lesson, design, presentation or demo. Returns a watermarked preview image URL, an "Open in Mimicly editor" URL where the user can edit, export or record the scene, and the Mimicly iOS App Store link. Scenes are fictional mockups written by the user. The tool is not for posing as a real person, company or institution, for making a chat look like real evidence, or for misleading someone, and the server refuses such scenes. Limits: up to 30 messages and 4000 characters in total. Messages cannot contain links, login or verification codes, passwords, or payment or account details. Nothing is posted or saved to an account. Links stop working after 30 days.
    ConnectorNo auth
  • Read and fix Slider Revolution sliders on a connected WordPress site — the hero sliders added with a [rev_slider alias="..."] shortcode. Slider Revolution keeps its slides in its OWN database tables, not in the post content and not in Elementor's data, which is why wordpress_page_design can see the shortcode but never the button, headline or link inside the slide. That is where leftover THEME DEMO content hides: a "Read more" button still pointing at the theme author's demo site, an old phone number, a stale campaign headline. action: 'list' = every slider with its alias, shortcode and slide count; 'get' = the slides of one slider (slider_id) with the texts and links found in each, so you can see exactly what is in there; 'replace' = swap a literal string (find → replace) across that slider's slides, e.g. the demo URL for the real one; 'restore' = undo the last replace. Replace is a plain text swap — the slide structure is never rebuilt, so it cannot corrupt the slider — and it also matches the escaped form URLs take inside the stored JSON. Run 'replace' with confirm=false first: that reports which slides contain the string without changing anything. The previous values are backed up before every write. Requires Opus Growth Connector 0.6.0 or newer.
    Connector
    Destructive
    OAuth
  • Returns the guide (Markdown) for making a playable demo of an app that can't run in a browser: native Swift/Kotlin apps, or apps that need a server, login or hardware. No arguments, no auth. Call it before publish_app for such apps.
    ConnectorNo auth
  • Read one Drive file's TEXT content by id. Google-native docs (Docs/Sheets/Slides) are exported as text (default text/plain, spreadsheets text/csv — override with export_mime_type); other files are read as UTF-8 text directly (garbles binary formats like images/PDFs — use download_file_content for those). Content is capped (large files are truncated, `truncated: true`). Needs the Drive CONTENT scope (drive.readonly) — accounts without it get a reconnect hint. Pass `account` when more than one content-capable account is connected.
    ConnectorOAuth