MCP Tools Reference: sheetsmcp.googleapis.com

Ferramenta: update_spreadsheet

Aplica uma ou mais atualizações à planilha.

Corresponde a spreadsheets.batchUpdate na API REST: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate

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

  • updateSpreadsheetProperties: atualiza as propriedades da planilha. Esquema:
  • properties (objeto, obrigatório): propriedades da planilha a serem atualizadas ({"title": string, "locale": string, "timeZone": string}).
  • fields (string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo, "title" ou "*").
  • updateSheetProperties: atualiza as propriedades de uma página. Esquema:
  • properties (objeto, obrigatório): propriedades da página ({"sheetId": int, "title": string, "index": int, "gridProperties": {"rowCount": int, "columnCount": int, "frozenRowCount": int, "frozenColumnCount": int, "hideGridlines": bool}, "hidden": bool, "tabColorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).
  • fields (string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo, "title", "gridProperties.frozenRowCount").
  • updateDimensionProperties: atualiza as propriedades das dimensões (por exemplo, altura da linha ou largura da coluna). Esquema:
  • range (objeto, obrigatório): intervalo de dimensões ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • properties (objeto, obrigatório): propriedades da dimensão ({"pixelSize": int, "hiddenByUser": bool}).
  • fields (string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo, "pixelSize").
  • updateNamedRange: atualiza um intervalo nomeado. Esquema:
  • namedRange (objeto, obrigatório): definição do intervalo nomeado ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).
  • fields (string, obrigatório): máscara de campos a serem atualizados (por exemplo, "name,range" ou "*").
  • repeatCell: repete uma única célula em um intervalo. Esquema:
  • range (objeto, obrigatório): intervalo de grade para aplicar dados/formatação de células ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).
  • cell (objeto, obrigatório): dados da célula ({"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}, "userEnteredFormat": {"textFormat": {"bold": bool, "italic": bool, "fontSize": int}, "backgroundColorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}, "horizontalAlignment": "LEFT"|"CENTER"|"RIGHT", "wrapStrategy": "WRAP"|"CLIP"|"OVERFLOW_CELL"}}).
  • fields (string, obrigatório): máscara de campos de célula a serem atualizados (por exemplo, "userEnteredFormat.textFormat.bold" ou "userEnteredValue").
  • addNamedRange: adiciona um intervalo nomeado. Esquema:
  • namedRange (objeto, obrigatório): intervalo nomeado a ser adicionado ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).
  • deleteNamedRange: exclui um intervalo nomeado pelo ID. Esquema:
  • namedRangeId (string, obrigatório): ID do intervalo nomeado a ser excluído.
  • addSheet: adiciona uma página. Esquema:
  • properties (objeto, opcional): propriedades da página ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}}).
  • deleteSheet: exclui uma página. Esquema:
  • sheetId (número inteiro, obrigatório): ID da página a ser excluída.
  • autoFill: preenche automaticamente mais dados com base nos dados atuais. Esquema:
  • range (objeto, opcional): intervalo a ser examinado e preenchido ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).
  • sourceAndDestination (objeto, opcional): origem explícita e comprimento de preenchimento ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int}).
  • useAlternateSeries (booleano, opcional): se as séries alternativas devem ser usadas.
  • cutPaste: corta dados de uma área e os cola em outra. Esquema:
  • source (objeto, obrigatório): intervalo da grade de origem.
  • destination (objeto, obrigatório): coordenada de destino superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
  • pasteType (string, opcional): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA".
  • copyPaste: copia dados de uma área e os cola em outra. Esquema:
  • source (objeto, obrigatório): intervalo da grade de origem.
  • destination (objeto, obrigatório): intervalo da grade de destino.
  • pasteType (string, opcional): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA".
  • pasteOrientation (string, opcional): "NORMAL" ou "TRANSPOSE".
  • mergeCells: mescla células. Esquema:
  • range (objeto, obrigatório): intervalo de grade a ser mesclado.
  • mergeType (string, obrigatório): "MERGE_ALL", "MERGE_COLUMNS" ou "MERGE_ROWS".
  • unmergeCells: cancela a mesclagem de células. Esquema:
  • range (objeto, obrigatório): intervalo de grade em que todas as células serão desfeitas.
  • updateBorders: atualiza as bordas em um intervalo de células. Esquema:
  • range (objeto, obrigatório): intervalo da grade em que as bordas serão atualizadas.
  • top / bottom / left / right / innerHorizontal / innerVertical (objeto, opcional): estilo da borda ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).
  • updateCells: atualiza várias células de uma só vez. Esquema:
  • Área (apenas uma é obrigatória):
    • start (objeto): coordenada superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
    • range (objeto): intervalo da grade.
  • rows (matriz de RowData, obrigatório): linhas de células ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}]).
  • fields (string, obrigatório): máscara de campos de célula a serem atualizados (por exemplo, "userEnteredValue" ou "userEnteredFormat").
  • addFilterView: adiciona uma visualização com filtro. Esquema:
  • filter (objeto, obrigatório): definição da visualização com filtro ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list}).
  • appendCells: adiciona células após a última linha com dados em uma página. Esquema:
  • sheetId (número inteiro, obrigatório): ID da página em que os dados serão adicionados.
  • rows (matriz de RowData, obrigatório): linhas de dados a serem adicionadas ao final.
  • fields (string, obrigatório): máscara de campo (por exemplo, "userEnteredValue").
  • clearBasicFilter: limpa o filtro básico em uma página. Esquema:
  • sheetId (número inteiro, obrigatório): ID da página em que o filtro básico será removido.
  • deleteDimension: exclui linhas ou colunas em uma página. Esquema:
  • range (objeto, obrigatório): intervalo de dimensões a ser excluído ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • deleteEmbeddedObject: exclui um objeto incorporado (por exemplo, gráfico, imagem) em uma página. Esquema:
  • objectId (número inteiro, obrigatório): ID do objeto incorporado a ser excluído.
  • deleteFilterView: exclui uma visualização com filtro de uma página. Esquema:
  • filterId (número inteiro, obrigatório): ID da visualização com filtro que será excluída.
  • duplicateFilterView: duplica uma visualização com filtro. Esquema:
  • filterId (número inteiro, obrigatório): ID da visualização com filtro a ser duplicada.
  • duplicateSheet: duplica uma página. Esquema:
  • sourceSheetId (número inteiro, obrigatório): ID da página a ser duplicada.
  • insertSheetIndex (número inteiro, opcional): índice com base em zero em que a nova página será inserida.
  • newSheetId (número inteiro, opcional): ID da nova página.
  • newSheetName (string, opcional): nome da nova página.
  • findReplace: encontra e substitui ocorrências de um texto por outro. Esquema:
  • find (string, obrigatório): valor a ser pesquisado.
  • replacement (string, obrigatório): valor de substituição.
  • Escopo (apenas um é obrigatório):
    • range (objeto): intervalo da grade.
    • sheetId (número inteiro): ID da página.
    • allSheets (booleano): true para pesquisar todas as páginas.
  • matchCase / matchEntireCell / searchByRegex / includeFormulas (booleano, opcional).
  • insertDimension: insere novas linhas ou colunas em uma página. Esquema:
  • range (objeto, obrigatório): intervalo de dimensões a ser inserido ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • inheritFromBefore (booleano, opcional): true para herdar a formatação da linha/coluna anterior.
  • insertRange: insere novas células em uma página, deslocando as células atuais. Esquema:
  • range (objeto, obrigatório): intervalo de grade em que as células serão inseridas.
  • shiftDimension (string, obrigatório): "ROWS" ou "COLUMNS".
  • moveDimension: move linhas ou colunas para outro local em uma página. Esquema:
  • source (objeto, obrigatório): intervalo de dimensões de origem ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • destinationIndex (número inteiro, obrigatório): índice de destino baseado em zero.
  • updateEmbeddedObjectPosition: atualiza a posição de um objeto incorporado (por exemplo, gráfico, imagem). Esquema:
  • objectId (número inteiro, obrigatório): ID do objeto incorporado.
  • newPosition (objeto, obrigatório): nova posição ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).
  • fields (string, obrigatório): máscara de campo (por exemplo, "overlayPosition.anchorCell").
  • pasteData: cola dados (HTML ou delimitados) em uma página. Esquema:
  • coordinate (objeto, obrigatório): coordenada superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
  • data (string, obrigatório): texto delimitado ou dados HTML.
  • delimiter (string, opcional) ou html (booleano, opcional).
  • type (string, opcional): "PASTE_NORMAL", "PASTE_VALUES" etc.
  • textToColumns: converte uma coluna de texto em várias colunas de texto. Esquema:
  • source (objeto, obrigatório): intervalo de grade de coluna única.
  • delimiterType (string, obrigatório): "COMMA", "SEMICOLON", "PERIOD", "SPACE", "CUSTOM", "AUTODETECT".
  • delimiter (string, opcional): caractere delimitador quando delimiterType é "CUSTOM".
  • updateFilterView: atualiza as propriedades de uma visualização com filtro. Esquema:
  • filter (objeto, obrigatório): definição da visualização com filtro, incluindo filterViewId.
  • fields (string, obrigatório): máscara de campo (por exemplo, "title,criteria" ou "*").
  • deleteRange: exclui um intervalo de células de uma página, deslocando as células restantes. Esquema:
  • range (objeto, obrigatório): intervalo de grade a ser excluído.
  • shiftDimension (string, obrigatório): "ROWS" ou "COLUMNS".
  • appendDimension: adiciona dimensões ao final de uma página. Esquema:
  • sheetId (número inteiro, obrigatório): ID da página.
  • dimension (string, obrigatório): "ROWS" ou "COLUMNS".
  • length (número inteiro, obrigatório): número de linhas ou colunas a serem adicionadas ao final.
  • addConditionalFormatRule: adiciona uma nova regra de formatação condicional. Esquema:
  • rule (objeto, obrigatório): regra de formatação condicional ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}}).
  • index (número inteiro, opcional): índice baseado em zero em que a regra precisa ser inserida.
  • updateConditionalFormatRule: atualiza uma regra de formatação condicional. Esquema:
  • rule (objeto, obrigatório): nova regra de formatação condicional.
  • Índice / ID da regra (um obrigatório):
    • index (número inteiro): índice baseado em zero da regra.
    • sheetId (número inteiro): ID da página, se a atualização for feita pelo índice da página.
  • newIndex (número inteiro, opcional): novo índice para mover a regra.
  • deleteConditionalFormatRule: exclui uma regra de formatação condicional. Esquema:
  • index (número inteiro, obrigatório): índice baseado em zero da regra a ser excluída.
  • sheetId (número inteiro, obrigatório): ID da página da regra.
  • sortRange: classifica os dados em um intervalo. Esquema:
  • range (objeto, obrigatório): intervalo da grade a ser classificado.
  • sortSpecs (matriz de SortSpec, obrigatório): especificações de classificação ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).
  • setDataValidation: define a validação de dados para uma ou mais células. Esquema:
  • range (objeto, obrigatório): intervalo da grade.
  • rule (objeto, opcional): regra de validação ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}). Se omitido, limpa a validação.
  • setBasicFilter: define o filtro básico em uma página. Esquema:
  • filter (objeto, obrigatório): definição básica do filtro ({"range": GridRange, "criteria": map, "sortSpecs": list}).
  • addProtectedRange: adiciona um intervalo protegido. Esquema:
  • protectedRange (objeto, obrigatório): definição do intervalo protegido ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}}).
  • updateProtectedRange: atualiza um intervalo protegido. Esquema:
  • protectedRange (objeto, obrigatório): definição de intervalo protegido com protectedRangeId.
  • fields (string, obrigatório): máscara de campo (por exemplo, "description,warningOnly" ou "*").
  • deleteProtectedRange: exclui um intervalo protegido. Esquema:
  • protectedRangeId (número inteiro, obrigatório): ID do intervalo protegido a ser excluído.
  • autoResizeDimensions: redimensiona automaticamente uma ou mais dimensões com base no conteúdo da célula. Esquema:
  • dimensions (objeto, obrigatório): intervalo de dimensões ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • addChart: adiciona um gráfico. Esquema:
  • chart (objeto, obrigatório): definição do gráfico ({"spec": {"title": string, "basicChart": {"chartType": "COLUMN"|"BAR"|"LINE"|"PIE"|"COMBO"|"SCATTER", "legendPosition": string, "axis": list, "domains": list, "series": list}}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).
  • updateChartSpec: atualiza as especificações de um gráfico. Esquema:
  • chartId (número inteiro, obrigatório): ID do gráfico.
  • spec (objeto, obrigatório): nova especificação do gráfico.
  • updateBanding: atualiza um intervalo com faixas. Esquema:
  • bandedRange (objeto, obrigatório): definição de intervalo de faixas com bandedRangeId.
  • fields (string, obrigatório): máscara de campo.
  • addBanding: adiciona um novo intervalo com faixas. Esquema:
  • bandedRange (objeto, obrigatório): definição do intervalo de faixas ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}}).
  • deleteBanding: remove um intervalo com faixas. Esquema:
  • bandedRangeId (número inteiro, obrigatório): ID do intervalo com faixas a ser excluído.
  • createDeveloperMetadata: cria novos metadados do desenvolvedor. Esquema:
  • developerMetadata (objeto, obrigatório): definição de metadados ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"}).
  • updateDeveloperMetadata: atualiza uma entrada de metadados do desenvolvedor. Esquema:
  • dataFilters (matriz de DataFilter, obrigatório): filtros para selecionar metadados.
  • developerMetadata (objeto, obrigatório): valores de metadados atualizados.
  • fields (string, obrigatório): máscara de campo.
  • deleteDeveloperMetadata: exclui metadados do desenvolvedor. Esquema:
  • dataFilter (objeto, obrigatório): filtro que descreve os critérios para os metadados a serem excluídos.
  • randomizeRange: randomiza a ordem das linhas em um intervalo. Esquema:
  • range (objeto, obrigatório): intervalo da grade para randomizar.
  • addDimensionGroup: cria um grupo no intervalo especificado. Esquema:
  • range (objeto, obrigatório): intervalo de dimensões para agrupar ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • deleteDimensionGroup: exclui um grupo no intervalo especificado. Esquema:
  • range (objeto, obrigatório): intervalo de dimensões do grupo a ser excluído.
  • updateDimensionGroup: atualiza o estado do grupo especificado. Esquema:
  • dimensionGroup (objeto, obrigatório): definição do grupo ({"range": DimensionRange, "depth": int, "collapsed": bool}).
  • fields (string, obrigatório): máscara de campo (por exemplo, "collapsed").
  • trimWhitespace: remove espaços em branco das células (como espaços, tabulações ou novas linhas). Esquema:
  • range (objeto, obrigatório): intervalo de grade com as células que serão cortadas.
  • deleteDuplicates: remove linhas que contêm valores duplicados em colunas especificadas de um intervalo de células. Esquema:
  • range (objeto, obrigatório): intervalo da grade de onde as cópias serão removidas.
  • comparisonColumns (matriz de DimensionRange, opcional): colunas específicas para analisar.
  • updateEmbeddedObjectBorder: atualiza a borda de um objeto incorporado. Esquema:
  • objectId (número inteiro, obrigatório): ID do objeto incorporado.
  • border (objeto, obrigatório): definição de borda ({"colorStyle": ColorStyle, "section": "ALL"}).
  • fields (string, obrigatório): máscara de campo.
  • addSlicer: adiciona um controle de filtro. Esquema:
  • slicer (objeto, obrigatório): definição do controle de filtros ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).
  • updateSlicerSpec: atualiza as especificações de um controle de filtro. Esquema:
  • slicerId (número inteiro, obrigatório): ID do controle de filtros.
  • spec (objeto, obrigatório): nova especificação de controle de filtros.
  • fields (string, obrigatório): máscara de campo.
  • addDataSource: adiciona uma fonte de dados. Esquema:
  • dataSource (objeto, obrigatório): definição da fonte de dados ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).
  • updateDataSource: atualiza uma fonte de dados. Esquema:
  • dataSource (objeto, obrigatório): definição da fonte de dados com dataSourceId.
  • fields (string, obrigatório): máscara de campo.
  • deleteDataSource: exclui uma fonte de dados. Esquema:
  • dataSourceId (string, obrigatório): ID da fonte de dados a ser excluída.
  • refreshDataSource: atualiza uma ou várias fontes de dados e dbobjects associados. Esquema:
  • dataSourceId (string, opcional) ou isAll (booleano, opcional) ou references (objeto, opcional).
  • force (booleano, opcional): se a atualização deve ser forçada.
  • cancelDataSourceRefresh: cancela as atualizações de uma ou várias fontes de dados e dbobjects associados. Esquema:
  • dataSourceId (string, opcional) ou isAll (booleano, opcional) ou references (objeto, opcional).
  • addTable: adiciona uma tabela. Esquema:
  • table (objeto, obrigatório): definição da tabela ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).
  • updateTable: atualiza uma tabela. Esquema:
  • table (objeto, obrigatório): definição de tabela com tableId.
  • fields (string, obrigatório): máscara de campo.
  • deleteTable: uma solicitação para excluir uma tabela. Esquema:
  • tableId (string, obrigatório): ID da tabela a ser excluída.
  • insertComment: insere um comentário na planilha. Esquema:
  • content (string, obrigatório): conteúdo do comentário em texto simples.
  • coordinate (objeto, obrigatório): coordenada de grade na página para fixar o comentário:
    • sheetId (número inteiro, obrigatório): o ID da página.
    • rowIndex (número inteiro, obrigatório): índice de linha baseado em zero.
    • columnIndex (número inteiro, obrigatório): índice de coluna baseado em zero.
  • assigneeEmailAddress (string, opcional): endereço de e-mail do responsável pelo comentário.
  • addCommentReply: adiciona uma resposta a uma conversa. Também é usado para resolver ou reabrir uma conversa. Esquema:
  • commentId (string, obrigatório): ID da conversa.
  • post (objeto, obrigatório):
    • content (string, obrigatório, a menos que commentAction seja RESOLVE ou REOPEN): conteúdo em texto simples da postagem de resposta.
    • commentAction (string, opcional): ação realizada com essa resposta ("RESOLVE" ou "REOPEN").
    • assigneeEmail (string, opcional): endereço de e-mail para atribuir a conversa.
  • updateCommentPost: atualiza o conteúdo de uma postagem de comentário em uma conversa. Esquema:
  • commentId (string, obrigatório): ID da conversa.
  • postId (string, obrigatório): ID do comentário a ser atualizado.
  • content (string, obrigatório): o conteúdo atualizado do post de comentário.
  • deleteComment: exclui uma conversa. Esquema:
  • commentId (string, obrigatório): ID da conversa que será excluída.
  • deleteCommentReply: exclui uma postagem de resposta. Esquema:
  • commentId (string, obrigatório): ID da conversa.
  • postId (string, obrigatório): ID da postagem de resposta a ser excluída.

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

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

Esquema de entrada

UpdateContentRequest

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

string

Obrigatório. O ID da planilha que será atualizada.

requests[]

object (Struct format)

Obrigatório. Uma lista de atualizações a serem aplicadas à planilha. Cada solicitação precisa ser um objeto Request spreadsheets.batchUpdate válido, usando o esquema documentado em: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/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. Fornece 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 eles não são compatíveis com JSON. Isso também não pode 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
Campo de união control. Determina a revisão da planilha em que os dados serão gravados 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 da planilha em que a solicitação de gravação será aplicada. Se essa 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 da planilha após a aplicação da solicitação.

NullValue

Representa um null JSON.

NullValue é um sentinela, que usa um tipo enumerado 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 emite um Value com um null_value definido como um null JSON, independentemente do valor inteiro, e, portanto, faz uma ida e volta para um valor 0.

Tipos enumerados
NULL_VALUE Valor nulo.

Esquema de saída

UpdateContentResponse

Representação JSON
{
  "content": {
    object
  }
}
Campos
content

object (Struct format)

A resposta spreadsheets.batchUpdate, no formato JSON da API Sheets, além de um campo status.

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 eles não são compatíveis com JSON. Isso também não pode 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 um tipo enumerado 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 emite um Value com um null_value definido como um null JSON, independentemente do valor inteiro, e, portanto, faz uma 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:

  • readOnlyHint: se for verdadeiro, a ferramenta não modifica o ambiente. (Padrão: falso).
  • destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.
  • idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. (Padrão: falso).
  • openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, 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 jogos 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/spreadsheets