MCP Tools Reference: sheetsmcp.googleapis.com

Инструмент: get_spreadsheet

Возвращает содержимое указанной таблицы. Возвращает названия, имена листов, свойства сетки и другие метаданные для указанного идентификатора таблицы. Также возвращает полные данные сетки, если они запрашиваются.

Соответствует spreadsheets.get в REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/get.

Схема: spreadsheet_id (строка, обязательный) – идентификатор запрашиваемой таблицы. - include_grid_data (логическое значение, необязательно): True, если нужно вернуть данные сетки. Значение по умолчанию – false. - fields (массив строк, необязательно): маски полей, указывающие, какие свойства нужно вернуть (например, ["sheets.properties.sheetId", "sheets.properties.title"]). - comments_included (логическое значение, необязательно): если установлено значение true, в ответ будут включены комментарии. Значение по умолчанию – false. - ranges (массив строк, необязательно): диапазоны A1 или R1C1, которые нужно получить из таблицы. Если диапазон не указан, возвращается вся таблица.

В примере кода ниже показано, как использовать curl для вызова инструмента MCP get_spreadsheet.

Запрос 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
}'

Схема ввода

GetContentRequest

JSON-представление
{
  "spreadsheetId": string,
  "includeGridData": boolean,
  "fields": [
    string
  ],
  "ranges": [
    string
  ],

  "commentsIncluded": boolean
}
Поля
spreadsheetId

string

Обязательно. Идентификатор запрашиваемой таблицы.

includeGridData

boolean

True, если нужно вернуть данные сетки.

fields[]

string

Необязательное поле. Маска поля, указывающая, какие свойства должен возвращать Spreadsheets API. Подробнее о том, как использовать маски полей, читайте на странице https://developers.google.com/workspace/sheets/api/guides/field-masks. ВАЖНО! Используйте иерархические пути на основе структуры JSON ответа Sheets API. Например, чтобы получить название и идентификатор листа, используйте sheets.properties.sheetId и sheets.properties.title вместо title,sheetId. - Включайте только нужные поля. - Чтобы получить таблицы, используйте sheets.tables или sheets.properties. - Чтобы получить названия и идентификаторы листов, используйте sheets.properties.sheetId и sheets.properties.title.

ranges[]

string

Необязательное поле. Нотация A1 или R1C1 диапазонов, которые нужно получить из таблицы. Если диапазон не указан, возвращается вся таблица.

Объединенное поле _comments_included.

Поле _comments_included может иметь одно из следующих значений:

commentsIncluded

boolean

Необязательное поле. Если задано значение true, комментарии будут включены в ответ. По умолчанию комментарии не включаются.

Схема вывода

GetContentResponse

JSON-представление
{
  "content": {
    object
  }
}
Поля
content

object (Struct format)

Таблица в формате JSON ресурса Spreadsheet Sheets API.

Структура

JSON-представление
{
  "fields": {
    string: value,
    ...
  }
}
Поля
fields

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

Неупорядоченная карта динамически типизированных значений.

Объект содержит список из нескольких пар ("key": value). Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON-представление
{
  "key": string,
  "value": value
}
Поля
key

string

value

value (Value format)

Значение

JSON-представление
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Поля
Объединенное поле kind. Тип значения. kind может иметь одно из следующих значений:
nullValue

null

Представляет JSON null.

numberValue

number

Представляет число JSON. Не должно быть NaN, Infinity или -Infinity, поскольку они не поддерживаются в JSON. Кроме того, в этом формате нельзя представить большие значения Int64, поскольку формат JSON обычно не поддерживает их в своем числовом типе.

stringValue

string

Представляет строку JSON.

boolValue

boolean

Представляет логическое значение JSON (литерал true или false в JSON).

structValue

object (Struct format)

Представляет объект JSON.

listValue

array (ListValue format)

Представляет массив JSON.

ListValue

JSON-представление
{
  "values": [
    value
  ]
}
Поля
values[]

value (Value format)

Повторяющееся поле динамически типизированных значений.

NullValue

Представляет JSON null.

NullValue – это сигнальное значение, использующее перечисление только с одним значением для представления нулевого значения для объединения типов Value.

Поле типа NullValue с любым значением, кроме 0, считается недопустимым. Большинство сериализаторов ProtoJSON будут выдавать Value с null_value, заданным как null JSON, независимо от целочисленного значения, и поэтому будут округлять до значения 0.

Перечисления
NULL_VALUE Нулевое значение.

Аннотации инструментов

Аннотации инструментов отправляются клиентам MCP, чтобы описать базовый риск, связанный с определенным инструментом. Большинство клиентов считают эти подсказки ненадежными, но их можно использовать, чтобы решить, когда пользователю может быть отправлен запрос на подтверждение.

Помимо строки заголовка, определены следующие логические подсказки:

  • readOnlyHint: если задано значение true, инструмент не изменяет свою среду. Значение по умолчанию – false.
  • destructiveHint: если задано значение True, инструмент может выполнять деструктивные действия. Если задано значение false, инструмент может выполнять только действия по добавлению. Значение по умолчанию: true.
  • idempotentHint. Если задано значение True, повторный вызов инструмента с теми же аргументами не будет иметь дополнительного эффекта в его среде. Значение по умолчанию – false.
  • openWorldHint: если задано значение true, инструмент может взаимодействовать с открытым миром внешних объектов. Если false, то инструмент может взаимодействовать только с внутренними объектами. Например, инструмент веб-поиска будет открытым миром, а инструмент памяти – нет.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ✅

Области авторизации

Требует одной из следующих областей применения OAuth:

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