Herramienta: update_values
Establece valores en un rango de una hoja de cálculo.
Corresponde a spreadsheets.values.update en la API de REST: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/update
Esquema: - spreadsheet_id (cadena, obligatorio): ID de la hoja de cálculo que se actualizará. - range (cadena, obligatorio): Es la notación A1 de los valores que se actualizarán (p.ej., "Sheet1!A1:B2"). - values (array de arrays, obligatorio): Es un array bidimensional de valores de celdas. Los tipos de valores admitidos son booleanos, cadenas y números (flotantes o enteros).
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP update_values.
| Solicitud de 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_values", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
UpdateValuesRequest
| Representación JSON |
|---|
{ "spreadsheetId": string, "range": string, "values": [ array ] } |
| Campos | |
|---|---|
spreadsheetId |
Obligatorio. ID de la hoja de cálculo que se actualizará. |
range |
Obligatorio. Es la notación A1 de los valores que se actualizarán. |
values[] |
Obligatorio. Son los datos que se leyeron o que se escribirán. Es un array de arrays, en el que el array externo representa todos los datos y cada array interno representa una fila. Cada elemento del array interno corresponde a una celda. Los tipos de valores admitidos son bool, string y double. Se omitirán los valores nulos. Para establecer una celda en un valor vacío, establece el valor de la cadena en una cadena vacía. |
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Es un campo repetido de valores escritos de forma dinámica. |
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 |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
Struct
| Representación JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
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, y, por lo tanto, 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 de pares 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 la RFC 8259 para el formato 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 |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
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 |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
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, y, por lo tanto, se realizará un viaje de ida y vuelta a un valor de 0.
| Enums | |
|---|---|
NULL_VALUE |
Valor nulo. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, se definen las siguientes sugerencias booleanas:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta varias veces con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Pista destructiva: ❌ | Pista idempotente: ❌ | Pista de solo lectura: ❌ | Pista de mundo abierto: ✅
Alcances de la autorización
Se necesita uno de los siguientes alcances de OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets