MCP Tools Reference: sheetsmcp.googleapis.com

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

Применяет к таблице одно или несколько обновлений.

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

Возможные обновления:

  • updateSpreadsheetProperties – обновляет свойства таблицы. Схема
  • properties (объект, обязательно): свойства таблицы, которые нужно обновить ({"title": string, "locale": string, "timeZone": string}).
  • fields (строка, обязательно): маска поля свойств, которые нужно обновить (например, "title" или "*").
  • updateSheetProperties – изменяет свойства листа. Схема
  • properties (объект, обязательно): свойства листа ({"sheetId": int, "title": string, "index": int, "gridProperties": {"rowCount": int, "columnCount": int, "frozenRowCount": int, "frozenColumnCount": int, "hideGridlines": bool}, "hidden": bool, "tabColorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).
  • fields (строка, обязательно): маска поля свойств, которые нужно обновить (например, "title", "gridProperties.frozenRowCount").
  • updateDimensionProperties – обновляет свойства размеров (например, высоту строки или ширину столбца). Схема
  • range (объект, обязательно): диапазон параметров ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • properties (объект, обязательный): свойства параметра ({"pixelSize": int, "hiddenByUser": bool}).
  • fields (строка, обязательный параметр): маска поля свойств, которые нужно обновить (например, "pixelSize").
  • updateNamedRange – обновляет именованный диапазон. Схема
  • namedRange (объект, обязательный параметр) – определение именованного диапазона ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).
  • fields (строка, обязательно): маска поля для полей, которые нужно обновить (например, "name,range" или "*").
  • repeatCell: повторяет содержимое одной ячейки в диапазоне. Схема
  • range (объект, обязательно): диапазон сетки, к которому нужно применить данные или форматирование ячеек ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).
  • cell (объект, обязательный параметр) – данные ячейки ({"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}, "userEnteredFormat": {"textFormat": {"bold": bool, "italic": bool, "fontSize": int}, "backgroundColorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}, "horizontalAlignment": "LEFT"|"CENTER"|"RIGHT", "wrapStrategy": "WRAP"|"CLIP"|"OVERFLOW_CELL"}}).
  • fields (строка, обязательно) – маска поля ячеек, которые нужно обновить (например, "userEnteredFormat.textFormat.bold" или "userEnteredValue").
  • addNamedRange – добавляет именованный диапазон. Схема
  • namedRange (объект, обязательно): именованный диапазон, который нужно добавить ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).
  • deleteNamedRange: удаляет именованный диапазон по его идентификатору. Схема
  • namedRangeId (строка, обязательный параметр): идентификатор именованного диапазона, который нужно удалить.
  • addSheet – добавить лист. Схема
  • properties (объект, необязательно) – свойства листа ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}}).
  • deleteSheet – удаляет лист. Схема
  • sheetId (целое число, обязательно) – идентификатор листа, который нужно удалить.
  • autoFill – автоматически заполняет больше данных на основе существующих. Схема
  • range (объект, необязательно) – диапазон для проверки и заполнения ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).
  • sourceAndDestination (объект, необязательно) – явный источник и длина заполнения ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int}).
  • useAlternateSeries (логическое значение, необязательный параметр): нужно ли использовать альтернативные серии.
  • cutPaste – вырезать данные из одной области и вставить в другую. Схема
  • source (объект, обязательный): исходный диапазон сетки.
  • destination (объект, обязательный параметр) – координаты левого верхнего угла ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
  • pasteType (строка, необязательно): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA".
  • copyPaste: копирует данные из одной области и вставляет их в другую. Схема
  • source (объект, обязательный): исходный диапазон сетки.
  • destination (объект, обязательно): диапазон сетки целевой страницы.
  • pasteType (строка, необязательно): "PASTE_NORMAL", "PASTE_VALUES", "PASTE_FORMAT", "PASTE_NO_BORDERS", "PASTE_FORMULA".
  • pasteOrientation (строка, необязательно): "NORMAL" или "TRANSPOSE".
  • mergeCells – объединяет ячейки. Схема
  • range (объект, обязательно) – диапазон ячеек для объединения.
  • mergeType (строка, обязательно): "MERGE_ALL", "MERGE_COLUMNS" или "MERGE_ROWS".
  • unmergeCells – отменяет объединение ячеек. Схема
  • range (объект, обязательный) – диапазон сетки, в котором нужно отменить объединение всех ячеек.
  • updateBorders – обновляет границы в диапазоне ячеек. Схема
  • range (объект, обязательно): диапазон сетки, для которого нужно обновить границы.
  • top / bottom / left / right / innerHorizontal / innerVertical (объект, необязательно): стиль границы ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).
  • updateCells – позволяет обновить сразу несколько ячеек. Схема
  • Зона (требуется указать одну):
    • start (объект): координаты левого верхнего угла ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
    • range (объект): диапазон сетки.
  • rows (массив объектов RowData, обязательный): строки ячеек ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}]).
  • fields (строка, обязательно) – маска поля ячеек, которые нужно обновить (например, "userEnteredValue" или "userEnteredFormat").
  • addFilterView – добавить режим фильтрации. Схема
  • filter (объект, обязательный параметр) – определение фильтра представления ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list}).
  • appendCells – добавляет ячейки после последней строки с данными на листе. Схема
  • sheetId (целое число, обязательно) – идентификатор листа, к которому нужно добавить данные.
  • rows (массив RowData, обязательно) – строки данных, которые нужно добавить.
  • fields (строка, обязательное значение) – маска поля (например, "userEnteredValue").
  • clearBasicFilter – удаляет базовый фильтр на листе. Схема
  • sheetId (целое число, обязательно) – идентификатор листа, на котором нужно удалить основной фильтр.
  • deleteDimension – удаляет строки или столбцы на листе. Схема
  • range (объект, обязательный): диапазон параметров, который нужно удалить ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • deleteEmbeddedObject – удаляет встроенный объект (например, диаграмму или изображение) на листе. Схема
  • objectId (целое число, обязательно): идентификатор встроенного объекта, который нужно удалить.
  • deleteFilterView – удаляет режим фильтрации с листа. Схема
  • filterId (целое число, обязательно): идентификатор представления фильтра, которое нужно удалить.
  • duplicateFilterView – дублирует представление с фильтром. Схема
  • filterId (целое число, обязательно): идентификатор режима фильтрации, который нужно скопировать.
  • duplicateSheet – дублирует лист. Схема
  • sourceSheetId (целое число, обязательный параметр) – идентификатор листа, который нужно скопировать.
  • insertSheetIndex (целое число, необязательно) – индекс, начиная с которого нужно вставить новый лист.
  • newSheetId (целое число, необязательно) – идентификатор нового листа.
  • newSheetName (строка, необязательно): название нового листа.
  • findReplace: находит и заменяет фрагменты текста. Схема
  • find (строка, обязательный): значение, которое нужно найти.
  • replacement (строка, обязательный параметр): значение для замены.
  • Область действия (требуется указать только одну):
    • range (объект): диапазон сетки.
    • sheetId (целое число) – идентификатор листа.
    • allSheets (логическое значение): true для поиска по всем листам.
  • matchCase / matchEntireCell / searchByRegex / includeFormulas (логическое значение, необязательно).
  • insertDimension – вставляет новые строки или столбцы в таблицу. Схема
  • range (объект, обязательно) – диапазон параметров, который нужно вставить ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • inheritFromBefore (логическое значение, необязательно): true, чтобы наследовать форматирование из предыдущей строки или столбца.
  • insertRange – вставляет новые ячейки в таблицу, сдвигая существующие. Схема
  • range (объект, обязательно) – диапазон сетки, в который нужно вставить ячейки.
  • shiftDimension (строка, обязательный параметр): "ROWS" или "COLUMNS".
  • moveDimension – перемещает строки или столбцы в другое место на листе. Схема
  • source (объект, обязательно): диапазон исходного параметра ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • destinationIndex (целое число, обязательно): индекс целевого местоположения, отсчитываемый от нуля.
  • updateEmbeddedObjectPosition – обновляет положение встроенного объекта (например, диаграммы или изображения). Схема
  • objectId (целое число, обязательно): идентификатор встроенного объекта.
  • newPosition (объект, обязательно): новая позиция ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).
  • fields (строка, обязательное значение) – маска поля (например, "overlayPosition.anchorCell").
  • pasteData – вставляет данные (HTML или с разделителями) в таблицу. Схема
  • coordinate (объект, обязательный параметр): координаты левого верхнего угла ({"sheetId": int, "rowIndex": int, "columnIndex": int}).
  • data (строка, обязательный параметр) – текст с разделителями или данные HTML.
  • delimiter (строка, необязательно) или html (булево значение, необязательно).
  • type (строка, необязательно): "PASTE_NORMAL", "PASTE_VALUES" и т. д.
  • textToColumns: преобразует столбец текста в несколько столбцов текста. Схема
  • source (объект, обязательно) – диапазон сетки с одним столбцом.
  • delimiterType (строка, обязательно): "COMMA", "SEMICOLON", "PERIOD", "SPACE", "CUSTOM", "AUTODETECT".
  • delimiter (строка, необязательно): символ-разделитель, если delimiterType имеет значение "CUSTOM".
  • updateFilterView – обновляет свойства режима фильтрации. Схема
  • filter (объект, обязательно): определение режима фильтрации, включая filterViewId.
  • fields (строка, обязательный параметр) – маска поля (например, "title,criteria" или "*").
  • deleteRange – удаляет диапазон ячеек из листа, сдвигая оставшиеся ячейки. Схема
  • range (объект, обязательно) – диапазон ячеек, который нужно удалить.
  • shiftDimension (строка, обязательный параметр): "ROWS" или "COLUMNS".
  • appendDimension – добавляет параметры в конец листа. Схема
  • sheetId (целое число, обязательный параметр) – идентификатор листа.
  • dimension (строка, обязательный параметр): "ROWS" или "COLUMNS".
  • length (целое число, обязательно) – количество строк или столбцов, которые нужно добавить.
  • addConditionalFormatRule – добавить новое правило условного форматирования. Схема
  • rule (объект, обязательно): правило условного форматирования ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}}).
  • index (целое число, необязательно) – индекс, с которого нужно вставить правило. Нумерация начинается с нуля.
  • updateConditionalFormatRule – обновляет существующее правило условного форматирования. Схема
  • rule (объект, обязательный). Новое правило условного форматирования.
  • Индекс или идентификатор правила (одно из двух):
    • index (целое число) – индекс правила, отсчитываемый от нуля.
    • sheetId (целое число) – идентификатор листа, если обновление выполняется по индексу листа.
  • newIndex (целое число, необязательно) – новый индекс для перемещения правила.
  • deleteConditionalFormatRule – удаляет существующее правило условного форматирования. Схема
  • index (целое число, обязательно): индекс правила, которое нужно удалить. Нумерация начинается с нуля.
  • sheetId (целое число, обязательно): идентификатор листа правила.
  • sortRange: сортирует данные в диапазоне. Схема
  • range (объект, обязательно) – диапазон сетки для сортировки.
  • sortSpecs (массив SortSpec, обязательный): спецификации сортировки ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).
  • setDataValidation – задает правила проверки данных для одной или нескольких ячеек. Схема
  • range (объект, обязательно) – диапазон сетки.
  • rule (объект, необязательно). Правило проверки ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}). Если не указано, проверка отменяется.
  • setBasicFilter – задает базовый фильтр на листе. Схема
  • filter (объект, обязательный параметр): основное определение фильтра ({"range": GridRange, "criteria": map, "sortSpecs": list}).
  • addProtectedRange – добавляет защищенный диапазон. Схема
  • protectedRange (объект, обязательно) – определение защищенного диапазона ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}}).
  • updateProtectedRange – обновляет защищенный диапазон. Схема
  • protectedRange (объект, обязательно) – определение защищенного диапазона с помощью protectedRangeId.
  • fields (строка, обязательный параметр) – маска поля (например, "description,warningOnly" или "*").
  • deleteProtectedRange – удаляет защищенный диапазон. Схема
  • protectedRangeId (целое число, обязательно) – идентификатор защищенного диапазона, который нужно удалить.
  • autoResizeDimensions – автоматически изменяет размер одного или нескольких столбцов в зависимости от содержимого ячеек. Схема
  • dimensions (объект, обязательно): диапазон параметров ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • addChart – добавить диаграмму. Схема
  • chart (объект, обязательно): определение диаграммы ({"spec": {"title": string, "basicChart": {"chartType": "COLUMN"|"BAR"|"LINE"|"PIE"|"COMBO"|"SCATTER", "legendPosition": string, "axis": list, "domains": list, "series": list}}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).
  • updateChartSpec: обновляет спецификации диаграммы. Схема
  • chartId (целое число, обязательно): идентификатор диаграммы.
  • spec (объект, обязательное поле) – новая спецификация диаграммы.
  • updateBanding – обновляет диапазон с чередующимися цветами. Схема
  • bandedRange (объект, обязательно): определение диапазона с bandedRangeId.
  • fields (строка, обязательный параметр) – маска поля.
  • addBanding – добавляет новый диапазон. Схема
  • bandedRange (объект, обязательный): определение диапазона ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}}).
  • deleteBanding – удаляет диапазон с чередующимися цветами. Схема
  • bandedRangeId (целое число, обязательный параметр) – идентификатор диапазона, который нужно удалить.
  • createDeveloperMetadata – создает новые метаданные разработчика. Схема
  • developerMetadata (объект, обязательно): определение метаданных ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"}).
  • updateDeveloperMetadata: обновляет существующую запись метаданных разработчика. Схема
  • dataFilters (массив DataFilter, обязательно): фильтры для выбора метаданных.
  • developerMetadata (объект, обязательно): обновленные значения метаданных.
  • fields (строка, обязательный параметр) – маска поля.
  • deleteDeveloperMetadata: удаляет метаданные разработчика. Схема
  • dataFilter (объект, обязательно): фильтр, описывающий критерии для удаления метаданных.
  • randomizeRange – случайным образом меняет порядок строк в диапазоне. Схема
  • range (объект, обязательный параметр) – диапазон сетки, который нужно рандомизировать.
  • addDimensionGroup – создает группу в указанном диапазоне. Схема
  • range (объект, обязательный параметр) – диапазон параметров для группировки ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).
  • deleteDimensionGroup – удаляет группу в указанном диапазоне. Схема
  • range (объект, обязательно): диапазон параметров группы, которую нужно удалить.
  • updateDimensionGroup – элемент, позволяющий изменить состояние указанной группы; Схема
  • dimensionGroup (объект, обязательный параметр) – определение группы ({"range": DimensionRange, "depth": int, "collapsed": bool}).
  • fields (строка, обязательное значение) – маска поля (например, "collapsed").
  • trimWhitespace – удаляет пробелы (в том числе табуляцию и перенос строки) в ячейках. Схема
  • range (объект, обязательный параметр) – диапазон сетки, ячейки которого нужно обрезать.
  • deleteDuplicates – удаляет строки, содержащие повторяющиеся значения в указанных столбцах диапазона ячеек. Схема
  • range (объект, обязательный параметр) – диапазон ячеек, из которого нужно удалить дубликаты.
  • comparisonColumns (массив DimensionRange, необязательно) – столбцы, которые нужно проанализировать.
  • updateEmbeddedObjectBorder: обновляет границу встроенного объекта. Схема
  • objectId (целое число, обязательно): идентификатор встроенного объекта.
  • border (объект, обязательный параметр) – определение границы ({"colorStyle": ColorStyle, "section": "ALL"}).
  • fields (строка, обязательный параметр) – маска поля.
  • addSlicer – добавить срез. Схема
  • slicer (объект, обязательно): определение среза ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).
  • updateSlicerSpec: обновляет спецификации слайсера. Схема
  • slicerId (целое число, обязательное): идентификатор слайсера.
  • spec (объект, обязательно): новая спецификация сегментатора.
  • fields (строка, обязательный параметр) – маска поля.
  • addDataSource – добавить источник данных. Схема
  • dataSource (объект, обязательно): определение источника данных ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).
  • updateDataSource: обновляет источник данных. Схема
  • dataSource (объект, обязательно): определение источника данных с dataSourceId.
  • fields (строка, обязательный параметр) – маска поля.
  • deleteDataSource – удаляет источник данных. Схема
  • dataSourceId (строка, обязательный параметр) – идентификатор удаляемого источника данных.
  • refreshDataSource: обновляет один или несколько источников данных и связанных с ними объектов базы данных. Схема
  • dataSourceId (строка, необязательно), isAll (булево значение, необязательно) или references (объект, необязательно).
  • force (логическое значение, необязательно) – нужно ли принудительно обновить страницу.
  • cancelDataSourceRefresh – отменяет обновление одного или нескольких источников данных и связанных с ними объектов базы данных. Схема
  • dataSourceId (строка, необязательно), isAll (булево значение, необязательно) или references (объект, необязательно).
  • addTable – добавляет таблицу. Схема
  • table (объект, обязательный параметр) – определение таблицы ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).
  • updateTable – обновляет таблицу. Схема
  • table (объект, обязательный параметр) – определение таблицы с параметром tableId.
  • fields (строка, обязательный параметр) – маска поля.
  • deleteTable – запрос на удаление таблицы. Схема
  • tableId (строка, обязательный параметр) – идентификатор таблицы, которую нужно удалить.
  • insertComment – вставляет комментарий в таблицу. Схема
  • content (строка, обязательное поле) – текст комментария.
  • coordinate (объект, обязательно): координаты ячейки в таблице, к которой нужно прикрепить комментарий:
    • sheetId (целое число, обязательный параметр) – идентификатор листа.
    • rowIndex (целое число, обязательный параметр): индекс строки, отсчитываемый от нуля.
    • columnIndex (целое число, обязательно): индекс столбца, начиная с нуля.
  • assigneeEmailAddress (string, необязательно): адрес электронной почты назначенного исполнителя комментария.
  • addCommentReply: добавляет ответ в существующую цепочку комментариев. Также используется для закрытия или повторного открытия цепочки. Схема
  • commentId (строка, обязательное поле): идентификатор цепочки комментариев.
  • post (объект, обязательно):
    • content (строка, обязательный параметр, если commentAction не имеет значения RESOLVE или REOPEN). Текст ответа.
    • commentAction (string, необязательно): действие, выполненное с этим ответом ("RESOLVE" или "REOPEN").
    • assigneeEmail (строка, необязательно): адрес электронной почты, на который нужно переназначить цепочку.
  • updateCommentPost – обновляет контент записи в цепочке комментариев. Схема
  • commentId (строка, обязательное поле): идентификатор цепочки комментариев.
  • postId (строка, обязательный параметр): идентификатор записи с комментарием, которую нужно изменить.
  • content (строка, обязательный параметр). Обновленный контент записи с комментарием.
  • deleteComment: удаляет цепочку комментариев. Схема
  • commentId (строка, обязательный параметр): идентификатор цепочки комментариев, которую нужно удалить.
  • deleteCommentReply – удаляет запись с ответом. Схема
  • commentId (строка, обязательное поле): идентификатор цепочки комментариев.
  • postId (строка, обязательно): идентификатор записи, на которую нужно удалить ответ.

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

Схема ввода

UpdateContentRequest

JSON-представление
{
  "spreadsheetId": string,
  "requests": [
    {
      object
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Поля
spreadsheetId

string

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

requests[]

object (Struct format)

Обязательно. Список изменений, которые нужно применить к таблице. Каждый запрос должен быть действительным объектом Request из spreadsheets.batchUpdate, соответствующим схеме, описанной на странице https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. Запросы будут применяться в том порядке, в котором они указаны. Если хотя бы один запрос недействителен, ни один из них не будет применен.

writeControl

object (WriteControl)

Необязательное поле. Позволяет управлять выполнением запросов на запись.

Структура

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)

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

WriteControl

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

  "requiredRevisionId": string
}
Поля
Объединенное поле control. Определяет версию таблицы, в которую нужно записать данные, и то, как должен выполняться запрос, если эта версия не является текущей версией таблицы. control может иметь одно из следующих значений:
requiredRevisionId

string

Идентификатор версии таблицы, к которой будет применен запрос на запись. Если это не последняя версия документа, запрос не будет обработан и вернет ошибку 400 (недопустимый запрос).

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

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