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.
  • updateSheetProperties: atualiza as propriedades de uma planilha.
  • updateDimensionProperties: atualiza as propriedades das dimensões.
  • updateNamedRange: atualiza um intervalo nomeado.
  • repeatCell: repete uma única célula em um intervalo.
  • addNamedRange: adiciona um intervalo nomeado.
  • deleteNamedRange: exclui um intervalo nomeado.
  • addSheet: adiciona uma página.
  • deleteSheet: exclui uma página.
  • autoFill: preenche automaticamente mais dados com base nos dados atuais.
  • cutPaste: corta dados de uma área e os cola em outra.
  • copyPaste: copia dados de uma área e os cola em outra.
  • mergeCells: mescla células.
  • unmergeCells: cancela a mesclagem de células.
  • updateBorders: atualiza as bordas em um intervalo de células.
  • updateCells: atualiza várias células de uma vez.
  • addFilterView: adiciona uma visualização com filtro.
  • appendCells: anexa células após a última linha com dados em uma planilha.
  • clearBasicFilter: limpa o filtro básico em uma planilha.
  • deleteDimension: exclui linhas ou colunas em uma planilha.
  • deleteEmbeddedObject: exclui um objeto incorporado (por exemplo, gráfico, imagem) em uma planilha.
  • deleteFilterView: exclui uma visualização com filtro de uma planilha.
  • duplicateFilterView: duplica uma visualização com filtro.
  • duplicateSheet: duplica uma planilha.
  • findReplace: encontra e substitui ocorrências de um texto por outro.
  • insertDimension: insere novas linhas ou colunas em uma planilha.
  • insertRange: insere novas células em uma planilha, movendo as células atuais.
  • moveDimension: move linhas ou colunas para outro local em uma planilha.
  • updateEmbeddedObjectPosition: atualiza a posição de um objeto incorporado (por exemplo, gráfico, imagem).
  • pasteData: cola dados (HTML ou delimitados) em uma planilha.
  • textToColumns: converte uma coluna de texto em várias colunas de texto.
  • updateFilterView: atualiza as propriedades de uma visualização com filtro.
  • deleteRange: exclui um intervalo de células de uma página, movendo as células restantes.
  • appendDimension: anexa dimensões ao final de uma planilha.
  • addConditionalFormatRule: adiciona uma nova regra de formatação condicional.
  • updateConditionalFormatRule: atualiza uma regra de formatação condicional.
  • deleteConditionalFormatRule: exclui uma regra de formatação condicional.
  • sortRange: classifica dados em um intervalo.
  • setDataValidation: define a validação de dados para uma ou mais células.
  • setBasicFilter: define o filtro básico em uma planilha.
  • addProtectedRange: adiciona um intervalo protegido.
  • updateProtectedRange: atualiza um intervalo protegido.
  • deleteProtectedRange: exclui um intervalo protegido.
  • autoResizeDimensions: redimensiona automaticamente uma ou mais dimensões com base no conteúdo das células nessa dimensão.
  • addChart: adiciona um gráfico.
  • updateChartSpec: atualiza as especificações de um gráfico.
  • updateBanding: atualiza um intervalo agrupado.
  • addBanding: adiciona um novo intervalo agrupado
  • deleteBanding: remove um intervalo agrupado
  • createDeveloperMetadata: cria novos metadados do desenvolvedor.
  • updateDeveloperMetadata: atualiza uma entrada de metadados do desenvolvedor.
  • deleteDeveloperMetadata: exclui metadados do desenvolvedor.
  • randomizeRange: aleatoriza a ordem das linhas em um intervalo.
  • addDimensionGroup: cria um grupo no intervalo especificado.
  • deleteDimensionGroup: exclui um grupo no intervalo especificado.
  • updateDimensionGroup: atualiza o estado do grupo especificado.
  • trimWhitespace: remove espaços em branco (como espaços, tabulações ou novas linhas) das células.
  • deleteDuplicates: remove linhas que contêm valores duplicados nas colunas especificadas de um intervalo de células.
  • updateEmbeddedObjectBorder: atualiza a borda de um objeto incorporado.
  • addSlicer: adiciona um segmentador.
  • updateSlicerSpec: atualiza as especificações de um segmentador.
  • addDataSource: adiciona uma fonte de dados.
  • updateDataSource: atualiza uma fonte de dados.
  • deleteDataSource: exclui uma fonte de dados.
  • refreshDataSource: atualiza uma ou várias fontes de dados e dbobjects associados.
  • cancelDataSourceRefresh: cancela atualizações de uma ou várias fontes de dados e dbobjects associados.
  • addTable: adiciona uma tabela.
  • updateTable: atualiza uma tabela.
  • deleteTable: uma solicitação para excluir uma tabela.

O exemplo a seguir demonstra como usar curl para invocar a ferramenta update_spreadsheet MCP.

Solicitação curl
curl --location 'https://sheetsmcp.googleapis.com/mcp' \
--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 tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

UpdateContentRequest

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

string

Obrigatório. O ID da planilha a ser atualizada.

requests[]

object (Struct format)

Obrigatório. Uma lista de atualizações a serem aplicadas à planilha. Cada solicitação precisa ser um objeto spreadsheets.batchUpdate Request 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.

Struct

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

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

Mapa não ordenado de valores com tipagem dinâmica.

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. 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 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

Representa um objeto JSON.

Um mapa de chave-valor não ordenado, com o objetivo de capturar perfeitamente a semântica de um objeto JSON. Isso permite analisar qualquer payload JSON arbitrário como um campo de mensagem no formato ProtoJSON.

Isso segue as diretrizes da RFC 8259 para JSON interoperável. Principalmente, esse tipo não pode representar valores Int64 grandes ou números NaN/Infinity, já que o formato JSON geralmente não aceita esses valores no tipo de número.

Se você não pretende analisar JSON arbitrário na sua mensagem, é melhor usar uma mensagem tipada personalizada em vez desse tipo.

Struct

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

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

Mapa não ordenado de valores com tipagem dinâmica.

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. 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 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

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