MCP Tools Reference: sheetsmcp.googleapis.com

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

Задает значения в диапазоне электронной таблицы.

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

Схема: spreadsheet_id (строка, обязательный параметр). Идентификатор таблицы, которую нужно обновить. - range (строка, обязательный параметр) – нотация A1 значений, которые нужно обновить (например, "Sheet1!A1:B2"). - values (массив массивов, обязательный параметр) – двумерный массив значений ячеек. Поддерживаются следующие типы значений: логическое значение, строка и число (с плавающей запятой или целое).

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

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

Схема ввода

UpdateValuesRequest

JSON-представление
{
  "spreadsheetId": string,
  "range": string,
  "values": [
    array
  ]
}
Поля
spreadsheetId

string

Обязательно. Идентификатор таблицы, которую нужно обновить.

range

string

Обязательно. Нотация A1 значений, которые нужно обновить.

values[]

array (ListValue format)

Обязательно. Данные, которые были прочитаны или должны быть записаны. Это массив массивов, где внешний массив представляет все данные, а каждый внутренний массив – строку. Каждый элемент во внутреннем массиве соответствует одной ячейке. Поддерживаются следующие типы значений: bool, string и double. Пустые значения будут пропущены. Чтобы задать для ячейки пустое значение, укажите пустую строку.

ListValue

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

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.

Структура

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)

NullValue

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

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

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

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

Схема вывода

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

Неупорядоченная карта "ключ-значение", которая точно передает семантику объекта JSON. Это позволяет анализировать любую полезную нагрузку JSON как поле сообщения в формате ProtoJSON.

Это соответствует рекомендациям RFC 8259 для совместимого JSON: в частности, этот тип не может представлять большие значения Int64 или числа NaN/Infinity, поскольку формат JSON обычно не поддерживает эти значения в своем числовом типе.

Если вы не планируете анализировать произвольный код JSON в своем сообщении, вместо этого типа следует использовать специальное типизированное сообщение.

Структура

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, заданным как JSON null, независимо от целочисленного значения, и поэтому будут выполнять преобразование в значение 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
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets