MCP Tools Reference: sheetsmcp.googleapis.com

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

Вставляет строки или столбцы в таблицу по определенному индексу.

Соответствует запросу InsertDimensionRequest в REST API spreadsheets.batchUpdate: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request.

Схема: spreadsheet_id (строка, обязательный параметр). Идентификатор таблицы, которую нужно обновить. - sheet_id (целое число, обязательно): идентификатор листа, в который нужно вставить данные. – dimension (строка, обязательно): "ROWS" или "COLUMNS". - start_index (целое число, обязательно) – начальный индекс вставки (включительно), отсчитываемый от нуля. – end_index (целое число, обязательно): конечный индекс вставки (не включительно). Нумерация начинается с 0. - inherit_from_before (логическое значение, необязательный параметр) – нужно ли расширять свойства параметра на параметры до (true) или после (false) него.

В приведенном ниже фрагменте кода показано, как использовать curl для вызова инструмента insert_dimension 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": "insert_dimension",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Схема ввода

InsertDimensionRequest

JSON-представление
{
  "spreadsheetId": string,
  "sheetId": integer,
  "dimension": enum (Dimension),
  "startIndex": integer,
  "endIndex": integer,
  "inheritFromBefore": boolean
}
Поля
spreadsheetId

string

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

sheetId

integer

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

dimension

enum (Dimension)

Обязательно. Параметр, который нужно вставить.

startIndex

integer

Обязательно. Начальный индекс вставки (включительно), отсчитываемый от нуля.

endIndex

integer

Обязательно. Конечный индекс вставки (не включительно). Нумерация начинается с 0.

inheritFromBefore

boolean

Нужно ли распространять свойства параметров на новые параметры до или после их добавления. Если значение равно true, размеры наследуются от предыдущих измерений (в этом случае начальный индекс должен быть больше 0). Если значение равно false, размеры наследуются от последующих измерений.

Параметр

Указывает, к какому параметру должна применяться операция.

Перечисления
DIMENSION_UNSPECIFIED Значение по умолчанию, не используйте.
COLUMNS Работает со столбцами таблицы.
ROWS Работает со строками таблицы.

Схема вывода

Представляет объект 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/spreadsheets