Инструмент: update_spreadsheet
Вносит одно или несколько изменений в электронную таблицу.
Соответствует методу spreadsheets.batchUpdate в REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
Список возможных обновлений:
-
updateSpreadsheetProperties: Обновляет свойства электронной таблицы. -
updateSheetProperties: Обновляет свойства листа. -
updateDimensionProperties: Обновляет свойства измерений. -
updateNamedRange: Обновляет именованный диапазон. -
repeatCell: Повторяет одну ячейку в заданном диапазоне. -
addNamedRange: Добавляет именованный диапазон. -
deleteNamedRange: Удаляет именованный диапазон. -
addSheet: Добавляет лист. -
deleteSheet: Удаляет лист. -
autoFill: Автоматически заполняет дополнительные данные на основе уже имеющихся. -
cutPaste: Вырезает данные из одной области и вставляет их в другую. -
copyPaste: Копирует данные из одной области и вставляет их в другую. -
mergeCells: Объединяет ячейки. -
unmergeCells: Разъединяет объединенные ячейки. -
updateBorders: Обновляет границы в диапазоне ячеек. -
updateCells: Обновляет сразу множество ячеек. -
addFilterView: Добавляет представление фильтра. -
appendCells: Добавляет данные в ячейки после последней строки листа. -
clearBasicFilter: Сбрасывает основной фильтр на листе. -
deleteDimension: Удаляет строки или столбцы в таблице. -
deleteEmbeddedObject: Удаляет встроенный объект (например, диаграмму, изображение) на листе. -
deleteFilterView: Удаляет представление фильтра из листа. -
duplicateFilterView: Дублирует представление фильтра. -
duplicateSheet: Создает дубликат листа. -
findReplace: Находит и заменяет одно вхождение текста другим текстом. -
insertDimension: Вставляет новые строки или столбцы в лист. -
insertRange: Вставляет новые ячейки в лист, сдвигая существующие ячейки. -
moveDimension: Перемещает строки или столбцы в другое место на листе. -
updateEmbeddedObjectPosition: Обновляет положение встроенного объекта (например, диаграммы, изображения). -
pasteData: Вставляет данные (HTML или с разделителями) в таблицу. -
textToColumns: Преобразует один столбец текста в несколько столбцов текста. -
updateFilterView: Обновляет свойства представления фильтра. -
deleteRange: Удаляет диапазон ячеек из листа, сдвигая оставшиеся ячейки. -
appendDimension: Добавляет размеры в конец листа. -
addConditionalFormatRule: Добавляет новое правило условного форматирования. -
updateConditionalFormatRule: Обновляет существующее правило условного форматирования. -
deleteConditionalFormatRule: Удаляет существующее правило условного форматирования. -
sortRange: Сортирует данные в заданном диапазоне. -
setDataValidation: Задает проверку данных для одной или нескольких ячеек. -
setBasicFilter: Устанавливает базовый фильтр для листа. -
addProtectedRange: Добавляет защищенный диапазон. -
updateProtectedRange: Обновляет защищенный диапазон. -
deleteProtectedRange: Удаляет защищенный диапазон. -
autoResizeDimensions: Автоматически изменяет размер одного или нескольких измерений в зависимости от содержимого ячеек в этом измерении. -
addChart: Добавляет диаграмму. -
updateChartSpec: Обновляет характеристики диаграммы. -
updateBanding: Обновляет диапазон полос -
addBanding: Добавляет новый диапазон полос -
deleteBanding: Удаляет диапазон, ограниченный полосами. -
createDeveloperMetadata: Создает новые метаданные для разработчиков. -
updateDeveloperMetadata: Обновляет существующую запись метаданных разработчика. -
deleteDeveloperMetadata: Удаляет метаданные разработчика. -
randomizeRange: Рандомизирует порядок строк в заданном диапазоне. -
addDimensionGroup: Создает группу в указанном диапазоне. -
deleteDimensionGroup: Удаляет группу в указанном диапазоне. -
updateDimensionGroup: Обновляет состояние указанной группы. -
trimWhitespace: Удаляет пробелы (например, пробелы, табуляции или переносы строк) из ячеек памяти. -
deleteDuplicates: Удаляет строки, содержащие повторяющиеся значения в указанных столбцах диапазона ячеек. -
updateEmbeddedObjectBorder: Обновляет границу встроенного объекта. -
addSlicer: Добавляет слайсер. -
updateSlicerSpec: Обновляет параметры среза. -
addDataSource: Добавляет источник данных. -
updateDataSource: Обновляет источник данных. -
deleteDataSource: Удаляет источник данных. -
refreshDataSource: Обновляет один или несколько источников данных и связанных с ними объектов dbobject. -
cancelDataSourceRefresh: Отменяет обновление одного или нескольких источников данных и связанных с ними объектов dbobject. -
addTable: Добавляет таблицу. -
updateTable: Обновляет таблицу. -
deleteTable: Запрос на удаление таблицы.
В следующем примере показано, как использовать curl для вызова инструмента MCP update_spreadsheet .
| Запрос Curl |
|---|
curl --location 'https://sheetsmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "update_spreadsheet", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
UpdateContentRequest
| JSON-представление |
|---|
{ "spreadsheetId": string, "requests": [ { object } ] } |
| Поля | |
|---|---|
spreadsheetId | Обязательно. Идентификатор электронной таблицы, которую необходимо обновить. |
requests[] | Обязательно. Список обновлений, которые необходимо применить к электронной таблице. Каждый запрос должен представлять собой действительный объект запроса spreadsheets.batchUpdate, использующий схему, описанную в: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request . Запросы будут применяться в порядке их указания. Если какой-либо запрос недействителен, ни один запрос не будет применен. |
Структура
| JSON-представление |
|---|
{ "fields": { string: value, ... } } |
| Поля | |
|---|---|
fields | Неупорядоченная карта динамически типизированных значений. Объект, содержащий список пар |
Ввод полей
| JSON-представление |
|---|
{ "key": string, "value": value } |
| Поля | |
|---|---|
key | |
value | |
Ценить
| JSON-представление |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Поля | |
|---|---|
kind поля объединения. Тип значения. kind может быть только одним из следующих: | |
nullValue | Представляет собой JSON-объект |
numberValue | Представляет собой число в формате JSON. Не должно быть |
stringValue | Представляет собой строку JSON. |
boolValue | Представляет собой логическое значение в формате JSON ( |
structValue | Представляет собой JSON-объект. |
listValue | Представляет собой массив JSON. |
ListValue
| JSON-представление |
|---|
{ "values": [ value ] } |
| Поля | |
|---|---|
values[] | Повторяющееся поле с динамически типизированными значениями. |
Нулевое значение
Представляет собой JSON-объект null .
NullValue является сторожевым элементом, использующим перечисление с единственным значением для представления нулевого значения в объединении типов Value .
Поле типа NullValue с любым значением, кроме 0 считается недопустимым. Большинство сериализаторов ProtoJSON будут выдавать Value , установленное как null_value null независимо от целочисленного значения, и, следовательно, при преобразовании в 0 .
| Перечисления | |
|---|---|
NULL_VALUE | Нулевое значение. |
Схема вывода
Представляет собой JSON-объект.
Неупорядоченная карта ключ-значение, предназначенная для точного отражения семантики объекта JSON. Это позволяет анализировать любую произвольную полезную нагрузку JSON в виде поля сообщения в формате ProtoJSON.
Это соответствует рекомендациям RFC 8259 для интероперабельного JSON: в частности, этот тип не может представлять большие значения Int64 или числа NaN / Infinity , поскольку формат JSON, как правило, не поддерживает эти значения в своем числовом типе.
Если вы не собираетесь преобразовывать произвольный JSON в сообщение, предпочтительнее использовать сообщение с пользовательским типом, а не этот тип.
Структура
| JSON-представление |
|---|
{ "fields": { string: value, ... } } |
| Поля | |
|---|---|
fields | Неупорядоченная карта динамически типизированных значений. Объект, содержащий список пар |
Ввод полей
| JSON-представление |
|---|
{ "key": string, "value": value } |
| Поля | |
|---|---|
key | |
value | |
Ценить
| JSON-представление |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Поля | |
|---|---|
kind поля объединения. Тип значения. kind может быть только одним из следующих: | |
nullValue | Представляет собой JSON-объект |
numberValue | Представляет собой число в формате JSON. Не должно быть |
stringValue | Представляет собой строку JSON. |
boolValue | Представляет собой логическое значение в формате JSON ( |
structValue | Представляет собой JSON-объект. |
listValue | Представляет собой массив JSON. |
ListValue
| JSON-представление |
|---|
{ "values": [ value ] } |
| Поля | |
|---|---|
values[] | Повторяющееся поле с динамически типизированными значениями. |
Нулевое значение
Представляет собой JSON-объект null .
NullValue является сторожевым элементом, использующим перечисление с единственным значением для представления нулевого значения в объединении типов Value .
Поле типа NullValue с любым значением, кроме 0 считается недопустимым. Большинство сериализаторов ProtoJSON будут выдавать Value , установленное как null_value null независимо от целочисленного значения, и, следовательно, при преобразовании в 0 .
| Перечисления | |
|---|---|
NULL_VALUE | Нулевое значение. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ❌ | Подсказка об открытом мире: ✅