Инструмент: 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(целое число, необязательно) – индекс, в который нужно вставить правило. Нумерация начинается с 0.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(строка, необязательно): адрес электронной почты исполнителя комментария.addCommentReply: добавляет ответ в существующую цепочку комментариев. Также используется для разрешения или повторного открытия цепочки. СхемаcommentId(строка, обязательный): идентификатор цепочки комментариев.post(объект, обязательное).content(строка, обязательный, если для commentAction не задано значение RESOLVE или REOPEN) – текст ответа.commentAction(строка, необязательно) – действие, выполненное с этим ответом ("RESOLVE"или"REOPEN").assigneeEmail(строка, необязательно): адрес электронной почты, которому нужно назначить цепочку.
updateCommentPost– обновляет контент комментария в цепочке комментариев. СхемаcommentId(строка, обязательный): идентификатор цепочки комментариев.postId(строка, обязательный): идентификатор комментария, который нужно обновить.content(строка, обязательный) – обновленный контент комментария.deleteComment: удаляет цепочку комментариев. СхемаcommentId(строка, обязательный) – идентификатор цепочки комментариев, которую нужно удалить.deleteCommentReply– удаляет ответ. СхемаcommentId(строка, обязательный): идентификатор цепочки комментариев.postId(строка, обязательный): идентификатор удаляемого ответа.
В примере кода ниже показано, как использовать curl для вызова инструмента MCP update_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": "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 ( |
| Поля | |
|---|---|
spreadsheetId |
Обязательно. Идентификатор таблицы, которую нужно обновить. |
requests[] |
Обязательно. Список обновлений, которые нужно применить к таблице. Каждый запрос должен быть действительным объектом spreadsheets.batchUpdate Request, использующим схему, описанную в документации: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. Запросы будут применяться в указанном порядке. Если хотя бы один запрос недействителен, ни один из них не будет выполнен. |
writeControl |
Необязательное поле. Позволяет управлять выполнением запросов на запись. |
Структура
| JSON-представление |
|---|
{ "fields": { string: value, ... } } |
| Поля | |
|---|---|
fields |
Неупорядоченная карта динамически типизированных значений. Объект содержит список из нескольких пар ( |
FieldsEntry
| 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[] |
Повторяющееся поле динамически типизированных значений. |
WriteControl
| JSON-представление |
|---|
{ "requiredRevisionId": string } |
| Поля | |
|---|---|
Объединенное поле control. Определяет версию таблицы, в которую нужно выполнить запись, и поведение запроса, если эта версия не является текущей. control может иметь одно из следующих значений: |
|
requiredRevisionId |
Идентификатор версии таблицы, к которой будет применен запрос на запись. Если это не последняя версия документа, запрос не будет обработан и вернет ошибку 400. Когда в ответе возвращается обязательный идентификатор версии, он указывает на идентификатор версии таблицы после применения запроса. |
NullValue
Представляет JSON null.
NullValue – это сигнальное значение, использующее перечисление только с одним значением для представления нулевого значения для объединения типов Value.
Поле типа NullValue с любым значением, кроме 0, считается недопустимым. Большинство сериализаторов ProtoJSON будут выдавать Value с null_value, заданным как null JSON, независимо от целочисленного значения, и поэтому будут округлять до значения 0.
| Перечисления | |
|---|---|
NULL_VALUE |
Нулевое значение. |
Схема вывода
UpdateContentResponse
| JSON-представление |
|---|
{ "content": { object } } |
| Поля | |
|---|---|
content |
Ответ |
Структура
| JSON-представление |
|---|
{ "fields": { string: value, ... } } |
| Поля | |
|---|---|
fields |
Неупорядоченная карта динамически типизированных значений. Объект содержит список из нескольких пар ( |
FieldsEntry
| 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[] |
Повторяющееся поле динамически типизированных значений. |
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/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets