MCP Tools Reference: sheetsmcp.googleapis.com

Herramienta: update_spreadsheet

Aplica una o más actualizaciones a la hoja de cálculo.

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

La lista de posibles actualizaciones es la siguiente:

  • updateSpreadsheetProperties: Actualiza las propiedades de la hoja de cálculo.
  • updateSheetProperties: Actualiza las propiedades de una hoja.
  • updateDimensionProperties: Actualiza las propiedades de las dimensiones.
  • updateNamedRange: Actualiza un rango con nombre.
  • repeatCell: Repite una sola celda en un rango.
  • addNamedRange: Agrega un rango con nombre.
  • deleteNamedRange: Borra un rango con nombre.
  • addSheet: Agrega una hoja.
  • deleteSheet: Borra una hoja.
  • autoFill: Completa automáticamente más datos según los datos existentes.
  • cutPaste: Corta datos de un área y los pega en otra.
  • copyPaste: Copia datos de un área y los pega en otra.
  • mergeCells: Combina celdas.
  • unmergeCells: Separa las celdas combinadas.
  • updateBorders: Actualiza los bordes en un rango de celdas.
  • updateCells: Actualiza muchas celdas a la vez.
  • addFilterView: Agrega una vista de filtro.
  • appendCells: Agrega celdas después de la última fila con datos en una hoja.
  • clearBasicFilter: Borra el filtro básico de una hoja.
  • deleteDimension: Borra filas o columnas en una hoja.
  • deleteEmbeddedObject: Borra un objeto incorporado (p. ej., un gráfico o una imagen) en una hoja.
  • deleteFilterView: Borra una vista de filtro de una hoja.
  • duplicateFilterView: Duplica una vista de filtro.
  • duplicateSheet: Duplica una hoja.
  • findReplace: Busca y reemplaza las ocurrencias de un texto por otro.
  • insertDimension: Inserta filas o columnas nuevas en una hoja.
  • insertRange: Inserta celdas nuevas en una hoja y desplaza las celdas existentes.
  • moveDimension: Mueve filas o columnas a otra ubicación en una hoja.
  • updateEmbeddedObjectPosition: Actualiza la posición de un objeto incorporado (p.ej., un gráfico o una imagen).
  • pasteData: Pega datos (HTML o delimitados) en una hoja.
  • textToColumns: Convierte una columna de texto en muchas columnas de texto.
  • updateFilterView: Actualiza las propiedades de una vista de filtro.
  • deleteRange: Borra un rango de celdas de una hoja y desplaza las celdas restantes.
  • appendDimension: Agrega dimensiones al final de una hoja.
  • addConditionalFormatRule: Agrega una nueva regla de formato condicional.
  • updateConditionalFormatRule: Actualiza una regla de formato condicional existente.
  • deleteConditionalFormatRule: Borra una regla de formato condicional existente.
  • sortRange: Ordena los datos en un rango.
  • setDataValidation: Establece la validación de datos para una o más celdas.
  • setBasicFilter: Establece el filtro básico en una hoja.
  • addProtectedRange: Agrega un rango protegido.
  • updateProtectedRange: Actualiza un rango protegido.
  • deleteProtectedRange: Borra un rango protegido.
  • autoResizeDimensions: Cambia automáticamente el tamaño de una o más dimensiones según el contenido de las celdas en esa dimensión.
  • addChart: Agrega un gráfico.
  • updateChartSpec: Actualiza las especificaciones de un gráfico.
  • updateBanding: Actualiza un rango agrupado.
  • addBanding: Agrega un nuevo rango con bandas.
  • deleteBanding: Quita un rango agrupado
  • createDeveloperMetadata: Crea metadatos para desarrolladores nuevos.
  • updateDeveloperMetadata: Actualiza una entrada de metadatos para desarrolladores existente
  • deleteDeveloperMetadata: Borra metadatos del desarrollador
  • randomizeRange: Aleatoriza el orden de las filas en un rango.
  • addDimensionGroup: Crea un grupo en el rango especificado.
  • deleteDimensionGroup: Borra un grupo en el rango especificado.
  • updateDimensionGroup: Actualiza el estado del grupo especificado.
  • trimWhitespace: Quita los espacios en blanco (como espacios, tabulaciones o líneas nuevas) de las celdas.
  • deleteDuplicates: Quita las filas que contienen valores duplicados en las columnas especificadas de un rango de celdas.
  • updateEmbeddedObjectBorder: Actualiza el borde de un objeto integrado.
  • addSlicer: Agrega un segmentador.
  • updateSlicerSpec: Actualiza las especificaciones de un segmentador.
  • addDataSource: Agrega una fuente de datos.
  • updateDataSource: Actualiza una fuente de datos.
  • deleteDataSource: Borra una fuente de datos.
  • refreshDataSource: Actualiza una o varias fuentes de datos y los objetos de base de datos asociados.
  • cancelDataSourceRefresh: Cancela las actualizaciones de una o varias fuentes de datos y los objetos de base de datos asociados.
  • addTable: Agrega una tabla.
  • updateTable: Actualiza una tabla.
  • deleteTable: Es una solicitud para borrar una tabla.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP update_spreadsheet.

Solicitud de 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

Representación JSON
{
  "spreadsheetId": string,
  "requests": [
    {
      object
    }
  ]
}
Campos
spreadsheetId

string

Obligatorio. ID de la hoja de cálculo que se actualizará.

requests[]

object (Struct format)

Obligatorio. Es una lista de actualizaciones que se aplicarán a la hoja de cálculo. Cada solicitud debe ser un objeto Request válido de spreadsheets.batchUpdate, con el esquema documentado en https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. Las solicitudes se aplicarán en el orden en que se especifiquen. Si alguna solicitud no es válida, no se aplicará ninguna.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

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

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representación JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representación JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null de JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.

Enums
NULL_VALUE Valor nulo.

Esquema de salida

Representa un objeto JSON.

Es un mapa clave-valor no ordenado que tiene como objetivo capturar a la perfección la semántica de un objeto JSON. Esto permite analizar cualquier carga útil JSON arbitraria como un campo de mensaje en formato ProtoJSON.

Esto sigue los lineamientos de RFC 8259 para JSON interoperable: En particular, este tipo no puede representar valores Int64 grandes ni números NaN/Infinity, ya que el formato JSON generalmente no admite esos valores en su tipo de número.

Si no tienes la intención de analizar JSON arbitrario en tu mensaje, se debe preferir un mensaje personalizado con tipo en lugar de usar este tipo.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

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

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representación JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representación JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null de JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.

Enums
NULL_VALUE Valor nulo.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ✅

Alcances de la autorización

Se necesita uno de los siguientes alcances de OAuth:

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