Инструмент: update_doc
Обновляет документ с помощью пакетных запросов на обновление. Принимает запрос documents.batchUpdate (в формате JSON).
Соответствует методу documents.batchUpdate в REST API.
Список возможных обновлений:
-
replaceAllText: Заменяет все вхождения указанного текста. -
insertText: Вставляет текст в указанное место. -
updateTextStyle: Обновляет стиль текста в указанном диапазоне. -
createParagraphBullets: Создает маркеры для абзацев. -
deleteParagraphBullets: Удаляет маркеры из абзацев. -
createNamedRange: Создает именованный диапазон. -
deleteNamedRange: Удаляет именованный диапазон. -
updateParagraphStyle: Обновляет стиль абзаца в указанном диапазоне. -
deleteContentRange: Удаляет содержимое из документа. -
insertInlineImage: Вставляет встроенное изображение в указанное место. -
insertTable: Вставляет таблицу в указанное место. -
insertTableRow: Вставляет пустую строку в таблицу. -
insertTableColumn: Вставляет пустой столбец в таблицу. -
deleteTableRow: Удаляет строку из таблицы. -
deleteTableColumn: Удаляет столбец из таблицы. -
insertPageBreak: Вставляет разрыв страницы в указанном месте. -
deletePositionedObject: Удаляет позиционированный объект из документа. -
updateTableColumnProperties: Обновляет свойства столбцов в таблице. -
updateTableCellStyle: Изменяет стиль ячеек таблицы. -
updateTableRowStyle: Обновляет стиль строк в таблице. -
replaceImage: Заменяет изображение в документе. -
updateDocumentStyle: Обновляет стиль документа. -
insertInlineSheetsChart: Вставляет встроенную диаграмму Google Sheets в указанное место. -
mergeTableCells: Объединяет ячейки в таблице. -
unmergeTableCells: Разъединяет ячейки в таблице. -
refreshSheetsChart: Обновляет диаграмму в Google Таблицах. -
createHeader: Создает заголовок. -
createFooter: Создает нижний колонтитул. -
createFootnote: Создает сноску. -
replaceNamedRangeContent: Заменяет содержимое в именованном диапазоне. -
updateEmbeddedObject: Обновляет свойства встроенного объекта. -
updateSectionStyle: Обновляет стиль раздела указанного диапазона. -
insertSectionBreak: Вставляет разрыв раздела в указанном месте. -
deleteHeader: Удаляет заголовок из документа. -
deleteFooter: Удаляет нижний колонтитул из документа. -
pinTableHeaderRows: Обновляет количество закрепленных строк заголовка в таблице. -
addDocumentTab: Добавляет вкладку документа. -
deleteTab: Удаляет вкладку документа. -
updateDocumentTabProperties: Обновляет свойства вкладки документа. -
insertPerson: Вставляет упоминание о человеке. -
updateNamedStyle: Обновляет именованный стиль. -
insertRichLink: Вставить расширенную ссылку. -
insertDate: Вставляет дату. -
insertComment: Вставляет в документ ветку комментариев. -
addCommentReply: Добавляет ответ в ветку комментариев или ветку предложений. -
updateCommentPost: Обновляет существующий пост (заголовок или ответ) в ветке комментариев или ветке предложений. -
deleteComment: Удаляет ветку комментариев. -
deleteCommentReply: Удаляет ответ на комментарий из ветки комментариев или предложений. -
acceptSuggestion: Принимает предложение. -
rejectSuggestion: Отклоняет предложение. -
deleteSuggestion: Удаляет предложение.
В следующем примере показано, как использовать curl для вызова инструмента MCP update_doc .
| Запрос Curl |
|---|
curl --location 'https://docsmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "update_doc", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Схема ввода
UpdateDocRequest
| JSON-представление |
|---|
{ "documentId": string, "requests": [ { object } ] } |
| Поля | |
|---|---|
documentId | Обязательно. Идентификатор документа, который нужно обновить. Это то же самое, что и file_id в инструментах Google Диска. |
requests[] | Список обновлений, которые необходимо применить к документу. Каждый запрос должен представлять собой действительный объект запроса documents.batchUpdate, использующий схему, описанную в: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/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 | Нулевое значение. |
Схема вывода
UpdateDocResponse
| JSON-представление |
|---|
{ "replies": [ { object } ] } |
| Поля | |
|---|---|
replies[] | Ответы, полученные в результате выполнения пакетных запросов на обновление. Включают ошибки, предупреждения и необработанные ответы API, которые помогают модели вносить корректировки. Необработанные ответы API используют схему, описанную по адресу: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/response |
Структура
| 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 | Нулевое значение. |
Аннотации инструментов
Подсказка о разрушительном эффекте: ❌ | Подсказка об идемпотентности: ❌ | Подсказка только для чтения: ❌ | Подсказка об открытом мире: ✅