MCP Tools Reference: sheetsmcp.googleapis.com

Herramienta: insert_dimension

Inserta filas o columnas en una hoja en un índice determinado.

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

Esquema: - spreadsheet_id (cadena, obligatorio): ID de la hoja de cálculo que se actualizará. - sheet_id (número entero, obligatorio): Es el ID de la hoja en la que se insertará. - dimension (cadena, obligatorio): "ROWS" o "COLUMNS". - start_index (número entero, obligatorio): Es el índice de inicio (basado en 0) de la inserción (inclusive). - end_index (número entero, obligatorio): Es el índice final (basado en 0) de la inserción (no incluido). - inherit_from_before (booleano, opcional): Indica si las propiedades de la dimensión se deben extender desde las dimensiones anteriores (true) o posteriores (false).

En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP insert_dimension.

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": "insert_dimension",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Esquema de entrada

InsertDimensionRequest

Representación JSON
{
  "spreadsheetId": string,
  "sheetId": integer,
  "dimension": enum (Dimension),
  "startIndex": integer,
  "endIndex": integer,
  "inheritFromBefore": boolean
}
Campos
spreadsheetId

string

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

sheetId

integer

Obligatorio. ID de la hoja en la que se insertará.

dimension

enum (Dimension)

Obligatorio. Dimensión que se insertará.

startIndex

integer

Obligatorio. Índice de inicio (basado en 0) de la inserción (inclusive).

endIndex

integer

Obligatorio. Índice final de la inserción basado en 0 (exclusivo).

inheritFromBefore

boolean

Indica si las propiedades de la dimensión se deben extender desde las dimensiones antes o después de las dimensiones recién insertadas. Es verdadero para heredar de las dimensiones anteriores (en cuyo caso, el índice de inicio debe ser mayor que 0) y falso para heredar de las dimensiones posteriores.

Dimensión

Indica a qué dimensión se debe aplicar una operación.

Enums
DIMENSION_UNSPECIFIED Es el valor predeterminado y no se debe usar.
COLUMNS Opera en las columnas de una hoja.
ROWS Opera en las filas de una hoja.

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

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, 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/drive
  • https://www.googleapis.com/auth/spreadsheets