Herramienta: get_spreadsheet
Devuelve el contenido de la hoja de cálculo especificada. Devuelve los títulos, los nombres de las hojas, las propiedades de la cuadrícula y otros metadatos para el ID de hoja de cálculo determinado. También devuelve los datos de la cuadrícula completa si se solicitan.
Corresponde a spreadsheets.get en la API de REST: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/get
Esquema: - spreadsheet_id (cadena, obligatorio): Es el ID de la hoja de cálculo que se solicita. - include_grid_data (booleano, opcional): Es verdadero si se deben devolver los datos de la cuadrícula. La configuración predeterminada es "false". - fields (array de cadenas, opcional): Máscaras de campo que especifican qué propiedades se devolverán (p.ej., ["sheets.properties.sheetId", "sheets.properties.title"]). - comments_included (booleano, opcional): Si es verdadero, los comentarios se incluirán en la respuesta. La configuración predeterminada es "false". - ranges (array de cadenas, opcional): Son los rangos en notación A1 o R1C1 que se recuperarán de la hoja de cálculo. Si no se especifica, se devuelve toda la hoja de cálculo.
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP get_spreadsheet.
| 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": "get_spreadsheet", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
GetContentRequest
| Representación JSON |
|---|
{ "spreadsheetId": string, "includeGridData": boolean, "fields": [ string ], "ranges": [ string ], "commentsIncluded": boolean } |
| Campos | |
|---|---|
spreadsheetId |
Obligatorio. ID de la hoja de cálculo que se solicitará. |
includeGridData |
Es verdadero si se deben devolver los datos de la cuadrícula. |
fields[] |
Opcional. Es una máscara de campo para especificar qué propiedades de la API de Spreadsheets se deben devolver. Consulta https://developers.google.com/workspace/sheets/api/guides/field-masks para obtener más información sobre cómo usar las máscaras de campo. IMPORTANTE: Usa rutas jerárquicas basadas en la estructura JSON de respuesta de la API de Sheets. - Por ejemplo, para obtener el título y el ID de la hoja, usa "sheets.properties.sheetId" y "sheets.properties.title" en lugar de "title,sheetId". - Incluye solo los campos que necesitas. - Para obtener tablas, usa "sheets.tables" o "sheets.properties". - Para obtener los títulos y los IDs de las hojas, usa "sheets.properties.sheetId" y "sheets.properties.title". |
ranges[] |
Opcional. La notación A1 o notación R1C1 de los rangos que se recuperarán de la hoja de cálculo. Si no se especifica, se devuelve toda la hoja de cálculo. |
Campo de unión
|
|
commentsIncluded |
Opcional. Si es verdadero, los comentarios se incluirán en la respuesta. De forma predeterminada, no se incluyen los comentarios. |
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/drive.readonlyhttps://www.googleapis.com/auth/spreadsheets.readonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets