MCP Tools Reference: slidesmcp.googleapis.com

Ferramenta: update_presentation

Atualiza uma apresentação com um conjunto de solicitações batchUpdate.

Corresponde a presentations.batchUpdate na API REST.

A lista de atualizações possíveis é:

  • createSlide: cria um novo slide. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Precisa ser exclusivo se especificado (de 5 a 50 caracteres, correspondendo a [a-zA-Z0-9_-:]). Se omitido, um ID será gerado.
    • insertionIndex (número inteiro, opcional): índice baseado em zero que indica onde inserir o slide. Se omitido, será inserido no final.
    • slideLayoutReference (objeto, opcional): referência de layout do slide a ser inserido (exatamente um necessário, se especificado):
    • predefinedLayout (string): nome do layout predefinido (por exemplo, "BLANK", "TITLE_AND_BODY", "TITLE", "SECTION_HEADER", "SECTION_TITLE_AND_DESCRIPTION", "ONE_COLUMN_TEXT", "MAIN_POINT", "BIG_NUMBER", "TITLE_AND_TWO_COLUMNS").
    • layoutId (string): ID do layout do modelo atual.
    • placeholderIdMappings (matriz de objetos, opcional): mapeamentos de marcadores de posição do layout para o slide. Cada item:
    • layoutPlaceholder (objeto): {"type": string, "index": integer}.
    • objectId (string, obrigatório): ID do objeto fornecido pelo usuário para o elemento de marcador de posição.
  • createShape: cria uma nova forma. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que a forma está localizada.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}} (unidade: "PT" ou "EMU").
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
    • shapeType (string, obrigatório): tipo de forma (por exemplo, "RECTANGLE", "ROUND_RECTANGLE", "ELLIPSE", "TEXT_BOX", "LINE" etc.).
  • createTable: cria uma nova tabela. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que a tabela está localizada.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
    • rows (número inteiro, obrigatório): número de linhas na tabela.
    • columns (número inteiro, obrigatório): número de colunas na tabela.
  • insertText: insere texto em uma forma ou célula de tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma ou tabela.
    • cellLocation (objeto, opcional): célula da tabela se a inserção for em uma tabela: {"rowIndex": integer, "columnIndex": integer}.
    • text (string, obrigatório): texto a ser inserido.
    • insertionIndex (inteiro, opcional): índice de caracteres com base zero em que o texto será inserido. O padrão é 0.
  • insertTableRows: insere linhas em uma tabela. Esquema:
    • tableObjectId (string, obrigatório): ID do objeto da tabela.
    • cellLocation (objeto, obrigatório): local da célula de referência: {"rowIndex": integer, "columnIndex": integer}.
    • insertBelow (booleano, obrigatório): indica se novas linhas serão inseridas abaixo da célula de referência.
    • number (inteiro, obrigatório): número de linhas a serem inseridas (máximo de 20).
  • insertTableColumns: insere colunas em uma tabela. Esquema:
    • tableObjectId (string, obrigatório): ID do objeto da tabela.
    • cellLocation (objeto, obrigatório): local da célula de referência: {"rowIndex": integer, "columnIndex": integer}.
    • insertRight (booleano, obrigatório): indica se novas colunas serão inseridas à direita da célula de referência.
    • number (inteiro, obrigatório): número de colunas a serem inseridas (máximo de 20).
  • deleteTableRow: exclui uma linha de uma tabela. Esquema:
    • tableObjectId (string, obrigatório): ID do objeto da tabela.
    • cellLocation (objeto, obrigatório): local da célula de referência: {"rowIndex": integer, "columnIndex": integer}. Exclui a linha que contém essa célula.
  • deleteTableColumn: exclui uma coluna de uma tabela. Esquema:
    • tableObjectId (string, obrigatório): ID do objeto da tabela.
    • cellLocation (objeto, obrigatório): local da célula de referência: {"rowIndex": integer, "columnIndex": integer}. Exclui a coluna que contém essa célula.
  • replaceAllText: substitui todas as instâncias do texto especificado. Esquema:
    • replaceText (string, obrigatório): texto de substituição.
    • containsText (objeto, obrigatório): critérios para correspondência de texto:
    • text (string, obrigatório): texto a ser pesquisado.
    • matchCase (booleano, opcional): indica se a pesquisa diferencia maiúsculas de minúsculas.
    • pageObjectIds (matriz de strings, opcional): se especificado, limita a substituição a elementos nessas páginas.
  • deleteObject: exclui uma página ou um elemento de página da apresentação. Esquema:
    • objectId (string, obrigatório): ID do objeto da página ou do elemento de página a ser excluído.
  • updatePageElementTransform: atualiza a transformação de um elemento de página. Esquema:
    • objectId (string, obrigatório): ID do objeto do elemento de página a ser atualizado.
    • transform (objeto, obrigatório): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
    • applyMode (string, obrigatório): modo de aplicação da transformação: "RELATIVE" ou "ABSOLUTE".
  • updateSlidesPosition: atualiza a posição de um conjunto de slides na apresentação. Esquema:
    • slideObjectIds (matriz de strings, obrigatório): IDs de objetos dos slides a serem movidos.
    • insertionIndex (número inteiro, obrigatório): índice baseado em zero em que os slides serão inseridos.
  • deleteText: exclui texto de uma forma ou célula de tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma ou tabela.
    • cellLocation (objeto, opcional): célula da tabela se a exclusão for de uma tabela: {"rowIndex": integer, "columnIndex": integer}.
    • textRange (objeto, opcional): {"startIndex": integer, "endIndex": integer, "type": string}. Se for omitido, todo o texto será excluído.
  • createImage: cria uma imagem. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • url (string, obrigatório): URL da imagem a ser buscada e armazenada. Precisa ser acessível publicamente.
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que a imagem será colocada.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
  • createVideo: cria um vídeo. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • source (string, obrigatório): origem do vídeo: "YOUTUBE" ou "DRIVE".
    • id (string, obrigatório): ID do vídeo (por exemplo, ID do vídeo do YouTube).
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que o vídeo será colocado.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
  • createSheetsChart: cria um gráfico incorporado do Google Planilhas. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • spreadsheetId (string, obrigatório): ID da planilha Google que contém o gráfico.
    • chartId (número inteiro, obrigatório): ID do gráfico específico na planilha.
    • linkingMode (string, obrigatório): modo de vinculação: "LINKED" ou "NOT_LINKED_IMAGE".
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que o gráfico será colocado.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
  • createLine: cria uma linha. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que a linha será colocada.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
    • category (string, obrigatório): categoria da linha: "STRAIGHT", "BENT" ou "CURVED".
  • refreshSheetsChart: atualiza um gráfico das Planilhas Google. Esquema:
    • objectId (string, obrigatório): ID do objeto do gráfico a ser atualizado.
  • updateShapeProperties: atualiza as propriedades de uma forma. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma a ser atualizada.
    • shapeProperties (objeto, obrigatório): propriedades de forma a serem atualizadas:
    • shapeBackgroundFill (objeto, opcional): {"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.
    • outline (objeto, opcional): {"outlineFill": {"solidFill": ...}, "weight": {"magnitude": number, "unit": string}, "dashStyle": string}.
    • shadow (objeto, opcional): propriedades de sombra.
    • link (objeto, opcional): destino do hiperlink: {"url": string}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "shapeBackgroundFill" ou "*").
  • updateImageProperties: atualiza as propriedades de uma imagem. Esquema:
    • objectId (string, obrigatório): ID do objeto da imagem a ser atualizada.
    • imageProperties (objeto, obrigatório): propriedades da imagem a serem atualizadas:
    • cropProperties (objeto, opcional): ajustes de corte: {"leftOffset": number, "rightOffset": number, "topOffset": number, "bottomOffset": number, "angle": number}.
    • transparency (número, opcional): nível de transparência (0,0 a 1,0).
    • brightness (número, opcional): ajuste de brilho (-1,0 a 1,0).
    • contrast (número, opcional): ajuste de contraste (-1,0 a 1,0).
    • recolor (objeto, opcional): efeito de mudança de cor.
    • shadow (objeto, opcional): propriedades de sombra.
    • outline (objeto, opcional): propriedades de contorno.
    • link (objeto, opcional): destino do hiperlink: {"url": string}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "transparency,brightness" ou "*").
  • updateVideoProperties: atualiza as propriedades de um vídeo. Esquema:
    • objectId (string, obrigatório): ID do objeto do vídeo a ser atualizado.
    • videoProperties (objeto, obrigatório): propriedades de vídeo a serem atualizadas:
    • outline (objeto, opcional): propriedades de contorno.
    • autoPlay (booleano, opcional): indica se o vídeo será reproduzido automaticamente durante a apresentação.
    • start (número inteiro, opcional): tempo de início em segundos.
    • end (número inteiro, opcional): hora de término em segundos.
    • mute (booleano, opcional): indica se o áudio está desativado.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "autoPlay,mute" ou "*").
  • updatePageProperties: atualiza as propriedades de uma página. Esquema:
    • objectId (string, obrigatório): ID do objeto da página a ser atualizada.
    • pageProperties (objeto, obrigatório): propriedades da página a serem atualizadas.
    • pageBackgroundFill (objeto, opcional): {"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}} ou {"stretchedPictureFill": {"contentUrl": string}}.
    • colorScheme (objeto, opcional): esquema de cores do tema.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "pageBackgroundFill" ou "*").
  • updateTableCellProperties: atualiza as propriedades de uma TableCell. Esquema:
    • objectId (string, obrigatório): ID do objeto da tabela.
    • tableRange (objeto, opcional): subconjunto de células da tabela a serem atualizadas: {"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}. Se omitido, será aplicado a todas as células.
    • tableCellProperties (objeto, obrigatório): propriedades da célula a serem atualizadas:
    • tableCellBackgroundFill (objeto, opcional): {"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.
    • contentAlignment (string, opcional): alinhamento vertical: "TOP", "MIDDLE", "BOTTOM".
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "tableCellBackgroundFill" ou "*").
  • updateLineProperties: atualiza as propriedades de uma linha. Esquema:
    • objectId (string, obrigatório): ID do objeto da linha a ser atualizada.
    • lineProperties (objeto, obrigatório): propriedades da linha a serem atualizadas:
    • lineFill (objeto, opcional): {"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.
    • weight (objeto, opcional): espessura da linha: {"magnitude": number, "unit": string}.
    • dashStyle (string, opcional): estilo de traço: "SOLID", "DOT", "DASH", "DASH_DOT", "LONG_DASH", "LONG_DASH_DOT".
    • startArrow (string, opcional): estilo da seta inicial: "NONE", "STEALTH_ARROW", "FILL_ARROW", "FILL_CIRCLE", "FILL_SQUARE", "FILL_DIAMOND", "OPEN_ARROW", "OPEN_CIRCLE", "OPEN_SQUARE", "OPEN_DIAMOND".
    • endArrow (string, opcional): estilo da seta final (as mesmas opções de startArrow).
    • link (objeto, opcional): destino do hiperlink: {"url": string}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "lineFill,weight" ou "*").
  • createParagraphBullets: cria marcadores para parágrafos. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma ou tabela.
    • cellLocation (objeto, opcional): célula da tabela se o texto estiver em uma tabela: {"rowIndex": integer, "columnIndex": integer}.
    • textRange (objeto, opcional): intervalo de texto a ser marcado com um marcador: {"startIndex": integer, "endIndex": integer, "type": string}.
    • bulletPreset (string, opcional): predefinição de estilo de marcador (por exemplo, "BULLET_DISC_CIRCLE_SQUARE", "BULLET_DIAMONDX_ARROW3D_SQUARE", "NUMBERED_DIGIT_ALPHA_ROMAN", "NUMBERED_DIGIT_NESTED"). O padrão é "BULLET_DISC_CIRCLE_SQUARE".
  • replaceAllShapesWithImage: substitui todas as formas que correspondem a alguns critérios por uma imagem. Esquema:
    • imageUrl (string, obrigatório): URL da imagem a ser buscada e inserida.
    • imageReplaceMethod (string, opcional): método de substituição: "CENTER_INSIDE" (padrão) ou "CENTER_CROP".
    • containsText (objeto, obrigatório): as formas dos critérios precisam corresponder:
    • text (string, obrigatório): texto a ser pesquisado em formas.
    • matchCase (booleano, opcional): indica se a pesquisa diferencia maiúsculas de minúsculas.
    • pageObjectIds (matriz de strings, opcional): se especificado, limita a substituição a elementos nessas páginas.
  • duplicateObject: duplica um slide ou elemento de página. Esquema:
    • objectId (string, obrigatório): ID do objeto do slide ou elemento a ser duplicado.
    • objectIds (objeto, opcional): mapeamento de ID para elementos duplicados: {"originalObjectId": "newObjectId"}. Se omitido, IDs aleatórios serão atribuídos.
  • updateTextStyle: atualiza o estilo do texto em uma forma ou tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma ou tabela.
    • cellLocation (objeto, opcional): célula da tabela se o texto estiver em uma tabela: {"rowIndex": integer, "columnIndex": integer}.
    • style (objeto, obrigatório): propriedades de estilo de texto:
    • bold (booleano, opcional): indica se o texto está em negrito.
    • italic (booleano, opcional): indica se o texto está em itálico.
    • fontFamily (string, opcional): família tipográfica (por exemplo, "Arial", "Roboto").
    • fontSize (objeto, opcional): tamanho da fonte: {"magnitude": number, "unit": string}.
    • foregroundColor (objeto, opcional): cor da fonte: {"opaqueColor": {"rgbColor": {"red": number, "green": number, "blue": number}}}.
    • backgroundColor (objeto, opcional): cor do plano de fundo do texto: {"opaqueColor": ...}.
    • underline (booleano, opcional): indica se o texto está sublinhado.
    • strikethrough (booleano, opcional): indica se o texto está tachado.
    • smallCaps (booleano, opcional): indica se o texto é renderizado em letras maiúsculas pequenas.
    • baselineOffset (string, opcional): "NONE", "SUPERSCRIPT" ou "SUBSCRIPT".
    • link (objeto, opcional): destino do hiperlink: {"url": string}.
    • textRange (objeto, opcional): intervalo de texto a ser estilizado: {"startIndex": integer, "endIndex": integer, "type": string}. Se omitido, será aplicado a todo o texto.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "bold,foregroundColor" ou "*").
  • replaceAllShapesWithSheetsChart: substitui todas as formas que correspondem a alguns critérios por um gráfico das Planilhas Google. Esquema:
    • spreadsheetId (string, obrigatório): ID da planilha Google que contém o gráfico.
    • chartId (número inteiro, obrigatório): ID do gráfico específico na planilha.
    • linkingMode (string, obrigatório): modo de vinculação: "LINKED" ou "NOT_LINKED_IMAGE".
    • containsText (objeto, obrigatório): as formas dos critérios precisam corresponder:
    • text (string, obrigatório): texto a ser pesquisado em formas.
    • matchCase (booleano, opcional): indica se a pesquisa diferencia maiúsculas de minúsculas.
    • pageObjectIds (matriz de strings, opcional): se especificado, limita a substituição a elementos nessas páginas.
  • deleteParagraphBullets: exclui marcadores de parágrafos. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma ou tabela que contém o texto.
    • cellLocation (objeto, opcional): célula da tabela se o texto estiver em uma tabela: {"rowIndex": integer, "columnIndex": integer}.
    • textRange (objeto, opcional): intervalo de texto para excluir marcadores: {"startIndex": integer, "endIndex": integer, "type": string}.
  • updateParagraphStyle: atualiza o estilo dos parágrafos em uma forma ou tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da forma ou tabela.
    • cellLocation (objeto, opcional): célula da tabela se o texto estiver em uma tabela: {"rowIndex": integer, "columnIndex": integer}.
    • style (objeto, obrigatório): propriedades de estilo do parágrafo:
    • alignment (string, opcional): alinhamento do texto: "START", "CENTER", "END", "JUSTIFIED".
    • lineSpacing (número, opcional): porcentagem de espaçamento entre linhas (por exemplo, 100 para 100%).
    • spaceAbove (objeto, opcional): espaço acima do parágrafo: {"magnitude": number, "unit": string}.
    • spaceBelow (objeto, opcional): espaço abaixo do parágrafo: {"magnitude": number, "unit": string}.
    • indentFirstLine (objeto, opcional): recuo da primeira linha: {"magnitude": number, "unit": string}.
    • indentStart (objeto, opcional): recuo no início: {"magnitude": number, "unit": string}.
    • indentEnd (objeto, opcional): recuo no final: {"magnitude": number, "unit": string}.
    • direction (string, opcional): direção do texto: "LEFT_TO_RIGHT" ou "RIGHT_TO_LEFT".
    • spacingMode (string, opcional): modo de espaçamento: "NEVER_COLLAPSE" ou "COLLAPSE_LISTS".
    • textRange (objeto, opcional): intervalo de texto a ser estilizado: {"startIndex": integer, "endIndex": integer, "type": string}. Se omitido, será aplicado a todo o texto.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "alignment,lineSpacing" ou "*").
  • updateTableBorderProperties: atualiza as propriedades das bordas de uma tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da tabela.
    • tableRange (objeto, opcional): subconjunto de bordas da tabela a serem atualizadas: {"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}. Se omitido, será aplicado à tabela inteira.
    • borderPosition (string, obrigatório): posição da borda: "ALL", "BOTTOM", "INNER", "INNER_HORIZONTAL", "INNER_VERTICAL", "LEFT", "OUTER", "RIGHT", "TOP".
    • tableBorderProperties (objeto, obrigatório): propriedades de borda a serem atualizadas:
    • tableBorderFill (objeto, opcional): {"solidFill": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.
    • weight (objeto, opcional): espessura da borda: {"magnitude": number, "unit": string}.
    • dashStyle (string, opcional): estilo de traço: "SOLID", "DOT", "DASH".
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "tableBorderFill,weight" ou "*").
  • updateTableColumnProperties: atualiza as propriedades de uma coluna da tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da tabela.
    • columnIndices (matriz de números inteiros, obrigatório): índices baseados em zero das colunas a serem atualizadas.
    • tableColumnProperties (objeto, obrigatório): propriedades da coluna:
    • columnWidth (objeto, opcional): largura da coluna: {"magnitude": number, "unit": string}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "columnWidth" ou "*").
  • updateTableRowProperties: atualiza as propriedades de uma linha da tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da tabela.
    • rowIndices (matriz de números inteiros, obrigatório): índices baseados em zero das linhas a serem atualizadas.
    • tableRowProperties (objeto, obrigatório): propriedades da linha:
    • minRowHeight (objeto, opcional): altura mínima da linha: {"magnitude": number, "unit": string}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "minRowHeight" ou "*").
  • mergeTableCells: mescla células em uma tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da tabela.
    • tableRange (objeto, obrigatório): intervalo de células a serem mescladas: {"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}.
  • unmergeTableCells: desfaz a mesclagem de células em uma tabela. Esquema:
    • objectId (string, obrigatório): ID do objeto da tabela.
    • tableRange (objeto, obrigatório): intervalo de células a serem separadas: {"location": {"rowIndex": integer, "columnIndex": integer}, "rowSpan": integer, "columnSpan": integer}.
  • groupObjects: agrupa objetos, como elementos de página. Esquema:
    • groupObjectId (string, opcional): um ID de objeto fornecido pelo usuário para o grupo. Se omitido, um ID será gerado.
    • childrenObjectIds (matriz de strings, obrigatório): IDs de objeto dos elementos a serem agrupados (pelo menos dois obrigatórios, na mesma página, ainda não agrupados).
  • ungroupObjects: desagrupa objetos, como grupos. Esquema:
    • objectIds (matriz de strings, obrigatório): IDs de objeto dos grupos a serem desagrupados.
  • updatePageElementAltText: atualiza o título e/ou a descrição do texto alternativo de um elemento de página. Esquema:
    • objectId (string, obrigatório): ID do objeto do elemento de página.
    • title (string, opcional): título do texto alternativo atualizado.
    • description (string, opcional): descrição atualizada do texto alternativo.
  • replaceImage: substitui uma imagem atual por uma nova. Esquema:
    • imageObjectId (string, obrigatório): ID do objeto da imagem atual a ser substituída.
    • url (string, obrigatório): URL da nova imagem.
    • imageReplaceMethod (string, opcional): método de substituição: "CENTER_INSIDE" (padrão) ou "CENTER_CROP".
  • updateSlideProperties: atualiza as propriedades de um slide. Esquema:
    • objectId (string, obrigatório): ID do objeto do slide a ser atualizado.
    • slideProperties (objeto, obrigatório): propriedades do slide:
    • isSkipped (booleano, opcional): indica se o slide é ignorado no modo de apresentação.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "isSkipped" ou "*").
  • updatePageElementsZOrder: atualiza a ordem Z dos elementos da página. Esquema:
    • pageElementObjectIds (matriz de strings, obrigatório): IDs dos objetos dos elementos da página a serem atualizados (precisam estar na mesma página, não agrupados).
    • operation (string, obrigatório): operação de ordem Z: "BRING_TO_FRONT", "BRING_FORWARD", "SEND_BACKWARD", "SEND_TO_BACK".
  • importSlides: importa uma ou mais páginas de slides especificadas de uma apresentação de origem para esta apresentação (de destino). Esquema:
    • sourcePresentationId (string, obrigatório): ID da apresentação de origem.
    • importIndex (inteiro, opcional): índice de base zero em que os slides serão importados. Se omitido, será importado no final.
    • sourceSlides (matriz de objetos, opcional): mapeamentos de ID de slide: [{"sourceSlideObjectId": string, "destinationObjectIds": {"sourceObjectId": "destinationObjectId"}}]. Se for omitido, todos os slides serão importados.
    • preserveTheme (string, opcional): política de preservação de tema: "USE_SOURCE_THEME" ou "USE_DESTINATION_THEME".
  • updateLineCategory: atualiza a categoria de uma linha. Esquema:
    • objectId (string, obrigatório): ID do objeto da linha do conector a ser atualizada.
    • lineCategory (string, obrigatório): categoria da linha: "STRAIGHT", "BENT" ou "CURVED".
  • rerouteLine: redireciona uma linha para que ela seja conectada aos dois sites de conexão mais próximos nos elementos da página conectada. Esquema:
    • objectId (string, obrigatório): ID do objeto da linha do conector a ser redirecionada.
  • createAudio: cria um áudio nesta apresentação. Esquema:
    • objectId (string, opcional): um ID de objeto fornecido pelo usuário. Se omitido, um ID será gerado.
    • source (string, obrigatório): origem do áudio: "DRIVE".
    • sourceAudioId (string, obrigatório): ID do arquivo de áudio no Google Drive.
    • elementProperties (objeto, obrigatório): localização e dimensionamento do elemento:
    • pageObjectId (string, obrigatório): ID do objeto da página em que o áudio será colocado.
    • size (objeto, opcional): {"width": {"magnitude": number, "unit": string}, "height": {"magnitude": number, "unit": string}}.
    • transform (objeto, opcional): AffineTransform {"scaleX": number, "scaleY": number, "shearX": number, "shearY": number, "translateX": number, "translateY": number, "unit": string}.
  • updateAudioProperties: atualiza as propriedades de um áudio. Esquema:
    • objectId (string, obrigatório): ID do objeto do áudio a ser atualizado.
    • audioProperties (objeto, obrigatório): propriedades de áudio:
    • playbackVolume (inteiro, opcional): volume de reprodução de 0 a 100.
    • repeat (booleano, opcional): indica se a reprodução será repetida indefinidamente durante a apresentação.
    • showWhenPresenting (booleano, opcional): indica se o clipe de áudio deve ser mostrado durante a apresentação.
    • playAcrossSlides (booleano, opcional): indica se o áudio continua tocando nos slides.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "playbackVolume,repeat" ou "*").
  • insertComment: insere um comentário na apresentação. Esquema:
    • content (string, obrigatório): conteúdo do comentário de texto.
    • Âncora (exatamente uma obrigatória):
    • shapeTextAnchor (objeto): para ancorar em texto dentro de uma forma:
      • shapeId (string, obrigatório): o ID do objeto da forma.
      • textRange (objeto, opcional): {"startIndex": int, "endIndex": int}.
    • objectId (string): para ancorar em uma página ou elemento.
  • addCommentReply: adiciona uma resposta a um comentário. Esquema:
    • commentId (string, obrigatório): ID da linha de execução de comentários.
    • post (objeto, obrigatório): {"content": "reply text"}.
  • updateCommentPost: atualiza o conteúdo de uma postagem de comentário em uma conversa de comentários. Esquema:
    • commentId (string, obrigatório): ID da linha de execução de comentários.
    • postId (string, obrigatório): ID da postagem de comentário a ser atualizada.
    • content (string, obrigatório): o conteúdo atualizado da postagem de comentário.
  • deleteComment: exclui uma sequência de comentários. Esquema:
    • commentId (string, obrigatório): ID da linha de execução de comentários a ser excluída.
  • deleteCommentReply: exclui uma postagem de resposta. Esquema:
    • commentId (string, obrigatório): ID da linha de execução de comentários.
    • postId (string, obrigatório): ID da postagem de resposta a ser excluída.

O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP update_presentation.

Solicitação curl
curl --location 'https://slidesmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_presentation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

Solicitação para atualizar uma apresentação.

UpdatePresentationRequest

Representação JSON
{
  "presentationId": string,
  "requests": [
    {
      object
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Campos
presentationId

string

Obrigatório. O ID da apresentação a ser atualizada.

requests[]

object (Struct format)

Obrigatório. Uma lista de solicitações "batchUpdate", usando o esquema e a semântica documentados em https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request

writeControl

object (WriteControl)

Opcional. Oferece controle sobre como as solicitações de gravação são executadas.

Struct

Representação JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Mapa não ordenado de valores digitados dinamicamente.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representação JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representação JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Campos
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir:
nullValue

null

Representa um null JSON.

numberValue

number

Representa um número JSON. Não pode ser NaN, Infinity ou -Infinity, porque esses valores não são compatíveis com JSON. Além disso, não é possível representar valores Int64 grandes, já que o formato JSON geralmente não os aceita no tipo de número.

stringValue

string

Representa uma string JSON.

boolValue

boolean

Representa um booleano JSON (literal true ou false em JSON).

structValue

object (Struct format)

Representa um objeto JSON.

listValue

array (ListValue format)

Representa uma matriz JSON.

ListValue

Representação JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Campo repetido de valores digitados dinamicamente.

WriteControl

Representação JSON
{
  "requiredRevisionId": string
}
Campos
requiredRevisionId

string

O ID da revisão da apresentação necessária para a solicitação de gravação. Se especificado e o ID de revisão obrigatório não corresponder ao ID de revisão atual da apresentação, a solicitação não será processada e vai retornar um erro 400 de solicitação inválida.

NullValue

Representa um null JSON.

NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.

Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.

Tipos enumerados
NULL_VALUE Valor nulo.

Esquema de saída

Respostas de UpdatePresentation.

UpdatePresentationResponse

Representação JSON
{
  "replies": [
    {
      object
    }
  ]
}
Campos
replies[]

object (Struct format)

Um conjunto de respostas "batchUpdate", usando o esquema e a semântica documentados em https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/response

Struct

Representação JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Mapa não ordenado de valores digitados dinamicamente.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representação JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representação JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Campos
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir:
nullValue

null

Representa um null JSON.

numberValue

number

Representa um número JSON. Não pode ser NaN, Infinity ou -Infinity, porque esses valores não são compatíveis com JSON. Além disso, não é possível representar valores Int64 grandes, já que o formato JSON geralmente não os aceita no tipo de número.

stringValue

string

Representa uma string JSON.

boolValue

boolean

Representa um booleano JSON (literal true ou false em JSON).

structValue

object (Struct format)

Representa um objeto JSON.

listValue

array (ListValue format)

Representa uma matriz JSON.

ListValue

Representação JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Campo repetido de valores digitados dinamicamente.

NullValue

Representa um null JSON.

NullValue é um sentinela que usa uma enumeração com apenas um valor para representar o valor nulo da união de tipos Value.

Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON vai emitir um Value com um null_value definido como um null JSON, independente do valor inteiro, e, portanto, fará uma viagem de ida e volta para um valor 0.

Tipos enumerados
NULL_VALUE Valor nulo.

Anotações de ferramentas

As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.

Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:

  • readOnlyHint: se for "true", a ferramenta não vai modificar o ambiente. (Padrão: falso).
  • destructiveHint: se for "true", a ferramenta poderá realizar ações destrutivas. Se for "false", a ferramenta só poderá realizar ações de adição. Padrão: verdadeiro.
  • idempotentHint: se for "true", chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente dela. (Padrão: falso).
  • openWorldHint: se for "true", a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for "false", a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.

Dica destrutiva: ✅ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ✅

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/presentations