# Mcp Google Slides MCP server

Agent View of the PolicyLayer registry record for Mcp Google Slides: identity, probed posture, risk grade, and all 26 tools classified. HTML page: https://policylayer.com/tools/a1-x-tech-mcp-google-slides

## Facts

- Server id: `@a1-x-tech/mcp-google-slides`
- Install: `npx -y @a1-x-tech/mcp-google-slides`
- Homepage: https://github.com/A1-x-Tech/mcp-google-slides
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 26 (26 with introspected schema)
- Tool categories present: Destructive, Read, Write
- Context-window cost: 7827 tokens per request — https://policylayer.com/token-cost/a1-x-tech-mcp-google-slides
- Tags: a1 x tech mcp google slides, admin
- Record last modified: 2026-10-04T11:39:57.075Z

## Tools (26)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `delete_object` | Destructive | Critical | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/delete-object.md |
| `edit_table` | Destructive | Critical | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/edit-table.md |
| `manage_comments` | Destructive | Critical | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/manage-comments.md |
| `batch_update` | Execute | High | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/batch-update.md |
| `raw_request` | Execute | High | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/raw-request.md |
| `get_page` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-page.md |
| `get_presentation` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-presentation.md |
| `get_speaker_notes` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-speaker-notes.md |
| `get_thumbnail` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/get-thumbnail.md |
| `list_layouts` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/list-layouts.md |
| `list_slides` | Read | Low | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/list-slides.md |
| `add_slide` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/add-slide.md |
| `create_image` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-image.md |
| `create_presentation` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-presentation.md |
| `create_shape` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-shape.md |
| `create_table` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/create-table.md |
| `duplicate_slide` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/duplicate-slide.md |
| `export_presentation` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/export-presentation.md |
| `insert_text` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/insert-text.md |
| `move_slides` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/move-slides.md |
| `replace_image` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/replace-image.md |
| `replace_text` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/replace-text.md |
| `set_speaker_notes` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/set-speaker-notes.md |
| `set_text` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/set-text.md |
| `update_text_style` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/update-text-style.md |
| `update_transform` | Write | Medium | https://policylayer.com/tools/a1-x-tech-mcp-google-slides/update-transform.md |

## Tool descriptions

- `delete_object` — Deletes a slide or a page element (shape, image, table, video, line, group) by object id — batchUpdate deleteObject. Deleting a slide removes all its elements and speaker notes; deleting a group removes its children. There is no undo thr…
- `edit_table` — Restructures an existing table in one call. action=insert_rows needs row_index (+optional below, default true, and count 1-20); insert_columns needs column_index (+optional right, default true, and count); delete_row needs row_index and …
- `manage_comments` — Comment threads on the presentation file (served by the Drive API internally — scoped to this one file, no generic Drive access). action=list returns comments with replies and resolved status (pageSize/page_token to paginate, include_del…
- `batch_update` — Sends raw Slides API batchUpdate requests for anything the typed tools don't cover: updateShapeProperties (fill, outline, shadow), updatePageProperties (slide background), updateParagraphStyle, createParagraphBullets, updateTableCellProp…
- `raw_request` — Escape hatch to call any Google Slides API v1 path directly, for requests even batch_update doesn't cover — e.g. GET "v1/presentations/<id>/pages/<pageId>" with a custom fields mask in the query string, or a POST with a body shaped diffe…
- `get_page` — Returns one page in full by its object id — works for slides, layouts, masters and notes pages alike. For a slide the response includes slideProperties.notesPage (the speaker-notes page) and every pageElement with its size, transform (EM…
- `get_presentation` — Returns the raw presentation JSON: slides[] with every page element (shapes, text runs, tables, images), layouts[], masters[], notesMaster, pageSize (EMU: 1 pt = 12700 EMU) and revisionId. WARNING: a full deck is often hundreds of kiloby…
- `get_speaker_notes` — Returns a slide's speaker notes as plain text, plus the speakerNotesObjectId (the text shape on the slide's hidden notes page). The lookup fetches the slide's notes page internally, so you only need the slide's object id from list_slides…
- `get_thumbnail` — Renders one page (slide, layout or master) as a PNG. Without output_path it returns contentUrl + width/height — the URL is short-lived (~30 minutes) and served from googleusercontent.com. With output_path the PNG is downloaded and saved …
- `list_layouts` — Lists the presentation's theme building blocks: layouts[] (objectId, name like TITLE_AND_BODY, displayName, masterObjectId), masters[] and the notesMasterObjectId. Layout object ids feed add_slide's layout_object_id; the Slides API canno…
- `list_slides` — Compact inventory of the deck — the read to start from: presentationId, title, revisionId, pageSizePt, slideCount and per slide its 0-based index, objectId, layoutObjectId, speakerNotesObjectId and elements[] with each element's objectId…
- `add_slide` — Adds a slide (batchUpdate createSlide) and returns the new slide's objectId in the reply. Pick the look with either predefined_layout (BLANK, TITLE, TITLE_AND_BODY, SECTION_HEADER, ...) or layout_object_id from list_layouts — not both; w…
- `create_image` — Inserts an image on a slide (batchUpdate createImage) from EITHER image_url — a public https URL Google's servers can fetch (validated: https-only, no private/local hosts, ≤2 kB; the image itself must be PNG/JPEG/GIF, ≤50 MB, ≤25 megapix…
- `create_presentation` — Creates a new Google Slides presentation and returns it (presentationId, revisionId, pageSize, the initial title slide with its object ids, layouts and masters). The API honors only the title at creation — add slides with add_slide, cont…
- `create_shape` — Creates a shape on a slide (batchUpdate createShape), optionally with its initial text in the same atomic batch. Types: text_box, rectangle, round_rectangle, ellipse, diamond, triangle, right_arrow, left_arrow, up_arrow, down_arrow, star…
- `create_table` — Creates an empty rows x columns table on a slide (batchUpdate createTable) and returns its objectId in the reply. Fill cells with set_text / insert_text using row_index + column_index (0-based); restructure later with edit_table. Positio…
- `duplicate_slide` — Duplicates a slide (batchUpdate duplicateObject) — the copy, with all its elements and speaker notes, lands immediately after the original and its new objectId comes back in the reply. Works on any page element id too (the copy lands on …
- `export_presentation` — Downloads the whole presentation as pdf, pptx, odp or txt (txt = all text incl. speaker notes) and saves it to output_path, overwriting an existing file. Served by the Drive export endpoint internally, which caps exports at 10 MB — a big…
- `insert_text` — Inserts text into a shape or a table cell (batchUpdate insertText) at a 0-based character index (default 0 = the beginning). For a table cell pass row_index + column_index together. Text carries \n for new paragraphs; the target must be …
- `move_slides` — Moves one or more slides to a new position (batchUpdate updateSlidesPosition). slide_object_ids must appear in their current deck order with no duplicates; insertion_index is the 0-based position BEFORE the move is applied (moving a slid…
- `replace_image` — Swaps the bitmap of an existing image element while keeping its frame, position and effects (batchUpdate replaceImage). The new picture comes from image_url or image_path with exactly the same validation/upload/cleanup rules as create_im…
- `replace_text` — Finds and replaces every occurrence of a string across the whole deck — shapes and table cells on slides, and their speaker notes (batchUpdate replaceAllText). Scope it with page_object_ids to touch only specific slides. Matching is lite…
- `set_speaker_notes` — Replaces a slide's speaker notes with the given text (empty string clears them). The tool resolves the slide's speakerNotesObjectId internally and rewrites that shape atomically — you pass the slide's object id, not the notes shape id. N…
- `set_text` — Replaces the ENTIRE text of a shape or table cell: one atomic batch of deleteText(ALL) + insertText. If the target has no text yet the delete is skipped automatically, so it works on empty placeholders too. An empty text just clears the …
- `update_text_style` — Styles the text of a shape or table cell (batchUpdate updateTextStyle): bold, italic, underline, strikethrough, font_family (e.g. "Roboto"), font_size_pt, foreground_color (#RRGGBB) and link_url. Only the provided fields change (the fiel…
- `update_transform` — Moves and/or scales a page element (batchUpdate updatePageElementTransform). mode=absolute REPLACES the element's whole transform: translate_x_pt/translate_y_pt become the new top-left-ish origin and omitted scales default to 1 — NOT to …

## Related servers

- UnClick (1662 tools) — https://policylayer.com/tools/io-github-malamutemayhem-unclick-mcp-server.md
- Apibase (1384 tools) — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase.md
- Delx Mcp A2a (1068 tools) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- MCP Framework Personal (912 tools) — https://policylayer.com/tools/inggerman-mcps.md
- Hermoso (896 tools) — https://policylayer.com/tools/hermoso.md
- Nodebench (824 tools) — https://policylayer.com/tools/io-github-homenshum-nodebench.md
- Altium-MCP-Suite (817 tools) — https://policylayer.com/tools/altium-mcp-suite.md
- Eda Agent (777 tools) — https://policylayer.com/tools/eda-agent.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=a1-x-tech-mcp-google-slides · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/a1-x-tech-mcp-google-slides
