Outil : update_spreadsheet
Applique une ou plusieurs mises à jour à la feuille de calcul.
Correspond à spreadsheets.batchUpdate dans l'API REST : https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
Voici la liste des mises à jour possibles :
updateSpreadsheetProperties: met à jour les propriétés de la feuille de calcul.updateSheetProperties: met à jour les propriétés d'une feuille.updateDimensionProperties: met à jour les propriétés des dimensions.updateNamedRange: met à jour une plage nommée.repeatCell: répète une seule cellule sur une plage.addNamedRange: ajoute une plage nommée.deleteNamedRange: supprime une plage nommée.addSheet: ajoute une feuille.deleteSheet: supprime une feuille.autoFill: remplit automatiquement plus de données en fonction des données existantes.cutPaste: coupe des données d'une zone et les colle dans une autre.copyPaste: copie des données d'une zone et les colle dans une autre.mergeCells: fusionne les cellules.unmergeCells: annule la fusion des cellules.updateBorders: met à jour les bordures d'une plage de cellules.updateCells: met à jour plusieurs cellules à la fois.addFilterView: ajoute une vue de filtre.appendCells: ajoute des cellules après la dernière ligne contenant des données dans une feuille.clearBasicFilter: efface le filtre de base d'une feuille.deleteDimension: supprime des lignes ou des colonnes dans une feuille.deleteEmbeddedObject: supprime un objet intégré (graphique, image, etc.) dans une feuille.deleteFilterView: supprime une vue filtrée d'une feuille.duplicateFilterView: duplique une vue filtrée.duplicateSheet: duplique une feuille.findReplace: recherche et remplace des occurrences de texte par un autre texte.insertDimension: insère des lignes ou des colonnes dans une feuille.insertRange: insère de nouvelles cellules dans une feuille, en décalant les cellules existantes.moveDimension: déplace des lignes ou des colonnes vers un autre emplacement dans une feuille.updateEmbeddedObjectPosition: met à jour la position d'un objet intégré (par exemple, un graphique ou une image).pasteData: colle des données (HTML ou délimitées) dans une feuille.textToColumns: convertit une colonne de texte en plusieurs colonnes de texte.updateFilterView: met à jour les propriétés d'une vue filtrée.deleteRange: supprime une plage de cellules d'une feuille et décale les cellules restantes.appendDimension: ajoute des dimensions à la fin d'une feuille.addConditionalFormatRule: ajoute une règle de mise en forme conditionnelle.updateConditionalFormatRule: met à jour une règle de mise en forme conditionnelle existante.deleteConditionalFormatRule: supprime une règle de mise en forme conditionnelle existante.sortRange: trie les données d'une plage.setDataValidation: définit la validation des données pour une ou plusieurs cellules.setBasicFilter: définit le filtre de base sur une feuille.addProtectedRange: ajoute une plage protégée.updateProtectedRange: met à jour une plage protégée.deleteProtectedRange: supprime une plage protégée.autoResizeDimensions: redimensionne automatiquement une ou plusieurs dimensions en fonction du contenu des cellules de cette dimension.addChart: ajoute un graphique.updateChartSpec: met à jour les spécifications d'un graphique.updateBanding: met à jour une plage avec bandesaddBanding: ajoute une plage avec bandesdeleteBanding: supprime une plage avec bandecreateDeveloperMetadata: crée des métadonnées de développeur.updateDeveloperMetadata: met à jour une entrée de métadonnées de développeur existante.deleteDeveloperMetadata: supprime les métadonnées du développeur.randomizeRange: mélange l'ordre des lignes d'une plage.addDimensionGroup: crée un groupe sur la plage spécifiée.deleteDimensionGroup: supprime un groupe dans la plage spécifiée.updateDimensionGroup: met à jour l'état du groupe spécifié.trimWhitespace: supprime les espaces (tels que les espaces, les tabulations ou les sauts de ligne) dans les cellules.deleteDuplicates: supprime les lignes contenant des valeurs en double dans les colonnes spécifiées d'une plage de cellules.updateEmbeddedObjectBorder: met à jour la bordure d'un objet intégré.addSlicer: ajoute un sélecteur.updateSlicerSpec: met à jour les spécifications d'un sélecteur.addDataSource: ajoute une source de données.updateDataSource: met à jour une source de données.deleteDataSource: supprime une source de données.refreshDataSource: actualise une ou plusieurs sources de données et les dbobjects associés.cancelDataSourceRefresh: annule l'actualisation d'une ou de plusieurs sources de données et des dbobjects associés.addTable: ajoute un tableau.updateTable: met à jour une table.deleteTable: demande de suppression d'une table.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP update_spreadsheet.
| Requête curl |
|---|
curl --location 'https://sheetsmcp.googleapis.com/mcp' \ --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 tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
UpdateContentRequest
| Représentation JSON |
|---|
{ "spreadsheetId": string, "requests": [ { object } ] } |
| Champs | |
|---|---|
spreadsheetId |
Obligatoire. ID de la feuille de calcul à mettre à jour. |
requests[] |
Obligatoire. Liste des mises à jour à appliquer à la feuille de calcul. Chaque requête doit être un objet spreadsheets.batchUpdate valide, en utilisant le schéma documenté à l'adresse https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. Les requêtes seront appliquées dans l'ordre dans lequel elles sont spécifiées. Si une demande n'est pas valide, aucune demande ne sera appliquée. |
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées de manière dynamique. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
Schéma de sortie
Représente un objet JSON.
Il s'agit d'une carte clé/valeur non ordonnée, destinée à capturer parfaitement la sémantique d'un objet JSON. Cela permet d'analyser n'importe quelle charge utile JSON arbitraire en tant que champ de message au format ProtoJSON.
Cela suit les consignes de la RFC 8259 pour un format JSON interopérable. Ce type ne peut notamment pas représenter de grandes valeurs Int64 ni des nombres NaN/Infinity, car le format JSON ne prend généralement pas en charge ces valeurs dans son type de nombre.
Si vous n'avez pas l'intention d'analyser du code JSON arbitraire dans votre message, il est préférable d'utiliser un message typé personnalisé plutôt que ce type.
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées de manière dynamique. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
Annotations d'outils
Indication de destruction : ❌ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication de monde ouvert : ✅