> [!WARNING]
> **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features.

Tools for Google Slides.

A [Model Context Protocol (MCP) server](https://modelcontextprotocol.io/docs/learn/server-concepts) acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

## MCP Tools

An [MCP tool](https://modelcontextprotocol.io/legacy/concepts/tools) is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

### Tools

The slidesmcp.googleapis.com MCP server has the following tools:

| MCP Tools ||
|---|---|
| `https://developers.google.com/workspace/slides/api/reference/mcp/tools_list/read_presentation` | Read a JSON representation of a Google Slides presentation. Corresponds to [`presentations.get`](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/get) in the REST API. |
| `https://developers.google.com/workspace/slides/api/reference/mcp/tools_list/read_slide_page` | Read a JSON representation of a single slide/page from a Google Slides presentation. Corresponds to [`presentations.pages.get`](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations.pages/get) in the REST API. |
| `https://developers.google.com/workspace/slides/api/reference/mcp/tools_list/read_slide_page_thumbnail` | Reads a thumbnail representation of a single slide page in a presentation, returning the thumbnail image URL along with its width and height dimensions. Corresponds to [`presentations.pages.getThumbnail`](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations.pages/getThumbnail) in the REST API. |
| `https://developers.google.com/workspace/slides/api/reference/mcp/tools_list/update_presentation` | Updates a presentation with set of batchUpdate requests. Corresponds to [`presentations.batchUpdate`](https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/batchUpdate) in the REST API. The list of possible updates is: - `createSlide`: Creates a new slide. Schema: - `objectId` (string, optional): A user-supplied object ID. Must be unique if specified (5-50 characters, matching \[a-zA-Z0-9_-:\]). If omitted, an ID is generated. - `insertionIndex` (integer, optional): Zero-based index indicating where to insert the slide. If omitted, inserted at the end. - `slideLayoutReference` (object, optional): Layout reference of the slide to insert (exactly one required if specified): - `predefinedLayout` (string): Predefined layout name (e.g. "BLANK", "TITLE_AND_BODY", "TITLE", "SECTION_HEADER", "SECTION_TITLE_AND_DESCRIPTION", "ONE_COLUMN_TEXT", "MAIN_POINT", "BIG_NUMBER", "TITLE_AND_TWO_COLUMNS"). - `layoutId` (string): Layout ID from the current master. - `placeholderIdMappings` (array of objects, optional): Mappings for placeholders from layout to slide. Each item: - `layoutPlaceholder` (object): `{"type": string, "index": integer}`. - `objectId` (string, required): User-supplied object ID for the placeholder element. - `createShape`: Creates a new shape. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the shape is located. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}` (unit: "PT" or "EMU"). - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `shapeType` (string, required): Type of shape (e.g. "RECTANGLE", "ROUND_RECTANGLE", "ELLIPSE", "TEXT_BOX", "LINE", etc.). - `createTable`: Creates a new table. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the table is located. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}`. - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `rows` (integer, required): Number of rows in the table. - `columns` (integer, required): Number of columns in the table. - `insertText`: Inserts text into a shape or table cell. Schema: - `objectId` (string, required): Object ID of the shape or table. - `cellLocation` (object, optional): Table cell if inserting into table: `{"rowIndex": integer, "columnIndex": integer}`. - `text` (string, required): Text to insert. - `insertionIndex` (integer, optional): Zero-based character index where text will be inserted. Defaults to 0. - `insertTableRows`: Inserts rows into a table. Schema: - `tableObjectId` (string, required): Object ID of the table. - `cellLocation` (object, required): Reference cell location: `{"rowIndex": integer, "columnIndex": integer}`. - `insertBelow` (boolean, required): Whether to insert new rows below the reference cell. - `number` (integer, required): Number of rows to insert (maximum 20). - `insertTableColumns`: Inserts columns into a table. Schema: - `tableObjectId` (string, required): Object ID of the table. - `cellLocation` (object, required): Reference cell location: `{"rowIndex": integer, "columnIndex": integer}`. - `insertRight` (boolean, required): Whether to insert new columns to the right of the reference cell. - `number` (integer, required): Number of columns to insert (maximum 20). - `deleteTableRow`: Deletes a row from a table. Schema: - `tableObjectId` (string, required): Object ID of the table. - `cellLocation` (object, required): Reference cell location: `{"rowIndex": integer, "columnIndex": integer}`. Deletes the row containing this cell. - `deleteTableColumn`: Deletes a column from a table. Schema: - `tableObjectId` (string, required): Object ID of the table. - `cellLocation` (object, required): Reference cell location: `{"rowIndex": integer, "columnIndex": integer}`. Deletes the column containing this cell. - `replaceAllText`: Replaces all instances of specified text. Schema: - `replaceText` (string, required): Replacement text. - `containsText` (object, required): Criteria for matching text: - `text` (string, required): Text to search for. - `matchCase` (boolean, optional): Whether search is case-sensitive. - `pageObjectIds` (array of strings, optional): If specified, limits replacement to elements on these pages. - `deleteObject`: Deletes a page or page element from the presentation. Schema: - `objectId` (string, required): Object ID of the page or page element to delete. - `updatePageElementTransform`: Updates the transform of a page element. Schema: - `objectId` (string, required): Object ID of the page element to update. - `transform` (object, required): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `applyMode` (string, required): Transform apply mode: "RELATIVE" or "ABSOLUTE". - `updateSlidesPosition`: Updates the position of a set of slides in the presentation. Schema: - `slideObjectIds` (array of strings, required): Object IDs of the slides to move. - `insertionIndex` (integer, required): Zero-based index where slides will be inserted. - `deleteText`: Deletes text from a shape or a table cell. Schema: - `objectId` (string, required): Object ID of the shape or table. - `cellLocation` (object, optional): Table cell if deleting from table: `{"rowIndex": integer, "columnIndex": integer}`. - `textRange` (object, optional): `{"startIndex": integer, "endIndex": integer, "type": string}`. If omitted, all text is deleted. - `createImage`: Creates an image. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `url` (string, required): URL of the image to fetch and store. Must be publicly accessible. - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the image will be placed. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}`. - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `createVideo`: Creates a video. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `source` (string, required): Video source: "YOUTUBE" or "DRIVE". - `id` (string, required): Video ID (e.g. YouTube video ID). - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the video will be placed. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}`. - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `createSheetsChart`: Creates an embedded Google Sheets chart. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `spreadsheetId` (string, required): ID of the Google Sheets spreadsheet containing the chart. - `chartId` (integer, required): ID of the specific chart in the spreadsheet. - `linkingMode` (string, required): Linking mode: "LINKED" or "NOT_LINKED_IMAGE". - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the chart will be placed. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}`. - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `createLine`: Creates a line. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the line will be placed. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}`. - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `category` (string, required): Line category: "STRAIGHT", "BENT", or "CURVED". - `refreshSheetsChart`: Refreshes a Google Sheets chart. Schema: - `objectId` (string, required): Object ID of the chart to refresh. - `updateShapeProperties`: Updates the properties of a Shape. Schema: - `objectId` (string, required): Object ID of the shape to update. - `shapeProperties` (object, required): Shape properties to update: - `shapeBackgroundFill` (object, optional): `{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}`. - `outline` (object, optional): `{"outlineFill": {"solidFill": ...}, "weight": {"magnitude": number, "unit": string}, "dashStyle": string}`. - `shadow` (object, optional): Shadow properties. - `link` (object, optional): Hyperlink destination: `{"url": string}`. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"shapeBackgroundFill"` or `"*"`). - `updateImageProperties`: Updates the properties of an Image. Schema: - `objectId` (string, required): Object ID of the image to update. - `imageProperties` (object, required): Image properties to update: - `cropProperties` (object, optional): Crop offsets: `{"leftOffset": number, "rightOffset": number, "topOffset": number, "bottomOffset": number, "angle": number}`. - `transparency` (number, optional): Transparency level (0.0 to 1.0). - `brightness` (number, optional): Brightness adjustment (-1.0 to 1.0). - `contrast` (number, optional): Contrast adjustment (-1.0 to 1.0). - `recolor` (object, optional): Recolor effect. - `shadow` (object, optional): Shadow properties. - `outline` (object, optional): Outline properties. - `link` (object, optional): Hyperlink destination: `{"url": string}`. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"transparency,brightness"` or `"*"`). - `updateVideoProperties`: Updates the properties of a Video. Schema: - `objectId` (string, required): Object ID of the video to update. - `videoProperties` (object, required): Video properties to update: - `outline` (object, optional): Outline properties. - `autoPlay` (boolean, optional): Whether to play video automatically when presenting. - `start` (integer, optional): Start time in seconds. - `end` (integer, optional): End time in seconds. - `mute` (boolean, optional): Whether audio is muted. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"autoPlay,mute"` or `"*"`). - `updatePageProperties`: Updates the properties of a Page. Schema: - `objectId` (string, required): Object ID of the page to update. - `pageProperties` (object, required): Page properties to update: - `pageBackgroundFill` (object, optional): `{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}` or `{"stretchedPictureFill": {"contentUrl": string}}`. - `colorScheme` (object, optional): Theme color scheme. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"pageBackgroundFill"` or `"*"`). - `updateTableCellProperties`: Updates the properties of a TableCell. Schema: - `objectId` (string, required): Object ID of the table. - `tableRange` (object, optional): Subset of table cells to update: `{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}`. If omitted, applies to all cells. - `tableCellProperties` (object, required): Cell properties to update: - `tableCellBackgroundFill` (object, optional): `{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}`. - `contentAlignment` (string, optional): Vertical alignment: "TOP", "MIDDLE", "BOTTOM". - `fields` (string, required): Comma-separated list of fields to update (e.g. `"tableCellBackgroundFill"` or `"*"`). - `updateLineProperties`: Updates the properties of a Line. Schema: - `objectId` (string, required): Object ID of the line to update. - `lineProperties` (object, required): Line properties to update: - `lineFill` (object, optional): `{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}`. - `weight` (object, optional): Line thickness: `{"magnitude": number, "unit": string}`. - `dashStyle` (string, optional): Dash style: "SOLID", "DOT", "DASH", "DASH_DOT", "LONG_DASH", "LONG_DASH_DOT". - `startArrow` (string, optional): Start arrow style: "NONE", "STEALTH_ARROW", "FILL_ARROW", "FILL_CIRCLE", "FILL_SQUARE", "FILL_DIAMOND", "OPEN_ARROW", "OPEN_CIRCLE", "OPEN_SQUARE", "OPEN_DIAMOND". - `endArrow` (string, optional): End arrow style (same options as `startArrow`). - `link` (object, optional): Hyperlink destination: `{"url": string}`. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"lineFill,weight"` or `"*"`). - `createParagraphBullets`: Creates bullets for paragraphs. Schema: - `objectId` (string, required): Object ID of the shape or table. - `cellLocation` (object, optional): Table cell if text is in a table: `{"rowIndex": integer, "columnIndex": integer}`. - `textRange` (object, optional): Range of text to bullet: `{"startIndex": integer, "endIndex": integer, "type": string}`. - `bulletPreset` (string, optional): Bullet style preset (e.g. "BULLET_DISC_CIRCLE_SQUARE", "BULLET_DIAMONDX_ARROW3D_SQUARE", "NUMBERED_DIGIT_ALPHA_ROMAN", "NUMBERED_DIGIT_NESTED"). Defaults to "BULLET_DISC_CIRCLE_SQUARE". - `replaceAllShapesWithImage`: Replaces all shapes matching some criteria with an image. Schema: - `imageUrl` (string, required): Image URL to fetch and insert. - `imageReplaceMethod` (string, optional): Replacement method: "CENTER_INSIDE" (default) or "CENTER_CROP". - `containsText` (object, required): Criteria shapes must match: - `text` (string, required): Text to search for in shapes. - `matchCase` (boolean, optional): Whether search is case-sensitive. - `pageObjectIds` (array of strings, optional): If specified, limits replacement to elements on these pages. - `duplicateObject`: Duplicates a slide or page element. Schema: - `objectId` (string, required): Object ID of the slide or element to duplicate. - `objectIds` (object, optional): ID mapping for duplicated elements: `{"originalObjectId": "newObjectId"}`. If omitted, random IDs are assigned. - `updateTextStyle`: Updates the styling of text within a Shape or Table. Schema: - `objectId` (string, required): Object ID of the shape or table. - `cellLocation` (object, optional): Table cell if text is in a table: `{"rowIndex": integer, "columnIndex": integer}`. - `style` (object, required): Text styling properties: - `bold` (boolean, optional): Whether text is bold. - `italic` (boolean, optional): Whether text is italic. - `fontFamily` (string, optional): Font family (e.g. "Arial", "Roboto"). - `fontSize` (object, optional): Font size: `{"magnitude": number, "unit": string}`. - `foregroundColor` (object, optional): Font color: `{"opaqueColor": {"rgbColor": {"red": number, "green": number, "blue": number}}}`. - `backgroundColor` (object, optional): Text background color: `{"opaqueColor": ...}`. - `underline` (boolean, optional): Whether text is underlined. - `strikethrough` (boolean, optional): Whether text has a strikethrough. - `smallCaps` (boolean, optional): Whether text is rendered in small capital letters. - `baselineOffset` (string, optional): "NONE", "SUPERSCRIPT", or "SUBSCRIPT". - `link` (object, optional): Hyperlink destination: `{"url": string}`. - `textRange` (object, optional): Range of text to style: `{"startIndex": integer, "endIndex": integer, "type": string}`. If omitted, applies to all text. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"bold,foregroundColor"` or `"*"`). - `replaceAllShapesWithSheetsChart`: Replaces all shapes matching some criteria with a Google Sheets chart. Schema: - `spreadsheetId` (string, required): ID of the Google Sheets spreadsheet containing the chart. - `chartId` (integer, required): ID of the specific chart in the spreadsheet. - `linkingMode` (string, required): Linking mode: "LINKED" or "NOT_LINKED_IMAGE". - `containsText` (object, required): Criteria shapes must match: - `text` (string, required): Text to search for in shapes. - `matchCase` (boolean, optional): Whether search is case-sensitive. - `pageObjectIds` (array of strings, optional): If specified, limits replacement to elements on these pages. - `deleteParagraphBullets`: Deletes bullets from paragraphs. Schema: - `objectId` (string, required): Object ID of the shape or table containing text. - `cellLocation` (object, optional): Table cell if text is in a table: `{"rowIndex": integer, "columnIndex": integer}`. - `textRange` (object, optional): Range of text to delete bullets from: `{"startIndex": integer, "endIndex": integer, "type": string}`. - `updateParagraphStyle`: Updates the styling of paragraphs within a Shape or Table. Schema: - `objectId` (string, required): Object ID of the shape or table. - `cellLocation` (object, optional): Table cell if text is in a table: `{"rowIndex": integer, "columnIndex": integer}`. - `style` (object, required): Paragraph style properties: - `alignment` (string, optional): Text alignment: "START", "CENTER", "END", "JUSTIFIED". - `lineSpacing` (number, optional): Line spacing percentage (e.g. 100 for 100%). - `spaceAbove` (object, optional): Space above paragraph: `{"magnitude": number, "unit": string}`. - `spaceBelow` (object, optional): Space below paragraph: `{"magnitude": number, "unit": string}`. - `indentFirstLine` (object, optional): First line indent: `{"magnitude": number, "unit": string}`. - `indentStart` (object, optional): Indent at start: `{"magnitude": number, "unit": string}`. - `indentEnd` (object, optional): Indent at end: `{"magnitude": number, "unit": string}`. - `direction` (string, optional): Text direction: "LEFT_TO_RIGHT" or "RIGHT_TO_LEFT". - `spacingMode` (string, optional): Spacing mode: "NEVER_COLLAPSE" or "COLLAPSE_LISTS". - `textRange` (object, optional): Range of text to style: `{"startIndex": integer, "endIndex": integer, "type": string}`. If omitted, applies to all text. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"alignment,lineSpacing"` or `"*"`). - `updateTableBorderProperties`: Updates the properties of the table borders in a Table. Schema: - `objectId` (string, required): Object ID of the table. - `tableRange` (object, optional): Subset of table borders to update: `{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}`. If omitted, applies to entire table. - `borderPosition` (string, required): Border position: "ALL", "BOTTOM", "INNER", "INNER_HORIZONTAL", "INNER_VERTICAL", "LEFT", "OUTER", "RIGHT", "TOP". - `tableBorderProperties` (object, required): Border properties to update: - `tableBorderFill` (object, optional): `{"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}`. - `weight` (object, optional): Border thickness: `{"magnitude": number, "unit": string}`. - `dashStyle` (string, optional): Dash style: "SOLID", "DOT", "DASH". - `fields` (string, required): Comma-separated list of fields to update (e.g. `"tableBorderFill,weight"` or `"*"`). - `updateTableColumnProperties`: Updates the properties of a Table column. Schema: - `objectId` (string, required): Object ID of the table. - `columnIndices` (array of integers, required): Zero-based indices of columns to update. - `tableColumnProperties` (object, required): Column properties: - `columnWidth` (object, optional): Width of column: `{"magnitude": number, "unit": string}`. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"columnWidth"` or `"*"`). - `updateTableRowProperties`: Updates the properties of a Table row. Schema: - `objectId` (string, required): Object ID of the table. - `rowIndices` (array of integers, required): Zero-based indices of rows to update. - `tableRowProperties` (object, required): Row properties: - `minRowHeight` (object, optional): Minimum row height: `{"magnitude": number, "unit": string}`. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"minRowHeight"` or `"*"`). - `mergeTableCells`: Merges cells in a Table. Schema: - `objectId` (string, required): Object ID of the table. - `tableRange` (object, required): Range of cells to merge: `{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}`. - `unmergeTableCells`: Unmerges cells in a Table. Schema: - `objectId` (string, required): Object ID of the table. - `tableRange` (object, required): Range of cells to unmerge: `{"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}`. - `groupObjects`: Groups objects, such as page elements. Schema: - `groupObjectId` (string, optional): A user-supplied object ID for the group. If omitted, an ID is generated. - `childrenObjectIds` (array of strings, required): Object IDs of the elements to group (at least 2 required, on same page, not already grouped). - `ungroupObjects`: Ungroups objects, such as groups. Schema: - `objectIds` (array of strings, required): Object IDs of the groups to ungroup. - `updatePageElementAltText`: Updates the alt text title and/or description of a page element. Schema: - `objectId` (string, required): Object ID of the page element. - `title` (string, optional): Updated alt text title. - `description` (string, optional): Updated alt text description. - `replaceImage`: Replaces an existing image with a new image. Schema: - `imageObjectId` (string, required): Object ID of the existing image to replace. - `url` (string, required): URL of the new image. - `imageReplaceMethod` (string, optional): Replacement method: "CENTER_INSIDE" (default) or "CENTER_CROP". - `updateSlideProperties`: Updates the properties of a Slide. Schema: - `objectId` (string, required): Object ID of the slide to update. - `slideProperties` (object, required): Slide properties: - `isSkipped` (boolean, optional): Whether the slide is skipped in presentation mode. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"isSkipped"` or `"*"`). - `updatePageElementsZOrder`: Updates the Z-order of page elements. Schema: - `pageElementObjectIds` (array of strings, required): Object IDs of page elements to update (must be on same page, not grouped). - `operation` (string, required): Z-order operation: "BRING_TO_FRONT", "BRING_FORWARD", "SEND_BACKWARD", "SEND_TO_BACK". - `importSlides`: Imports one or more specified slide pages from a source presentation to this (destination) presentation. Schema: - `sourcePresentationId` (string, required): ID of the source presentation. - `importIndex` (integer, optional): Zero-based index where to import slides. If omitted, imported at the end. - `sourceSlides` (array of objects, optional): Slide ID mappings: `[{"sourceSlideObjectId": string, "destinationObjectIds": {"sourceObjectId": "destinationObjectId"}}]`. If omitted, all slides are imported. - `preserveTheme` (string, optional): Theme preservation policy: "USE_SOURCE_THEME" or "USE_DESTINATION_THEME". - `updateLineCategory`: Updates the category of a line. Schema: - `objectId` (string, required): Object ID of the connector line to update. - `lineCategory` (string, required): Line category: "STRAIGHT", "BENT", or "CURVED". - `rerouteLine`: Reroutes a line such that it's connected at the two closest connection sites on the connected page elements. Schema: - `objectId` (string, required): Object ID of the connector line to reroute. - `createAudio`: Creates audio in this presentation. Schema: - `objectId` (string, optional): A user-supplied object ID. If omitted, an ID is generated. - `source` (string, required): Audio source: "DRIVE". - `sourceAudioId` (string, required): ID of the audio file in Google Drive. - `elementProperties` (object, required): Element location and sizing: - `pageObjectId` (string, required): Object ID of the page where the audio will be placed. - `size` (object, optional): `{"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}`. - `transform` (object, optional): AffineTransform `{"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}`. - `updateAudioProperties`: Updates the properties of an Audio. Schema: - `objectId` (string, required): Object ID of the audio to update. - `audioProperties` (object, required): Audio properties: - `playbackVolume` (integer, optional): Playback volume from 0 to 100. - `repeat` (boolean, optional): Whether to repeat playback indefinitely while presenting. - `showWhenPresenting` (boolean, optional): Whether the audio clip should be visibly shown while presenting. - `playAcrossSlides` (boolean, optional): Whether audio continues to play across slides. - `fields` (string, required): Comma-separated list of fields to update (e.g. `"playbackVolume,repeat"` or `"*"`). - `insertComment`: Inserts a comment into the presentation. Schema: - `content` (string, required): Plain text comment content. - Anchor (exactly one required): - `shapeTextAnchor` (object): To anchor to text inside a shape: - `shapeId` (string, required): The object ID of the shape. - `textRange` (object, optional): `{"startIndex": int, "endIndex": int}`. - `objectId` (string): To anchor to a page or element. - `addCommentReply`: Adds a reply to an existing comment. Schema: - `commentId` (string, required): ID of the comment thread. - `post` (object, required): `{"content": "reply text"}`. - `updateCommentPost`: Updates the content of a comment post in a comment thread. Schema: - `commentId` (string, required): ID of the comment thread. - `postId` (string, required): ID of the comment post to update. - `content` (string, required): The updated content of the comment post. - `deleteComment`: Deletes a comment thread. Schema: - `commentId` (string, required): ID of the comment thread to delete. - `deleteCommentReply`: Deletes a reply post. Schema: - `commentId` (string, required): ID of the comment thread. - `postId` (string, required): ID of the reply post to delete. |

### Get MCP tool specifications


To get the MCP tool specifications for all tools in an MCP server, use the `tools/list` method. The following example demonstrates how to use `curl` to list all tools and their specifications currently available within the MCP server.

| Curl Request |
|---|
| ```bash curl --location 'https://slidesmcp.googleapis.com/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' ``` |