Ferramenta: update_spreadsheet
Aplica uma ou mais atualizações à planilha.
Corresponde a spreadsheets.batchUpdate na API REST: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
A lista de possíveis atualizações é:
updateSpreadsheetProperties: atualiza as propriedades da planilha. Esquema:properties(objeto, obrigatório): propriedades da planilha a serem atualizadas ({"title": string, "locale": string, "timeZone": string}).fields(string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo,"title"ou"*").updateSheetProperties: atualiza as propriedades de uma página. Esquema:properties(objeto, obrigatório): propriedades da página ({"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(string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo,"title","gridProperties.frozenRowCount").updateDimensionProperties: atualiza as propriedades das dimensões (por exemplo, altura da linha ou largura da coluna). Esquema:range(objeto, obrigatório): intervalo de dimensões ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).properties(objeto, obrigatório): propriedades da dimensão ({"pixelSize": int, "hiddenByUser": bool}).fields(string, obrigatório): máscara de campo das propriedades a serem atualizadas (por exemplo,"pixelSize").updateNamedRange: atualiza um intervalo nomeado. Esquema:namedRange(objeto, obrigatório): definição do intervalo nomeado ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).fields(string, obrigatório): máscara de campos a serem atualizados (por exemplo,"name,range"ou"*").repeatCell: repete uma única célula em um intervalo. Esquema:range(objeto, obrigatório): intervalo de grade para aplicar dados/formatação de células ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).cell(objeto, obrigatório): dados da célula ({"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(string, obrigatório): máscara de campos de célula a serem atualizados (por exemplo,"userEnteredFormat.textFormat.bold"ou"userEnteredValue").addNamedRange: adiciona um intervalo nomeado. Esquema:namedRange(objeto, obrigatório): intervalo nomeado a ser adicionado ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).deleteNamedRange: exclui um intervalo nomeado pelo ID. Esquema:namedRangeId(string, obrigatório): ID do intervalo nomeado a ser excluído.addSheet: adiciona uma página. Esquema:properties(objeto, opcional): propriedades da página ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}}).deleteSheet: exclui uma página. Esquema:sheetId(número inteiro, obrigatório): ID da página a ser excluída.autoFill: preenche automaticamente mais dados com base nos dados atuais. Esquema:range(objeto, opcional): intervalo a ser examinado e preenchido ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).sourceAndDestination(objeto, opcional): origem explícita e comprimento de preenchimento ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int}).useAlternateSeries(booleano, opcional): se as séries alternativas devem ser usadas.cutPaste: corta dados de uma área e os cola em outra. Esquema:source(objeto, obrigatório): intervalo da grade de origem.destination(objeto, obrigatório): coordenada de destino superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).pasteType(string, opcional):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".copyPaste: copia dados de uma área e os cola em outra. Esquema:source(objeto, obrigatório): intervalo da grade de origem.destination(objeto, obrigatório): intervalo da grade de destino.pasteType(string, opcional):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".pasteOrientation(string, opcional):"NORMAL"ou"TRANSPOSE".mergeCells: mescla células. Esquema:range(objeto, obrigatório): intervalo de grade a ser mesclado.mergeType(string, obrigatório):"MERGE_ALL","MERGE_COLUMNS"ou"MERGE_ROWS".unmergeCells: cancela a mesclagem de células. Esquema:range(objeto, obrigatório): intervalo de grade em que todas as células serão desfeitas.updateBorders: atualiza as bordas em um intervalo de células. Esquema:range(objeto, obrigatório): intervalo da grade em que as bordas serão atualizadas.top/bottom/left/right/innerHorizontal/innerVertical(objeto, opcional): estilo da borda ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).updateCells: atualiza várias células de uma só vez. Esquema:- Área (apenas uma é obrigatória):
start(objeto): coordenada superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).range(objeto): intervalo da grade.
rows(matriz de RowData, obrigatório): linhas de células ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}]).fields(string, obrigatório): máscara de campos de célula a serem atualizados (por exemplo,"userEnteredValue"ou"userEnteredFormat").addFilterView: adiciona uma visualização com filtro. Esquema:filter(objeto, obrigatório): definição da visualização com filtro ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list}).appendCells: adiciona células após a última linha com dados em uma página. Esquema:sheetId(número inteiro, obrigatório): ID da página em que os dados serão adicionados.rows(matriz de RowData, obrigatório): linhas de dados a serem adicionadas ao final.fields(string, obrigatório): máscara de campo (por exemplo,"userEnteredValue").clearBasicFilter: limpa o filtro básico em uma página. Esquema:sheetId(número inteiro, obrigatório): ID da página em que o filtro básico será removido.deleteDimension: exclui linhas ou colunas em uma página. Esquema:range(objeto, obrigatório): intervalo de dimensões a ser excluído ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteEmbeddedObject: exclui um objeto incorporado (por exemplo, gráfico, imagem) em uma página. Esquema:objectId(número inteiro, obrigatório): ID do objeto incorporado a ser excluído.deleteFilterView: exclui uma visualização com filtro de uma página. Esquema:filterId(número inteiro, obrigatório): ID da visualização com filtro que será excluída.duplicateFilterView: duplica uma visualização com filtro. Esquema:filterId(número inteiro, obrigatório): ID da visualização com filtro a ser duplicada.duplicateSheet: duplica uma página. Esquema:sourceSheetId(número inteiro, obrigatório): ID da página a ser duplicada.insertSheetIndex(número inteiro, opcional): índice com base em zero em que a nova página será inserida.newSheetId(número inteiro, opcional): ID da nova página.newSheetName(string, opcional): nome da nova página.findReplace: encontra e substitui ocorrências de um texto por outro. Esquema:find(string, obrigatório): valor a ser pesquisado.replacement(string, obrigatório): valor de substituição.- Escopo (apenas um é obrigatório):
range(objeto): intervalo da grade.sheetId(número inteiro): ID da página.allSheets(booleano):truepara pesquisar todas as páginas.
matchCase/matchEntireCell/searchByRegex/includeFormulas(booleano, opcional).insertDimension: insere novas linhas ou colunas em uma página. Esquema:range(objeto, obrigatório): intervalo de dimensões a ser inserido ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).inheritFromBefore(booleano, opcional):truepara herdar a formatação da linha/coluna anterior.insertRange: insere novas células em uma página, deslocando as células atuais. Esquema:range(objeto, obrigatório): intervalo de grade em que as células serão inseridas.shiftDimension(string, obrigatório):"ROWS"ou"COLUMNS".moveDimension: move linhas ou colunas para outro local em uma página. Esquema:source(objeto, obrigatório): intervalo de dimensões de origem ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).destinationIndex(número inteiro, obrigatório): índice de destino baseado em zero.updateEmbeddedObjectPosition: atualiza a posição de um objeto incorporado (por exemplo, gráfico, imagem). Esquema:objectId(número inteiro, obrigatório): ID do objeto incorporado.newPosition(objeto, obrigatório): nova posição ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).fields(string, obrigatório): máscara de campo (por exemplo,"overlayPosition.anchorCell").pasteData: cola dados (HTML ou delimitados) em uma página. Esquema:coordinate(objeto, obrigatório): coordenada superior esquerda ({"sheetId": int, "rowIndex": int, "columnIndex": int}).data(string, obrigatório): texto delimitado ou dados HTML.delimiter(string, opcional) ouhtml(booleano, opcional).type(string, opcional):"PASTE_NORMAL","PASTE_VALUES"etc.textToColumns: converte uma coluna de texto em várias colunas de texto. Esquema:source(objeto, obrigatório): intervalo de grade de coluna única.delimiterType(string, obrigatório):"COMMA","SEMICOLON","PERIOD","SPACE","CUSTOM","AUTODETECT".delimiter(string, opcional): caractere delimitador quandodelimiterTypeé"CUSTOM".updateFilterView: atualiza as propriedades de uma visualização com filtro. Esquema:filter(objeto, obrigatório): definição da visualização com filtro, incluindofilterViewId.fields(string, obrigatório): máscara de campo (por exemplo,"title,criteria"ou"*").deleteRange: exclui um intervalo de células de uma página, deslocando as células restantes. Esquema:range(objeto, obrigatório): intervalo de grade a ser excluído.shiftDimension(string, obrigatório):"ROWS"ou"COLUMNS".appendDimension: adiciona dimensões ao final de uma página. Esquema:sheetId(número inteiro, obrigatório): ID da página.dimension(string, obrigatório):"ROWS"ou"COLUMNS".length(número inteiro, obrigatório): número de linhas ou colunas a serem adicionadas ao final.addConditionalFormatRule: adiciona uma nova regra de formatação condicional. Esquema:rule(objeto, obrigatório): regra de formatação condicional ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}}).index(número inteiro, opcional): índice baseado em zero em que a regra precisa ser inserida.updateConditionalFormatRule: atualiza uma regra de formatação condicional. Esquema:rule(objeto, obrigatório): nova regra de formatação condicional.- Índice / ID da regra (um obrigatório):
index(número inteiro): índice baseado em zero da regra.sheetId(número inteiro): ID da página, se a atualização for feita pelo índice da página.
newIndex(número inteiro, opcional): novo índice para mover a regra.deleteConditionalFormatRule: exclui uma regra de formatação condicional. Esquema:index(número inteiro, obrigatório): índice baseado em zero da regra a ser excluída.sheetId(número inteiro, obrigatório): ID da página da regra.sortRange: classifica os dados em um intervalo. Esquema:range(objeto, obrigatório): intervalo da grade a ser classificado.sortSpecs(matriz de SortSpec, obrigatório): especificações de classificação ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).setDataValidation: define a validação de dados para uma ou mais células. Esquema:range(objeto, obrigatório): intervalo da grade.rule(objeto, opcional): regra de validação ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}). Se omitido, limpa a validação.setBasicFilter: define o filtro básico em uma página. Esquema:filter(objeto, obrigatório): definição básica do filtro ({"range": GridRange, "criteria": map, "sortSpecs": list}).addProtectedRange: adiciona um intervalo protegido. Esquema:protectedRange(objeto, obrigatório): definição do intervalo protegido ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}}).updateProtectedRange: atualiza um intervalo protegido. Esquema:protectedRange(objeto, obrigatório): definição de intervalo protegido comprotectedRangeId.fields(string, obrigatório): máscara de campo (por exemplo,"description,warningOnly"ou"*").deleteProtectedRange: exclui um intervalo protegido. Esquema:protectedRangeId(número inteiro, obrigatório): ID do intervalo protegido a ser excluído.autoResizeDimensions: redimensiona automaticamente uma ou mais dimensões com base no conteúdo da célula. Esquema:dimensions(objeto, obrigatório): intervalo de dimensões ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).addChart: adiciona um gráfico. Esquema:chart(objeto, obrigatório): definição do gráfico ({"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: atualiza as especificações de um gráfico. Esquema:chartId(número inteiro, obrigatório): ID do gráfico.spec(objeto, obrigatório): nova especificação do gráfico.updateBanding: atualiza um intervalo com faixas. Esquema:bandedRange(objeto, obrigatório): definição de intervalo de faixas combandedRangeId.fields(string, obrigatório): máscara de campo.addBanding: adiciona um novo intervalo com faixas. Esquema:bandedRange(objeto, obrigatório): definição do intervalo de faixas ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}}).deleteBanding: remove um intervalo com faixas. Esquema:bandedRangeId(número inteiro, obrigatório): ID do intervalo com faixas a ser excluído.createDeveloperMetadata: cria novos metadados do desenvolvedor. Esquema:developerMetadata(objeto, obrigatório): definição de metadados ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"}).updateDeveloperMetadata: atualiza uma entrada de metadados do desenvolvedor. Esquema:dataFilters(matriz de DataFilter, obrigatório): filtros para selecionar metadados.developerMetadata(objeto, obrigatório): valores de metadados atualizados.fields(string, obrigatório): máscara de campo.deleteDeveloperMetadata: exclui metadados do desenvolvedor. Esquema:dataFilter(objeto, obrigatório): filtro que descreve os critérios para os metadados a serem excluídos.randomizeRange: randomiza a ordem das linhas em um intervalo. Esquema:range(objeto, obrigatório): intervalo da grade para randomizar.addDimensionGroup: cria um grupo no intervalo especificado. Esquema:range(objeto, obrigatório): intervalo de dimensões para agrupar ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteDimensionGroup: exclui um grupo no intervalo especificado. Esquema:range(objeto, obrigatório): intervalo de dimensões do grupo a ser excluído.updateDimensionGroup: atualiza o estado do grupo especificado. Esquema:dimensionGroup(objeto, obrigatório): definição do grupo ({"range": DimensionRange, "depth": int, "collapsed": bool}).fields(string, obrigatório): máscara de campo (por exemplo,"collapsed").trimWhitespace: remove espaços em branco das células (como espaços, tabulações ou novas linhas). Esquema:range(objeto, obrigatório): intervalo de grade com as células que serão cortadas.deleteDuplicates: remove linhas que contêm valores duplicados em colunas especificadas de um intervalo de células. Esquema:range(objeto, obrigatório): intervalo da grade de onde as cópias serão removidas.comparisonColumns(matriz de DimensionRange, opcional): colunas específicas para analisar.updateEmbeddedObjectBorder: atualiza a borda de um objeto incorporado. Esquema:objectId(número inteiro, obrigatório): ID do objeto incorporado.border(objeto, obrigatório): definição de borda ({"colorStyle": ColorStyle, "section": "ALL"}).fields(string, obrigatório): máscara de campo.addSlicer: adiciona um controle de filtro. Esquema:slicer(objeto, obrigatório): definição do controle de filtros ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).updateSlicerSpec: atualiza as especificações de um controle de filtro. Esquema:slicerId(número inteiro, obrigatório): ID do controle de filtros.spec(objeto, obrigatório): nova especificação de controle de filtros.fields(string, obrigatório): máscara de campo.addDataSource: adiciona uma fonte de dados. Esquema:dataSource(objeto, obrigatório): definição da fonte de dados ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).updateDataSource: atualiza uma fonte de dados. Esquema:dataSource(objeto, obrigatório): definição da fonte de dados comdataSourceId.fields(string, obrigatório): máscara de campo.deleteDataSource: exclui uma fonte de dados. Esquema:dataSourceId(string, obrigatório): ID da fonte de dados a ser excluída.refreshDataSource: atualiza uma ou várias fontes de dados e dbobjects associados. Esquema:dataSourceId(string, opcional) ouisAll(booleano, opcional) oureferences(objeto, opcional).force(booleano, opcional): se a atualização deve ser forçada.cancelDataSourceRefresh: cancela as atualizações de uma ou várias fontes de dados e dbobjects associados. Esquema:dataSourceId(string, opcional) ouisAll(booleano, opcional) oureferences(objeto, opcional).addTable: adiciona uma tabela. Esquema:table(objeto, obrigatório): definição da tabela ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).updateTable: atualiza uma tabela. Esquema:table(objeto, obrigatório): definição de tabela comtableId.fields(string, obrigatório): máscara de campo.deleteTable: uma solicitação para excluir uma tabela. Esquema:tableId(string, obrigatório): ID da tabela a ser excluída.insertComment: insere um comentário na planilha. Esquema:content(string, obrigatório): conteúdo do comentário em texto simples.coordinate(objeto, obrigatório): coordenada de grade na página para fixar o comentário:sheetId(número inteiro, obrigatório): o ID da página.rowIndex(número inteiro, obrigatório): índice de linha baseado em zero.columnIndex(número inteiro, obrigatório): índice de coluna baseado em zero.
assigneeEmailAddress(string, opcional): endereço de e-mail do responsável pelo comentário.addCommentReply: adiciona uma resposta a uma conversa. Também é usado para resolver ou reabrir uma conversa. Esquema:commentId(string, obrigatório): ID da conversa.post(objeto, obrigatório):content(string, obrigatório, a menos que commentAction seja RESOLVE ou REOPEN): conteúdo em texto simples da postagem de resposta.commentAction(string, opcional): ação realizada com essa resposta ("RESOLVE"ou"REOPEN").assigneeEmail(string, opcional): endereço de e-mail para atribuir a conversa.
updateCommentPost: atualiza o conteúdo de uma postagem de comentário em uma conversa. Esquema:commentId(string, obrigatório): ID da conversa.postId(string, obrigatório): ID do comentário a ser atualizado.content(string, obrigatório): o conteúdo atualizado do post de comentário.deleteComment: exclui uma conversa. Esquema:commentId(string, obrigatório): ID da conversa que será excluída.deleteCommentReply: exclui uma postagem de resposta. Esquema:commentId(string, obrigatório): ID da conversa.postId(string, obrigatório): ID da postagem de resposta a ser excluída.
O exemplo de código abaixo mostra como usar curl para chamar a ferramenta MCP update_spreadsheet.
| Solicitação 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 }' |
Esquema de entrada
UpdateContentRequest
| Representação JSON |
|---|
{
"spreadsheetId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Campos | |
|---|---|
spreadsheetId |
Obrigatório. O ID da planilha que será atualizada. |
requests[] |
Obrigatório. Uma lista de atualizações a serem aplicadas à planilha. Cada solicitação precisa ser um objeto Request spreadsheets.batchUpdate válido, usando o esquema documentado em: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. As solicitações serão aplicadas na ordem em que forem especificadas. Se alguma solicitação não for válida, nenhuma será aplicada. |
writeControl |
Opcional. Fornece controle sobre como as solicitações de gravação são executadas. |
Struct
| Representação JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Mapa não ordenado de valores digitados dinamicamente. Um objeto com uma lista de pares |
FieldsEntry
| Representação JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representação JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir: |
|
nullValue |
Representa um |
numberValue |
Representa um número JSON. Não pode ser |
stringValue |
Representa uma string JSON. |
boolValue |
Representa um booleano JSON (literal |
structValue |
Representa um objeto JSON. |
listValue |
Representa uma matriz JSON. |
ListValue
| Representação JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Campo repetido de valores digitados dinamicamente. |
WriteControl
| Representação JSON |
|---|
{ "requiredRevisionId": string } |
| Campos | |
|---|---|
Campo de união control. Determina a revisão da planilha em que os dados serão gravados e como a solicitação deve se comportar se essa revisão não for a atual. control pode ser apenas de um dos tipos a seguir: |
|
requiredRevisionId |
O ID da revisão da planilha em que a solicitação de gravação será aplicada. Se essa não for a revisão mais recente do documento, a solicitação não será processada e vai retornar um erro 400 de solicitação inválida. Quando um ID de revisão obrigatório é retornado em uma resposta, ele indica o ID de revisão da planilha após a aplicação da solicitação. |
NullValue
Representa um null JSON.
NullValue é um sentinela, que usa um tipo enumerado com apenas um valor para representar o valor nulo da união de tipos Value.
Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON emite um Value com um null_value definido como um null JSON, independentemente do valor inteiro, e, portanto, faz uma ida e volta para um valor 0.
| Tipos enumerados | |
|---|---|
NULL_VALUE |
Valor nulo. |
Esquema de saída
UpdateContentResponse
| Representação JSON |
|---|
{ "content": { object } } |
| Campos | |
|---|---|
content |
A resposta |
Struct
| Representação JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Mapa não ordenado de valores digitados dinamicamente. Um objeto com uma lista de pares |
FieldsEntry
| Representação JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representação JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de união kind. O tipo de valor. kind pode ser apenas de um dos tipos a seguir: |
|
nullValue |
Representa um |
numberValue |
Representa um número JSON. Não pode ser |
stringValue |
Representa uma string JSON. |
boolValue |
Representa um booleano JSON (literal |
structValue |
Representa um objeto JSON. |
listValue |
Representa uma matriz JSON. |
ListValue
| Representação JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Campo repetido de valores digitados dinamicamente. |
NullValue
Representa um null JSON.
NullValue é um sentinela, que usa um tipo enumerado com apenas um valor para representar o valor nulo da união de tipos Value.
Um campo do tipo NullValue com qualquer valor diferente de 0 é considerado inválido. A maioria dos serializadores ProtoJSON emite um Value com um null_value definido como um null JSON, independentemente do valor inteiro, e, portanto, faz uma ida e volta para um valor 0.
| Tipos enumerados | |
|---|---|
NULL_VALUE |
Valor nulo. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas:
readOnlyHint: se for verdadeiro, a ferramenta não modifica o ambiente. (Padrão: falso).destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. (Padrão: falso).openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de jogos de mundo aberto: ✅
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets