MCP Tools Reference: docsmcp.googleapis.com

Herramienta: update_doc

Actualiza un documento con solicitudes de actualización por lotes. Acepta una solicitud documents.batchUpdate (como JSON).

Corresponde a documents.batchUpdate en la API de REST.

La lista de posibles actualizaciones es la siguiente:

  • replaceAllText: Reemplaza todas las instancias del texto especificado.
  • insertText: Inserta texto en la ubicación especificada.
  • updateTextStyle: Actualiza el estilo de texto en el rango especificado.
  • createParagraphBullets: Crea viñetas para los párrafos.
  • deleteParagraphBullets: Borra las viñetas de los párrafos.
  • createNamedRange: Crea un rango con nombre.
  • deleteNamedRange: Borra un rango con nombre.
  • updateParagraphStyle: Actualiza el estilo de párrafo en el rango especificado.
  • deleteContentRange: Borra contenido del documento.
  • insertInlineImage: Inserta una imagen intercalada en la ubicación especificada.
  • insertTable: Inserta una tabla en la ubicación especificada.
  • insertTableRow: Inserta una fila vacía en una tabla.
  • insertTableColumn: Inserta una columna vacía en una tabla.
  • deleteTableRow: Borra una fila de una tabla.
  • deleteTableColumn: Borra una columna de una tabla.
  • insertPageBreak: Inserta un salto de página en la ubicación especificada.
  • deletePositionedObject: Borra un objeto posicionado del documento.
  • updateTableColumnProperties: Actualiza las propiedades de las columnas de una tabla.
  • updateTableCellStyle: Actualiza el estilo de las celdas de la tabla.
  • updateTableRowStyle: Actualiza el estilo de la fila en una tabla.
  • replaceImage: Reemplaza una imagen en el documento.
  • updateDocumentStyle: Actualiza el estilo del documento.
  • insertInlineSheetsChart: Inserta un gráfico de Hojas de cálculo de Google intercalado en la ubicación especificada.
  • mergeTableCells: Combina celdas en una tabla.
  • unmergeTableCells: Separa celdas en una tabla.
  • refreshSheetsChart: Actualiza un gráfico de Hojas de cálculo de Google.
  • createHeader: Crea un encabezado.
  • createFooter: Crea un pie de página.
  • createFootnote: Crea una nota al pie.
  • replaceNamedRangeContent: Reemplaza el contenido de un rango con nombre.
  • updateEmbeddedObject: Actualiza las propiedades de un objeto incorporado.
  • updateSectionStyle: Actualiza el estilo de sección del rango especificado.
  • insertSectionBreak: Inserta un salto de sección en la ubicación especificada.
  • deleteHeader: Borra un encabezado del documento.
  • deleteFooter: Borra un pie de página del documento.
  • pinTableHeaderRows: Actualiza la cantidad de filas de encabezado fijadas en una tabla.
  • addDocumentTab: Agrega una pestaña de documento.
  • deleteTab: Borra una pestaña de documento.
  • updateDocumentTabProperties: Actualiza las propiedades de una pestaña de documento.
  • insertPerson: Inserta una mención de persona.
  • updateNamedStyle: Actualiza un estilo con nombre.
  • insertRichLink: Inserta un vínculo enriquecido.
  • insertDate: Inserta una fecha.
  • insertComment: Inserta un CommentThread en el documento.
  • addCommentReply: Agrega una respuesta a un CommentThread o SuggestionThread.
  • updateCommentPost: Actualiza una publicación existente (publicación principal o respuesta) de un CommentThread o SuggestionThread.
  • deleteComment: Borra un CommentThread.
  • deleteCommentReply: Borra una publicación de respuesta de un CommentThread o SuggestionThread.
  • acceptSuggestion: Acepta una sugerencia.
  • rejectSuggestion: Rechaza una sugerencia.
  • deleteSuggestion: Borra una sugerencia.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP update_doc.

Solicitud de Curl
curl --location 'https://docsmcp.googleapis.com/mcp' \
--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_doc",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

UpdateDocRequest

Representación JSON
{
  "documentId": string,
  "requests": [
    {
      object
    }
  ]
}
Campos
documentId

string

Obligatorio. ID del documento que se actualizará. Es el mismo que file_id de las herramientas de Drive.

requests[]

object (Struct format)

Es una lista de actualizaciones que se aplicarán al documento. Cada solicitud debe ser un objeto Request válido de documents.batchUpdate, con el esquema documentado en: https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/request. Las solicitudes se aplicarán en el orden en que se especifiquen. Si alguna solicitud no es válida, no se aplicará ninguna.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representación JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representación JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null de JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.

Enums
NULL_VALUE Valor nulo.

Esquema de salida

UpdateDocResponse

Representación JSON
{
  "replies": [
    {
      object
    }
  ]
}
Campos
replies[]

object (Struct format)

Son las respuestas que se obtienen después de ejecutar las solicitudes de actualización por lotes. Incluye errores, advertencias y respuestas sin procesar de la API para ayudar al modelo a realizar ajustes. Las respuestas sin procesar de la API usan el esquema que se documenta en https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/response.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representación JSON
{
  "key": string,
  "value": value
}
Campos
key

string

value

value (Value format)

Valor

Representación JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un null de JSON.

numberValue

number

Representa un número JSON. No debe ser NaN, Infinity ni -Infinity, ya que no se admiten en JSON. Tampoco puede representar valores Int64 grandes, ya que el formato JSON generalmente no los admite en su tipo de número.

stringValue

string

Representa una cadena JSON.

boolValue

boolean

Representa un valor booleano de JSON (literal true o false en JSON).

structValue

object (Struct format)

Representa un objeto JSON.

listValue

array (ListValue format)

Representa un array JSON.

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

NullValue

Representa un null de JSON.

NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.

Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, por lo que se realizará un viaje de ida y vuelta a un valor de 0.

Enums
NULL_VALUE Valor nulo.

Anotaciones de herramientas

Sugerencia destructiva: ❌ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ✅

Alcances de la autorización

Se necesita uno de los siguientes alcances de OAuth:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/documents