MCP Tools Reference: docsmcp.googleapis.com

Ferramenta: update_doc

Atualiza um documento usando solicitações de atualização em lote. Ela aceita uma solicitação documents.batchUpdate (como JSON).

Corresponde a documents.batchUpdate na API REST.

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

  • replaceAllText: substitui todas as instâncias do texto especificado. Esquema:
    • replaceText (string, obrigatório): o texto que vai substituir o texto correspondente.
    • Critérios (exatamente um obrigatório):
    • containsText (objeto): critérios para correspondência de texto:
      • text (string, obrigatório): o texto a ser pesquisado no documento.
      • matchCase (booleano, opcional): indica se a pesquisa diferencia maiúsculas de minúsculas.
      • searchByRegex (booleano, opcional): indica se o texto de pesquisa é tratado como uma expressão regular.
    • tabsCriteria (objeto, opcional): critérios usados para especificar em quais guias a substituição ocorre:
    • tabIds (matriz de strings, opcional): a lista de IDs das guias em que a solicitação é executada.
  • insertText: insere texto no local especificado. Esquema:
    • text (string, obrigatório): o texto a ser inserido.
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere texto em um índice específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere texto no final de um cabeçalho, rodapé, nota de rodapé ou corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • updateTextStyle: atualiza o estilo do texto no intervalo especificado. Esquema:
    • textStyle (objeto, obrigatório): os estilos a serem definidos no texto:
    • bold (booleano, opcional): indica se o texto é renderizado em negrito.
    • italic (booleano, opcional): indica se o texto está em itálico.
    • 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 está em letras maiúsculas pequenas.
    • backgroundColor (objeto, opcional): cor do plano de fundo do texto: {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.
    • foregroundColor (objeto, opcional): cor de primeiro plano do texto: {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.
    • fontSize (objeto, opcional): tamanho da fonte: {"magnitude": number, "unit": "PT"}.
    • weightedFontFamily (objeto, opcional): família e espessura da fonte: {"fontFamily": string, "weight": integer}.
    • baselineOffset (string, opcional): deslocamento vertical: "NONE", "SUPERSCRIPT" ou "SUBSCRIPT".
    • link (objeto, opcional): destino do hiperlink: {"url": string} ou {"tabId": string}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "bold,foregroundColor" ou "*").
    • Local de inserção (exatamente um obrigatório):
    • range (objeto): o intervalo de texto a ser estilizado:
      • startIndex (número inteiro, opcional): índice inicial baseado em zero desse intervalo.
      • endIndex (número inteiro, opcional): índice final com base zero deste intervalo.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia que contém esse intervalo.
  • createParagraphBullets: cria marcadores para parágrafos. Esquema:
    • range (objeto, obrigatório): o intervalo a que a predefinição de marcador será aplicada:
    • startIndex (número inteiro, opcional): índice inicial baseado em zero desse intervalo.
    • endIndex (número inteiro, opcional): índice final com base zero deste intervalo.
    • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
    • tabId (string, opcional): a guia que contém esse intervalo.
    • bulletPreset (string, obrigatório): padrão predefinido de glifos de marcadores para listas: "BULLET_DISC_CIRCLE_SQUARE", "BULLET_DIAMONDX_ARROW3D_SQUARE", "BULLET_CHECKBOX", "BULLET_ARROW_DIAMOND_DISC", "BULLET_STAR_CIRCLE_SQUARE", "BULLET_ARROW3D_CIRCLE_SQUARE", "BULLET_LEFTTRIANGLE_DIAMOND_DISC", "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE", "BULLET_DIAMOND_CIRCLE_SQUARE", "NUMBERED_DECIMAL_ALPHA_ROMAN", "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS", "NUMBERED_DECIMAL_NESTED", "NUMBERED_UPPERALPHA_ALPHA_ROMAN", "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL", "NUMBERED_ZERODECIMAL_ALPHA_ROMAN".
  • deleteParagraphBullets: exclui marcadores de parágrafos. Esquema:
    • range (objeto, obrigatório): o intervalo de exclusão dos marcadores:
    • startIndex (número inteiro, opcional): índice inicial baseado em zero desse intervalo.
    • endIndex (número inteiro, opcional): índice final com base zero deste intervalo.
    • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
    • tabId (string, opcional): a guia que contém esse intervalo.
  • createNamedRange: cria um intervalo nomeado. Esquema:
    • name (string, obrigatório): o nome do NamedRange (de 1 a 256 caracteres).
    • range (objeto, obrigatório): o intervalo a que o nome será aplicado:
    • startIndex (número inteiro, opcional): índice inicial baseado em zero desse intervalo.
    • endIndex (número inteiro, opcional): índice final com base zero deste intervalo.
    • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
    • tabId (string, opcional): a guia que contém esse intervalo.
  • deleteNamedRange: exclui um intervalo nomeado. Esquema:
    • Referência de intervalo nomeado (exatamente uma obrigatória):
    • namedRangeId (string): o ID do intervalo nomeado a ser excluído.
    • name (string): o nome dos intervalos a serem excluídos. Todos os intervalos nomeados com esse nome serão excluídos.
    • tabsCriteria (objeto, opcional): critérios usados para especificar a quais guias a exclusão de intervalo se aplica:
    • tabIds (matriz de strings, opcional): a lista de IDs de guias.
  • updateParagraphStyle: atualiza o estilo de parágrafo no intervalo especificado. Esquema:
    • paragraphStyle (objeto, obrigatório): os estilos a serem definidos nos parágrafos:
    • alignment (string, opcional): alinhamento de texto: "START", "CENTER", "END", "JUSTIFIED".
    • lineSpacing (número, opcional): porcentagem de espaçamento entre linhas (por exemplo, 100 para 100%).
    • direction (string, opcional): direção do texto: "LEFT_TO_RIGHT", "RIGHT_TO_LEFT".
    • spacingMode (string, opcional): modo de espaçamento: "NEVER_COLLAPSE", "COLLAPSE_LISTS".
    • spaceAbove (objeto, opcional): espaço acima do parágrafo: {"magnitude": number, "unit": "PT"}.
    • spaceBelow (objeto, opcional): espaço abaixo do parágrafo: {"magnitude": number, "unit": "PT"}.
    • borderBetween / borderTop / borderBottom / borderLeft / borderRight (objeto, opcional): {"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "padding": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}.
    • indentFirstLine (objeto, opcional): recuo da primeira linha: {"magnitude": number, "unit": "PT"}.
    • indentStart (objeto, opcional): recuo no início: {"magnitude": number, "unit": "PT"}.
    • indentEnd (objeto, opcional): recuo no final: {"magnitude": number, "unit": "PT"}.
    • namedStyleType (string, opcional): tipo de estilo nomeado: "NORMAL_TEXT", "TITLE", "SUBTITLE", "HEADING_1", "HEADING_2", "HEADING_3", "HEADING_4", "HEADING_5", "HEADING_6".
    • keepWithNext (booleano, opcional): indica se o parágrafo deve ser mantido na mesma página que o próximo.
    • keepLinesTogether (booleano, opcional): indica se todas as linhas devem ser mantidas na mesma página.
    • avoidWidowAndOrphan (booleano, opcional): indica se é necessário evitar linhas viúvas/órfãs.
    • shading (objeto, opcional): sombreamento do plano de fundo do parágrafo: {"backgroundColor": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.
    • pageBreakBefore (booleano, opcional): indica se o parágrafo deve sempre começar no início de uma página.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "alignment,namedStyleType" ou "*").
    • Local de inserção (exatamente um obrigatório):
    • range (objeto): o intervalo que se sobrepõe aos parágrafos a serem estilizados:
      • startIndex (número inteiro, opcional): índice inicial baseado em zero desse intervalo.
      • endIndex (número inteiro, opcional): índice final com base zero deste intervalo.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia que contém esse intervalo.
  • deleteContentRange: exclui conteúdo do documento. Esquema:
    • range (objeto, obrigatório): o intervalo de conteúdo a ser excluído:
    • startIndex (número inteiro, opcional): índice inicial baseado em zero desse intervalo.
    • endIndex (número inteiro, opcional): índice final com base zero deste intervalo.
    • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
    • tabId (string, opcional): a guia que contém esse intervalo.
  • insertInlineImage: insere uma imagem inline no local especificado. Esquema:
    • uri (string, obrigatório): o URI da imagem. Precisa ser acessível publicamente e ter no máximo 2 kB de comprimento.
    • objectSize (objeto, opcional): a imagem de tamanho deve aparecer no documento: {"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}.
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere uma imagem em um local específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere a imagem no final do cabeçalho, rodapé ou corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • insertTable: insere uma tabela no local especificado. Esquema:
    • rows (número inteiro, obrigatório): número de linhas na tabela.
    • columns (número inteiro, obrigatório): número de colunas na tabela.
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere a tabela em um local específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere a tabela no final do cabeçalho, rodapé ou corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • insertTableRow: insere uma linha vazia em uma tabela. Esquema:
    • tableCellLocation (objeto, obrigatório): local da célula de referência da tabela em que as linhas serão inseridas:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
    • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
    • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
    • insertBelow (booleano, obrigatório): indica se a nova linha será inserida abaixo da célula de referência (true para abaixo, false para acima).
  • insertTableColumn: insere uma coluna vazia em uma tabela. Esquema:
    • tableCellLocation (objeto, obrigatório): localização da célula da tabela de referência de onde as colunas serão inseridas:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
    • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
    • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
    • insertRight (booleano, obrigatório): indica se uma nova coluna será inserida à direita da célula de referência (true para direita, false para esquerda).
  • deleteTableRow: exclui uma linha de uma tabela. Esquema:
    • tableCellLocation (objeto, obrigatório): local da célula da tabela de referência de onde a linha será excluída:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
    • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
    • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
  • deleteTableColumn: exclui uma coluna de uma tabela. Esquema:
    • tableCellLocation (objeto, obrigatório): local da célula da tabela de referência de onde a coluna será excluída:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
    • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
    • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
  • insertPageBreak: insere uma quebra de página no local especificado. Esquema:
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere uma quebra de página em um índice específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere uma quebra de página no final do corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • deletePositionedObject: exclui um objeto posicionado do documento. Esquema:
    • objectId (string, obrigatório): ID do objeto posicionado a ser excluído.
    • tabId (string, opcional): guia que contém o objeto posicionado.
  • updateTableColumnProperties: atualiza as propriedades das colunas em uma tabela. Esquema:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
    • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
    • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
    • tabId (string, opcional): guia que contém a tabela.
    • columnIndices (matriz de números inteiros, opcional): índices de coluna baseados em zero a serem atualizados. Se for omitido, todas as colunas serão atualizadas.
    • tableColumnProperties (objeto, obrigatório): propriedades da coluna a serem atualizadas:
    • width (objeto, opcional): largura da coluna: {"magnitude": number, "unit": "PT"}.
    • widthType (string, opcional): "EVENLY_DISTRIBUTED", "FIXED_WIDTH".
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "width" ou "*").
  • updateTableCellStyle: atualiza o estilo das células da tabela. Esquema:
    • Células (exatamente uma obrigatória):
    • tableRange (objeto): subconjunto de células da tabela a serem atualizadas:
      • tableCellLocation (objeto, obrigatório): local da célula de referência:
      • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
        • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
        • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
        • tabId (string, opcional): guia que contém a tabela.
      • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
      • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
      • rowSpan (número inteiro, obrigatório): extensão da linha do intervalo da tabela.
      • columnSpan (número inteiro, obrigatório): extensão da coluna do intervalo da tabela.
    • tableStartLocation (objeto): local onde a tabela começa a ser aplicada a todas as células dela:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
    • tableCellStyle (objeto, obrigatório): estilo de célula a ser definido:
    • backgroundColor (objeto, opcional): {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}.
    • paddingTop / paddingBottom / paddingLeft / paddingRight (objeto, opcional): {"magnitude": number, "unit": "PT"}.
    • contentAlignment (string, opcional): "TOP", "MIDDLE", "BOTTOM".
    • borderTop / borderBottom / borderLeft / borderRight (objeto, opcional): {"color": {"color": {"rgbColor": ...}}, "width": {"magnitude": number, "unit": "PT"}, "dashStyle": "SOLID"|"DOT"|"DASH"}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "backgroundColor,contentAlignment" ou "*").
  • updateTableRowStyle: atualiza o estilo da linha em uma tabela. Esquema:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
    • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
    • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
    • tabId (string, opcional): guia que contém a tabela.
    • rowIndices (matriz de números inteiros, opcional): índices de linha baseados em zero a serem atualizados. Se for omitido, todas as linhas serão atualizadas.
    • tableRowStyle (objeto, obrigatório): estilo da linha a ser definido:
    • minRowHeight (objeto, opcional): altura mínima da linha: {"magnitude": number, "unit": "PT"}.
    • preventOverflow (booleano, opcional): indica se a linha não pode transbordar entre páginas.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "minRowHeight" ou "*").
  • replaceImage: substitui uma imagem no documento. Esquema:
    • imageObjectId (string, obrigatório): ID da imagem atual a ser substituída.
    • uri (string, obrigatório): URI da nova imagem. Precisa ser acessível publicamente.
    • imageReplaceMethod (string, opcional): "CENTER_CROP".
    • tabId (string, opcional): guia que contém a imagem a ser substituída.
  • updateDocumentStyle: atualiza o estilo do documento. Esquema:
    • documentStyle (objeto, obrigatório): estilo de documento a ser definido:
    • background (objeto, opcional): {"color": {"color": {"rgbColor": {"red": number, "green": number, "blue": number}}}}.
    • marginTop / marginBottom / marginLeft / marginRight (objeto, opcional): {"magnitude": number, "unit": "PT"}.
    • pageSize (objeto, opcional): {"width": {"magnitude": number, "unit": "PT"}, "height": {"magnitude": number, "unit": "PT"}}.
    • useCustomHeaderFooterMargins (booleano, opcional): indica se as margens personalizadas de cabeçalho/rodapé serão usadas.
    • marginHeader / marginFooter (objeto, opcional): {"magnitude": number, "unit": "PT"}.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "background,marginTop" ou "*").
    • tabId (string, opcional): guia que contém o estilo do documento a ser atualizado.
  • mergeTableCells: mescla células em uma tabela. Esquema:
    • tableRange (objeto, obrigatório): intervalo de tabela que especifica as células a serem mescladas:
    • tableCellLocation (objeto, obrigatório): local da célula de referência:
      • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
      • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
      • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
    • rowSpan (número inteiro, obrigatório): extensão da linha do intervalo da tabela.
    • columnSpan (número inteiro, obrigatório): extensão da coluna do intervalo da tabela.
  • unmergeTableCells: cancela a mesclagem de células em uma tabela. Esquema:
    • tableRange (objeto, obrigatório): intervalo da tabela que especifica quais células serão separadas:
    • tableCellLocation (objeto, obrigatório): local da célula de referência:
      • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
      • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
      • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
      • tabId (string, opcional): guia que contém a tabela.
      • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
      • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
    • rowSpan (número inteiro, obrigatório): extensão da linha do intervalo da tabela.
    • columnSpan (número inteiro, obrigatório): extensão da coluna do intervalo da tabela.
  • createHeader: cria um cabeçalho. Esquema:
    • type (string, obrigatório): tipo de cabeçalho: "DEFAULT", "FIRST_PAGE".
    • sectionBreakLocation (objeto, opcional): local da quebra de seção que inicia a seção a que este cabeçalho pertence. Se omitido, será aplicado ao estilo do documento:
    • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
    • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
    • tabId (string, opcional): guia que contém a quebra de seção.
  • createFooter: cria um rodapé. Esquema:
    • type (string, obrigatório): tipo de rodapé: "DEFAULT", "FIRST_PAGE".
    • sectionBreakLocation (objeto, opcional): local da quebra de seção que precede a seção a que este rodapé pertence. Se omitido, será aplicado ao estilo do documento:
    • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
    • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
    • tabId (string, opcional): guia que contém a quebra de seção.
  • createFootnote: cria uma nota de rodapé. Esquema:
    • Local da referência da nota de rodapé (exatamente uma obrigatória):
    • location (objeto): insere uma referência de nota de rodapé em um índice específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere uma referência de nota de rodapé no final do corpo do documento:
      • tabId (string, opcional): a guia em que o local está.
  • replaceNamedRangeContent: substitui o conteúdo em um intervalo nomeado. Esquema:
    • text (string, obrigatório): texto para substituir o conteúdo.
    • Referência de intervalo nomeado (exatamente uma obrigatória):
    • namedRangeId (string): ID do intervalo nomeado a ser substituído.
    • namedRangeName (string): nome dos intervalos nomeados a serem substituídos.
    • tabsCriteria (objeto, opcional):
    • tabIds (matriz de strings, opcional): a lista de IDs das guias em que a substituição ocorre.
  • updateSectionStyle: atualiza o estilo da seção do intervalo especificado. Esquema:
    • range (objeto, obrigatório): intervalo que sobrepõe seções para estilizar:
    • startIndex (número inteiro, opcional): índice inicial do intervalo com base zero.
    • endIndex (número inteiro, opcional): índice final do intervalo baseado em zero.
    • tabId (string, opcional): guia que contém esse intervalo.
    • sectionStyle (objeto, obrigatório): propriedades de estilo da seção:
    • columnProperties (matriz de objetos, opcional): propriedades de cada coluna (até três colunas):
      • paddingEnd (objeto, opcional): padding no final da coluna: {"magnitude": number, "unit": "PT"}.
      • width (objeto, opcional): largura da coluna: {"magnitude": number, "unit": "PT"}.
    • columnSeparatorStyle (string, opcional): "NONE", "BETWEEN_EACH_COLUMN".
    • contentDirection (string, opcional): "LEFT_TO_RIGHT", "RIGHT_TO_LEFT".
    • marginTop / marginBottom / marginLeft / marginRight / marginHeader / marginFooter (objeto, opcional): {"magnitude": number, "unit": "PT"}.
    • sectionType (string, opcional): "CONTINUOUS", "NEXT_PAGE".
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "marginTop,sectionType" ou "*").
  • insertSectionBreak: insere uma quebra de seção no local especificado. Esquema:
    • sectionType (string, obrigatório): tipo de seção: "CONTINUOUS" ou "NEXT_PAGE".
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere uma quebra de seção em um índice específico do documento:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere uma quebra de seção no final do corpo do documento:
      • tabId (string, opcional): a guia em que o local está.
  • deleteHeader: exclui um cabeçalho do documento. Esquema:
    • headerId (string, obrigatório): ID do cabeçalho a ser excluído.
    • tabId (string, opcional): guia que contém o cabeçalho a ser excluído.
  • deleteFooter: exclui um rodapé do documento. Esquema:
    • footerId (string, obrigatório): ID do rodapé a ser excluído.
    • tabId (string, opcional): guia que contém o rodapé a ser excluído.
  • pinTableHeaderRows: atualiza o número de linhas de cabeçalho fixadas em uma tabela. Esquema:
    • tableStartLocation (objeto, obrigatório): local onde a tabela começa no documento:
    • index (inteiro, obrigatório): índice baseado em zero do início da tabela em unidades de código UTF-16.
    • segmentId (string, opcional): ID do cabeçalho, rodapé ou nota de rodapé. Vazio ou omitido para o corpo do documento.
    • tabId (string, opcional): guia que contém a tabela.
    • pinnedHeaderRowsCount (número inteiro, obrigatório): número de linhas da tabela a serem fixadas (0 desfixa todas as linhas).
  • addDocumentTab: adiciona uma guia no documento. Esquema:
    • tabProperties (objeto, opcional): propriedades da guia a ser adicionada:
    • tabId (string, opcional): ID da guia fornecido pelo usuário.
    • title (string, opcional): título da guia.
    • index (inteiro, opcional): índice baseado em zero em que a guia será inserida.
    • parentTabId (string, opcional): ID da guia principal para guias aninhadas.
    • iconEmoji (string, opcional): ícone de emoji exibido com a guia.
  • deleteTab: exclui uma guia no documento. Esquema:
    • tabId (string, obrigatório): ID da guia a ser excluída.
  • updateDocumentTabProperties: atualiza as propriedades de uma guia no documento. Esquema:
    • tabProperties (objeto, obrigatório): propriedades da guia a serem atualizadas:
    • tabId (string, obrigatório): ID da guia a ser atualizada.
    • title (string, opcional): título atualizado da guia.
    • index (número inteiro, opcional): índice atualizado da guia com base em zero.
    • parentTabId (string, opcional): ID da guia principal atualizada.
    • iconEmoji (string, opcional): ícone de emoji atualizado mostrado com a guia.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "title,iconEmoji" ou "*").
  • insertPerson: insere uma menção a uma pessoa. Esquema:
    • personProperties (objeto, obrigatório): propriedades da pessoa:
    • email (string, obrigatório): endereço de e-mail da pessoa.
    • name (string, opcional): nome da pessoa.
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere uma menção a uma pessoa em um local específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere uma menção a uma pessoa no final do cabeçalho, rodapé, nota de rodapé ou corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • updateNamedStyle: atualiza um estilo nomeado. Esquema:
    • namedStyle (objeto, obrigatório): estilo nomeado a ser atualizado:
    • namedStyleType (string, obrigatório): tipo de estilo nomeado: "NORMAL_TEXT", "TITLE", "SUBTITLE", "HEADING_1", "HEADING_2", "HEADING_3", "HEADING_4", "HEADING_5", "HEADING_6".
    • textStyle (objeto, opcional): propriedades de estilo de texto para esse estilo nomeado.
    • paragraphStyle (objeto, opcional): propriedades de estilo de parágrafo para esse estilo nomeado.
    • fields (string, obrigatório): lista separada por vírgulas de campos a serem atualizados (por exemplo, "textStyle,paragraphStyle" ou "*").
    • tabId (string, opcional): guia a ser atualizada.
  • insertRichLink: insira um link avançado. Esquema:
    • richLinkProperties (objeto, obrigatório): propriedades de link avançado:
    • uri (string, obrigatório): URI do link avançado.
    • title (string, opcional): título do link avançado.
    • mimeType (string, opcional): tipo MIME do link avançado.
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere um link avançado em um local específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere um link avançado no final do cabeçalho, rodapé, nota de rodapé ou corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • insertDate: insere uma data. Esquema:
    • dateElementProperties (objeto, obrigatório): propriedades de data:
    • timestamp (string, obrigatório): carimbo de data/hora UTC.
    • timeZoneId (string, opcional): fuso horário (por exemplo, "America/New_York"). O padrão é "etc/UTC".
    • locale (string, opcional): código de localidade (por exemplo, "en").
    • dateFormat (string, opcional): "DATE_FORMAT_MONTH_DAY_ABBREVIATED", "DATE_FORMAT_MONTH_DAY_FULL", "DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED", "DATE_FORMAT_ISO8601".
    • timeFormat (string, opcional): "TIME_FORMAT_DISABLED", "TIME_FORMAT_HOUR_MINUTE", "TIME_FORMAT_HOUR_MINUTE_TIMEZONE".
    • Local de inserção (exatamente um obrigatório):
    • location (objeto): insere a data em um local específico:
      • index (inteiro, obrigatório): índice de base zero em unidades de código UTF-16.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
    • endOfSegmentLocation (objeto): insere a data no final do cabeçalho, rodapé ou corpo do documento:
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia em que o local está.
  • insertComment: insere um comentário no documento. Esquema:
    • content (string, obrigatório): conteúdo do comentário de texto.
    • assigneeEmailAddress (string, opcional): o endereço de e-mail do destinatário do comentário. Deixe em branco para um comentário não atribuído.
    • Âncora (exatamente uma obrigatória):
    • range (objeto): o intervalo no documento para ancorar o comentário:
      • startIndex (número inteiro, opcional): o índice inicial baseado em zero desse intervalo.
      • endIndex (inteiro, opcional): o índice final com base zero desse intervalo.
      • segmentId (string, opcional): o ID do cabeçalho, rodapé ou nota de rodapé. Vazio para o corpo do documento.
      • tabId (string, opcional): a guia que contém esse intervalo.
  • addCommentReply: adiciona uma resposta a um comentário ou conversa de sugestões. Esquema:
    • ID da conversa (exatamente um obrigatório):
    • commentId (string): ID da conversa de comentários.
    • suggestionId (string): ID da conversa de sugestões.
    • post (objeto, obrigatório):
    • content (string, obrigatório, a menos que esteja resolvendo/reabrindo): conteúdo da resposta em texto simples.
    • commentAction (string, opcional): ação para conversas de comentários ("NO_COMMENT_ACTION_CHANGE", "RESOLVE", "REOPEN").
    • assigneeEmail (string, opcional): o e-mail do usuário que está sendo atribuído à conversa como parte desta postagem.
  • updateCommentPost: atualiza o conteúdo de uma postagem de comentário em uma conversa de comentários ou de sugestões. Esquema:
    • ID da conversa (exatamente um obrigatório):
    • commentId (string): ID da conversa de comentários.
    • suggestionId (string): ID da conversa de sugestões.
    • 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 de uma conversa de comentários ou de sugestões. Esquema:
    • ID da conversa (exatamente um obrigatório):
    • commentId (string): ID da conversa de comentários.
    • suggestionId (string): ID da conversa de sugestões.
    • postId (string, obrigatório): ID da postagem de resposta a ser excluída.
  • acceptSuggestion: aceita uma sugestão. Esquema:
    • suggestionId (string, obrigatório): ID da sugestão a ser aceita.
  • rejectSuggestion: rejeita uma sugestão. Esquema:
    • suggestionId (string, obrigatório): ID da sugestão a ser rejeitada.
  • deleteSuggestion: exclui uma sugestão. Esquema:
    • suggestionId (string, obrigatório): ID da sugestão a ser excluída.

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

Solicitação curl
curl --location 'https://docsmcp.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_doc",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

UpdateDocRequest

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

string

Obrigatório. O ID do documento a ser atualizado. É o mesmo que "file_id" das ferramentas do Drive.

requests[]

object (Struct format)

Uma lista de atualizações a serem aplicadas ao documento. Cada solicitação precisa ser um objeto "documents.batchUpdate" válido, usando o esquema documentado em: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/request. As solicitações serão aplicadas na ordem em que forem especificadas. Se alguma solicitação não for válida, nenhuma será aplicada.

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
{
  "writeMode": enum (WriteMode),

  "requiredRevisionId": string,
  "targetRevisionId": string
}
Campos
writeMode

enum (WriteMode)

Opcional. O modo de gravação da solicitação.

Campo de união control. Determina a revisão do documento em que gravar e como a solicitação deve se comportar se essa revisão não for a atual. control pode ser apenas de um dos tipos a seguir:
requiredRevisionId

string

O ID da revisão do documento a que a solicitação de gravação será aplicada. Se não for a revisão mais recente do documento, a solicitação não será processada e vai retornar um erro 400 de solicitação inválida.

Quando um ID de revisão obrigatório é retornado em uma resposta, ele indica o ID de revisão do documento após a aplicação da solicitação.

targetRevisionId

string

O ID da revisão de destino do documento a que a solicitação de gravação será aplicada. Se as mudanças do colaborador ocorrerem depois que o ID da revisão de destino for recuperado, elas poderão produzir um resultado diferente do que se fossem aplicadas ao ID da revisão de destino.

Quando um ID de revisão de destino é especificado, a solicitação de gravação é aplicada com base no ID de revisão de destino, e o ID de revisão do documento é incrementado em 1.

Se você não especificar um ID de revisão de destino, a solicitação de gravação será aplicada ao ID de revisão mais recente, e o ID de revisão do documento será incrementado em 1.

Quando um ID de revisão de destino é retornado em uma resposta, ele indica o ID de revisão do documento após a aplicação da solicitação.

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.

WriteMode

O modo para solicitações de gravação.

Tipos enumerados
WRITE_MODE_UNSPECIFIED O modo de gravação padrão. Uma solicitação sem um modo de gravação especificado é tratada como EDIT.
EDIT As mudanças são aplicadas diretamente ao documento.
SUGGEST As mudanças são feitas como sugestões.

Esquema de saída

UpdateDocResponse

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

object (Struct format)

As respostas da execução das solicitações de atualização em lote. Inclui erros, avisos e respostas brutas da API para ajudar o modelo a fazer ajustes. As respostas brutas da API usam o esquema documentado em: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/response

writeControl

object (WriteControl)

A revisão do documento após a aplicação das atualizações. Transmita write_control.required_revision_id na próxima solicitação update_doc para rejeitar a gravação se o documento tiver sido alterado nesse período.

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
{
  "writeMode": enum (WriteMode),

  "requiredRevisionId": string,
  "targetRevisionId": string
}
Campos
writeMode

enum (WriteMode)

Opcional. O modo de gravação da solicitação.

Campo de união control. Determina a revisão do documento em que gravar e como a solicitação deve se comportar se essa revisão não for a atual. control pode ser apenas de um dos tipos a seguir:
requiredRevisionId

string

O ID da revisão do documento a que a solicitação de gravação será aplicada. Se não for a revisão mais recente do documento, a solicitação não será processada e vai retornar um erro 400 de solicitação inválida.

Quando um ID de revisão obrigatório é retornado em uma resposta, ele indica o ID de revisão do documento após a aplicação da solicitação.

targetRevisionId

string

O ID da revisão de destino do documento a que a solicitação de gravação será aplicada. Se as mudanças do colaborador ocorrerem depois que o ID da revisão de destino for recuperado, elas poderão produzir um resultado diferente do que se fossem aplicadas ao ID da revisão de destino.

Quando um ID de revisão de destino é especificado, a solicitação de gravação é aplicada com base no ID de revisão de destino, e o ID de revisão do documento é incrementado em 1.

Se você não especificar um ID de revisão de destino, a solicitação de gravação será aplicada ao ID de revisão mais recente, e o ID de revisão do documento será incrementado em 1.

Quando um ID de revisão de destino é retornado em uma resposta, ele indica o ID de revisão do documento após a aplicação da solicitação.

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.

WriteMode

O modo para solicitações de gravação.

Tipos enumerados
WRITE_MODE_UNSPECIFIED O modo de gravação padrão. Uma solicitação sem um modo de gravação especificado é tratada como EDIT.
EDIT As mudanças são aplicadas diretamente ao documento.
SUGGEST As mudanças são feitas como sugestões.

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/documents