Tool: update_spreadsheet
Wendet eine oder mehrere Aktualisierungen auf die Tabelle an.
Entspricht „spreadsheets.batchUpdate“ in der REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
Die Liste der möglichen Updates:
updateSpreadsheetProperties: Aktualisiert die Eigenschaften der Tabelle. Schema:properties(Objekt, erforderlich): Zu aktualisierende Tabellenattribute ({"title": string, "locale": string, "timeZone": string}).fields(String, erforderlich): Feldmaske der zu aktualisierenden Attribute (z.B."title"oder"*").updateSheetProperties: Aktualisiert die Eigenschaften eines Tabellenblatts. Schema:properties(Objekt, erforderlich): Tabellenblatteigenschaften ({"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, erforderlich): Feldmaske der zu aktualisierenden Attribute (z.B."title","gridProperties.frozenRowCount").updateDimensionProperties: Aktualisiert die Eigenschaften von Dimensionen (z.B. Zeilenhöhe oder Spaltenbreite). Schema:range(Objekt, erforderlich): Dimensionsbereich ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).properties(Objekt, erforderlich): Dimensionseigenschaften ({"pixelSize": int, "hiddenByUser": bool}).fields(String, erforderlich): Feldmaske der zu aktualisierenden Attribute (z.B."pixelSize").updateNamedRange: Aktualisiert einen benannten Bereich. Schema:namedRange(Objekt, erforderlich): Definition des benannten Bereichs ({"namedRangeId": string, "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).fields(String, erforderlich): Feldmaske der zu aktualisierenden Felder (z.B."name,range"oder"*").repeatCell: Wiederholt eine einzelne Zelle in einem Bereich. Schema:range(Objekt, erforderlich): Rasterbereich, auf den Zelldaten/-formatierungen angewendet werden sollen ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).cell(Objekt, erforderlich): Zelldaten ({"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, erforderlich): Feldmaske der zu aktualisierenden Zellenfelder (z.B."userEnteredFormat.textFormat.bold"oder"userEnteredValue").addNamedRange: Fügt einen benannten Bereich hinzu. Schema:namedRange(Objekt, erforderlich): Benannter Bereich, der hinzugefügt werden soll ({"namedRangeId": string (optional), "name": string, "range": {"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}}).deleteNamedRange: Löscht einen benannten Bereich anhand seiner ID. Schema:namedRangeId(String, erforderlich): ID des zu löschenden benannten Bereichs.addSheet: Fügt ein Tabellenblatt hinzu. Schema:properties(Objekt, optional): Tabellenblatteigenschaften ({"title": string, "sheetId": int (optional), "index": int (optional), "gridProperties": {"rowCount": int, "columnCount": int}}).deleteSheet: Löscht ein Tabellenblatt. Schema:sheetId(Ganzzahl, erforderlich): ID des zu löschenden Tabellenblatts.autoFill: Füllt automatisch weitere Daten basierend auf vorhandenen Daten aus. Schema:range(Objekt, optional): Bereich, der untersucht und ausgefüllt werden soll ({"sheetId": int, "startRowIndex": int, "endRowIndex": int, "startColumnIndex": int, "endColumnIndex": int}).sourceAndDestination(Objekt, optional): Explizite Quell- und Fülllänge ({"source": GridRange, "dimension": "ROWS"|"COLUMNS", "fillLength": int}).useAlternateSeries(boolesch, optional): Gibt an, ob alternative Reihen verwendet werden sollen.cutPaste: Schneidet Daten aus einem Bereich aus und fügt sie in einen anderen ein. Schema:source(Objekt, erforderlich): Quellrasterbereich.destination(Objekt, erforderlich): Zielkoordinate oben links ({"sheetId": int, "rowIndex": int, "columnIndex": int}).pasteType(String, optional):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".copyPaste: Kopiert Daten aus einem Bereich und fügt sie in einen anderen ein. Schema:source(Objekt, erforderlich): Quellrasterbereich.destination(Objekt, erforderlich): Zielrasterbereich.pasteType(String, optional):"PASTE_NORMAL","PASTE_VALUES","PASTE_FORMAT","PASTE_NO_BORDERS","PASTE_FORMULA".pasteOrientation(String, optional):"NORMAL"oder"TRANSPOSE".mergeCells: Führt Zellen zusammen. Schema:range(Objekt, erforderlich): Der zusammenzuführende Rasterbereich.mergeType(String, erforderlich):"MERGE_ALL","MERGE_COLUMNS"oder"MERGE_ROWS".unmergeCells: Hebt die Verbindung von verbundenen Zellen auf. Schema:range(Objekt, erforderlich): Rasterbereich, in dem die Verbindung aller Zellen aufgehoben werden soll.updateBorders: Aktualisiert die Rahmen in einem Zellenbereich. Schema:range(Objekt, erforderlich): Rasterbereich, für den die Rahmen aktualisiert werden sollen.top/bottom/left/right/innerHorizontal/innerVertical(Objekt, optional): Rahmenstil ({"style": "SOLID"|"DASHED"|"DOTTED"|"DOUBLE"|"NONE", "width": int, "colorStyle": {"rgbColor": {"red": float, "green": float, "blue": float}}}).updateCells: Aktualisiert viele Zellen gleichzeitig. Schema:- Bereich (genau einer erforderlich):
start(Objekt): Koordinate oben links ({"sheetId": int, "rowIndex": int, "columnIndex": int}).range(Objekt): Rasterbereich.
rows(Array von RowData, erforderlich): Zeilen mit Zellen ([{"values": [{"userEnteredValue": {"stringValue": str, "numberValue": float, "formulaValue": str}}]}]).fields(String, erforderlich): Feldmaske der zu aktualisierenden Zellenfelder (z.B."userEnteredValue"oder"userEnteredFormat").addFilterView: Fügt eine Filteransicht hinzu. Schema:filter(Objekt, erforderlich): Definition der Filteransicht ({"title": string, "range": GridRange, "criteria": map, "sortSpecs": list}).appendCells: Hängt Zellen nach der letzten Zeile mit Daten in einer Tabelle an. Schema:sheetId(Ganzzahl, erforderlich): ID des Tabellenblatts, an das Daten angehängt werden sollen.rows(Array von RowData, erforderlich): Datenzeilen, die angehängt werden sollen.fields(String, erforderlich): Feldmaske (z.B."userEnteredValue").clearBasicFilter: Löscht den einfachen Filter in einem Tabellenblatt. Schema:sheetId(Ganzzahl, erforderlich): Tabellen-ID, für die der einfache Filter gelöscht werden soll.deleteDimension: Löscht Zeilen oder Spalten in einem Tabellenblatt. Schema:range(Objekt, erforderlich): Zu löschender Dimensionsbereich ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteEmbeddedObject: Löscht ein eingebettetes Objekt (z.B. ein Diagramm oder Bild) in einem Tabellenblatt. Schema:objectId(Ganzzahl, erforderlich): ID des zu löschenden eingebetteten Objekts.deleteFilterView: Löscht eine Filteransicht aus einem Tabellenblatt. Schema:filterId(Ganzzahl, erforderlich): ID der zu löschenden Filteransicht.duplicateFilterView: Dupliziert eine Filteransicht. Schema:filterId(Ganzzahl, erforderlich): ID der zu duplizierenden Filteransicht.duplicateSheet: Dupliziert ein Tabellenblatt. Schema:sourceSheetId(Ganzzahl, erforderlich): ID des zu duplizierenden Tabellenblatts.insertSheetIndex(Ganzzahl, optional): Nullbasierter Index, an dem das neue Tabellenblatt eingefügt werden soll.newSheetId(Ganzzahl, optional): ID für das neue Tabellenblatt.newSheetName(String, optional): Name des neuen Tabellenblatts.findReplace: Sucht nach Vorkommen eines bestimmten Texts und ersetzt sie durch anderen Text. Schema:find(String, erforderlich): Wert, nach dem gesucht werden soll.replacement(String, erforderlich): Ersatzwert.- Bereich (genau einer erforderlich):
range(Objekt): Rasterbereich.sheetId(Ganzzahl): Tabellen-ID.allSheets(boolesch):true, um alle Tabellenblätter zu durchsuchen.
matchCase/matchEntireCell/searchByRegex/includeFormulas(boolesch, optional).insertDimension: Fügt neue Zeilen oder Spalten in eine Tabelle ein. Schema:range(Objekt, erforderlich): Der einzufügende Dimensionsbereich ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).inheritFromBefore(boolesch, optional):true, um die Formatierung von der vorherigen Zeile/Spalte zu übernehmen.insertRange: Fügt neue Zellen in ein Tabellenblatt ein und verschiebt die vorhandenen Zellen. Schema:range(Objekt, erforderlich): Rasterbereich, in den Zellen eingefügt werden sollen.shiftDimension(String, erforderlich):"ROWS"oder"COLUMNS".moveDimension: Verschiebt Zeilen oder Spalten an eine andere Stelle in einem Tabellenblatt. Schema:source(Objekt, erforderlich): Quelldimensionsbereich ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).destinationIndex(Ganzzahl, erforderlich): Nullbasierter Zielindex.updateEmbeddedObjectPosition: Aktualisiert die Position eines eingebetteten Objekts (z.B. Diagramm, Bild). Schema:objectId(Ganzzahl, erforderlich): ID des eingebetteten Objekts.newPosition(Objekt, erforderlich): Neue Position ({"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}, "widthPixels": int, "heightPixels": int}}).fields(String, erforderlich): Feldmaske (z.B."overlayPosition.anchorCell").pasteData: Fügt Daten (HTML oder durch Trennzeichen getrennt) in ein Tabellenblatt ein. Schema:coordinate(Objekt, erforderlich): Koordinate oben links ({"sheetId": int, "rowIndex": int, "columnIndex": int}).data(String, erforderlich): Text mit Trennzeichen oder HTML-Daten.delimiter(String, optional) oderhtml(boolesch, optional).type(String, optional):"PASTE_NORMAL","PASTE_VALUES"usw.textToColumns: Konvertiert eine Textspalte in mehrere Textspalten. Schema:source(Objekt, erforderlich): Einspaltiger Rasterbereich.delimiterType(String, erforderlich):"COMMA","SEMICOLON","PERIOD","SPACE","CUSTOM","AUTODETECT".delimiter(String, optional): Trennzeichen, wenndelimiterTypeden Wert"CUSTOM"hat.updateFilterView: Aktualisiert die Eigenschaften einer Filteransicht. Schema:filter(Objekt, erforderlich): Definition der Filteransicht, einschließlichfilterViewId.fields(String, erforderlich): Feldmaske (z.B."title,criteria"oder"*").deleteRange: Löscht einen Zellenbereich aus einem Tabellenblatt und verschiebt die verbleibenden Zellen. Schema:range(Objekt, erforderlich): Zu löschender Rasterbereich.shiftDimension(String, erforderlich):"ROWS"oder"COLUMNS".appendDimension: Hängt Dimensionen an das Ende eines Tabellenblatts an. Schema:sheetId(Ganzzahl, erforderlich): Tabellen-ID.dimension(String, erforderlich):"ROWS"oder"COLUMNS".length(Ganzzahl, erforderlich): Anzahl der anzuhängenden Zeilen oder Spalten.addConditionalFormatRule: Fügt eine neue Regel für die bedingte Formatierung hinzu. Schema:rule(Objekt, erforderlich): Regel für die bedingte Formatierung ({"ranges": [GridRange], "booleanRule": {"condition": {"type": "NUMBER_GREATER_THAN_EQ"|"TEXT_CONTAINS"|..., "values": [{"userEnteredValue": string}]}, "format": CellFormat}, "gradientRule": {...}}).index(Ganzzahl, optional): Nullbasierter Index, an dem die Regel eingefügt werden soll.updateConditionalFormatRule: Aktualisiert eine vorhandene Regel für die bedingte Formatierung. Schema:rule(Objekt, erforderlich): Neue Regel für die bedingte Formatierung.- Index / Regel-ID (eine Angabe erforderlich):
index(Ganzzahl): Nullbasierter Index der Regel.sheetId(Ganzzahl): Tabellen-ID, wenn die Aktualisierung nach Tabellenindex erfolgt.
newIndex(Ganzzahl, optional): Neuer Index zum Verschieben der Regel.deleteConditionalFormatRule: Löscht eine vorhandene Regel für die bedingte Formatierung. Schema:index(Ganzzahl, erforderlich): Nullbasierter Index der zu löschenden Regel.sheetId(Ganzzahl, erforderlich): Tabellenblatt-ID der Regel.sortRange: Sortiert Daten in einem Bereich. Schema:range(Objekt, erforderlich): Zu sortierender Rasterbereich.sortSpecs(Array von SortSpec, erforderlich): Sortierspezifikationen ([{"dimensionIndex": int, "sortOrder": "ASCENDING"|"DESCENDING"}]).setDataValidation: Legt die Datenvalidierung für eine oder mehrere Zellen fest. Schema:range(Objekt, erforderlich): Rasterbereich.rule(Objekt, optional): Validierungsregel ({"condition": {"type": "ONE_OF_LIST"|"NUMBER_BETWEEN"|..., "values": [{"userEnteredValue": string}]}, "strict": bool, "showCustomUi": bool}). Wenn nicht angegeben, wird die Validierung gelöscht.setBasicFilter: Legt den einfachen Filter für ein Tabellenblatt fest. Schema:filter(Objekt, erforderlich): Grundlegende Filterdefinition ({"range": GridRange, "criteria": map, "sortSpecs": list}).addProtectedRange: Fügt einen geschützten Bereich hinzu. Schema:protectedRange(Objekt, erforderlich): Definition des geschützten Bereichs ({"range": GridRange, "description": string, "warningOnly": bool, "editors": {"users": [string]}}).updateProtectedRange: Aktualisiert einen geschützten Bereich. Schema:protectedRange(Objekt, erforderlich): Definition des geschützten Bereichs mitprotectedRangeId.fields(String, erforderlich): Feldmaske (z.B."description,warningOnly"oder"*").deleteProtectedRange: Löscht einen geschützten Bereich. Schema:protectedRangeId(Ganzzahl, erforderlich): ID des zu löschenden geschützten Bereichs.autoResizeDimensions: Passt die Größe einer oder mehrerer Dimensionen automatisch an den Zelleninhalt an. Schema:dimensions(Objekt, erforderlich): Dimensionsbereich ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).addChart: Fügt ein Diagramm hinzu. Schema:chart(Objekt, erforderlich): Diagrammdefinition ({"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: Aktualisiert die Spezifikationen eines Diagramms. Schema:chartId(Ganzzahl, erforderlich): ID des Diagramms.spec(Objekt, erforderlich): Neue Diagrammspezifikation.updateBanding: Aktualisiert einen Bereich mit Streifen. Schema:bandedRange(Objekt, erforderlich): Definition des Bereichs mit Streifen mitbandedRangeId.fields(String, erforderlich): Feldmaske.addBanding: Fügt einen neuen Bereich mit abwechselnden Farben hinzu. Schema:bandedRange(Objekt, erforderlich): Definition des Bereichs mit alternierenden Farben ({"range": GridRange, "rowProperties": {"headerColorStyle": ColorStyle, "firstBandColorStyle": ColorStyle, "secondBandColorStyle": ColorStyle}}).deleteBanding: Entfernt einen Bereich mit abwechselnden Zeilenfarben. Schema:bandedRangeId(Ganzzahl, erforderlich): ID des zu löschenden Bereichs mit Streifen.createDeveloperMetadata: Erstellt neue Entwicklermetadaten. Schema:developerMetadata(Objekt, erforderlich): Metadatendefinition ({"metadataKey": string, "metadataValue": string, "location": {"locationType": "ROW"|"COLUMN"|"SHEET"|"SPREADSHEET", "sheetId": int}, "visibility": "DOCUMENT"|"PROJECT"}).updateDeveloperMetadata: Aktualisiert einen vorhandenen Entwicklermetadateneintrag. Schema:dataFilters(Array von DataFilter, erforderlich): Filter zum Auswählen von Metadaten.developerMetadata(Objekt, erforderlich): Aktualisierte Metadatenwerte.fields(String, erforderlich): Feldmaske.deleteDeveloperMetadata: Löscht Entwicklermetadaten. Schema:dataFilter(Objekt, erforderlich): Filter, der Kriterien für zu löschende Metadaten beschreibt.randomizeRange: Die Reihenfolge der Zeilen in einem Bereich wird zufällig geändert. Schema:range(Objekt, erforderlich): Rasterbereich, der zufällig angeordnet werden soll.addDimensionGroup: Erstellt eine Gruppe für den angegebenen Bereich. Schema:range(Objekt, erforderlich): Dimensionsbereich, der gruppiert werden soll ({"sheetId": int, "dimension": "ROWS"|"COLUMNS", "startIndex": int, "endIndex": int}).deleteDimensionGroup: Löscht eine Gruppe im angegebenen Bereich. Schema:range(Objekt, erforderlich): Dimensionsbereich der zu löschenden Gruppe.updateDimensionGroup: Aktualisiert den Status der angegebenen Gruppe. Schema:dimensionGroup(Objekt, erforderlich): Gruppendefinition ({"range": DimensionRange, "depth": int, "collapsed": bool}).fields(String, erforderlich): Feldmaske (z.B."collapsed").trimWhitespace: Entfernt Leerzeichen (z. B. Leerzeichen, Tabulatoren oder Zeilenumbrüche) aus Zellen. Schema:range(Objekt, erforderlich): Rasterbereich, dessen Zellen gekürzt werden sollen.deleteDuplicates: Entfernt Zeilen mit doppelten Werten in angegebenen Spalten eines Zellenbereichs. Schema:range(Objekt, erforderlich): Rasterbereich, aus dem Duplikate entfernt werden sollen.comparisonColumns(Array von DimensionRange, optional): Bestimmte Spalten, die analysiert werden sollen.updateEmbeddedObjectBorder: Aktualisiert den Rahmen eines eingebetteten Objekts. Schema:objectId(Ganzzahl, erforderlich): ID des eingebetteten Objekts.border(Objekt, erforderlich): Rahmendefinition ({"colorStyle": ColorStyle, "section": "ALL"}).fields(String, erforderlich): Feldmaske.addSlicer: Fügt einen Datenschnitt hinzu. Schema:slicer(Objekt, erforderlich): Datenschnittdefinition ({"spec": {"dataRange": GridRange, "columnIndex": int, "title": string}, "position": {"overlayPosition": {"anchorCell": {"sheetId": int, "rowIndex": int, "columnIndex": int}}}}).updateSlicerSpec: Aktualisiert die Spezifikationen eines Datenschnitts. Schema:slicerId(Ganzzahl, erforderlich): ID des Datenschnitts.spec(Objekt, erforderlich): Neue Datenschnittspezifikation.fields(String, erforderlich): Feldmaske.addDataSource: Fügt eine Datenquelle hinzu. Schema:dataSource(Objekt, erforderlich): Datenquellendefinition ({"spec": {"bigQuery": {"projectId": string, "query": string}}}).updateDataSource: Aktualisiert eine Datenquelle. Schema:dataSource(Objekt, erforderlich): Datenquellendefinition mitdataSourceId.fields(String, erforderlich): Feldmaske.deleteDataSource: Löscht eine Datenquelle. Schema:dataSourceId(String, erforderlich): ID der zu löschenden Datenquelle.refreshDataSource: Aktualisiert eine oder mehrere Datenquellen und zugehörige dbobjects. Schema:dataSourceId(String, optional) oderisAll(boolescher Wert, optional) oderreferences(Objekt, optional).force(boolesch, optional): Gibt an, ob eine Aktualisierung erzwungen werden soll.cancelDataSourceRefresh: Bricht Aktualisierungen einer oder mehrerer Datenquellen und zugehöriger dbobjects ab. Schema:dataSourceId(String, optional) oderisAll(boolescher Wert, optional) oderreferences(Objekt, optional).addTable: Fügt eine Tabelle hinzu. Schema:table(Objekt, erforderlich): Tabellendefinition ({"range": GridRange, "name": string, "hasHeaderRow": bool, "hasTotalsRow": bool}).updateTable: Aktualisiert eine Tabelle. Schema:table(Objekt, erforderlich): Tabellendefinition mittableId.fields(String, erforderlich): Feldmaske.deleteTable: Eine Anfrage zum Löschen einer Tabelle. Schema:tableId(String, erforderlich): ID der zu löschenden Tabelle.insertComment: Fügt einen Kommentar in die Tabelle ein. Schema:content(String, erforderlich): Nur-Text-Kommentarinhalt.coordinate(Objekt, erforderlich): Rasterkoordinate im Tabellenblatt, an der der Kommentar verankert werden soll:sheetId(Ganzzahl, erforderlich): Die Tabellen-ID.rowIndex(Ganzzahl, erforderlich): Nullbasierter Zeilenindex.columnIndex(Ganzzahl, erforderlich): Nullbasierter Spaltenindex.
assigneeEmailAddress(String, optional): E-Mail-Adresse der Person, der der Kommentar zugewiesen ist.addCommentReply: Fügt einem vorhandenen Kommentar-Thread eine Antwort hinzu. Wird auch verwendet, um einen Thread zu schließen oder wieder zu öffnen. Schema:commentId(String, erforderlich): ID des Kommentar-Threads.post(Objekt, erforderlich):content(String, erforderlich, es sei denn, commentAction ist RESOLVE oder REOPEN): Nur-Text-Inhalt des Antwortbeitrags.commentAction(String, optional): Aktion, die mit dieser Antwort ausgeführt wurde ("RESOLVE"oder"REOPEN").assigneeEmail(String, optional): E-Mail-Adresse, der die Konversation neu zugewiesen werden soll.
updateCommentPost: Aktualisiert den Inhalt eines Kommentarbeitrags in einem Kommentar-Thread. Schema:commentId(String, erforderlich): ID des Kommentar-Threads.postId(String, erforderlich): ID des zu aktualisierenden Kommentars.content(String, erforderlich): Der aktualisierte Inhalt des Kommentarbeitrags.deleteComment: Löscht einen Kommentar-Thread. Schema:commentId(String, erforderlich): ID des zu löschenden Kommentar-Threads.deleteCommentReply: Löscht einen Antwortbeitrag. Schema:commentId(String, erforderlich): ID des Kommentar-Threads.postId(String, erforderlich): ID des zu löschenden Antwortbeitrags.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool update_spreadsheet aufrufen.
| Curl-Anfrage |
|---|
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 }' |
Eingabeschema
UpdateContentRequest
| JSON-Darstellung |
|---|
{
"spreadsheetId": string,
"requests": [
{
object
}
],
"writeControl": {
object ( |
| Felder | |
|---|---|
spreadsheetId |
Erforderlich. Die ID der zu aktualisierenden Tabelle. |
requests[] |
Erforderlich. Eine Liste der Aktualisierungen, die auf die Tabelle angewendet werden sollen. Jede Anfrage muss ein gültiges „spreadsheets.batchUpdate“-Anfrageobjekt sein, das das unter https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request dokumentierte Schema verwendet. Anfragen werden in der Reihenfolge angewendet, in der sie angegeben sind. Wenn eine Anfrage ungültig ist, werden keine Anfragen angewendet. |
writeControl |
Optional. Bietet Kontrolle darüber, wie Schreibanfragen ausgeführt werden. |
Struct
| JSON-Darstellung |
|---|
{ "fields": { string: value, ... } } |
| Felder | |
|---|---|
fields |
Ungeordnete Zuordnung von dynamisch typisierten Werten. Ein Objekt, das eine Liste von |
FieldsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": value } |
| Felder | |
|---|---|
key |
|
value |
|
Wert
| JSON-Darstellung |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Felder | |
|---|---|
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig: |
|
nullValue |
Stellt ein JSON- |
numberValue |
Stellt eine JSON-Zahl dar. Darf nicht |
stringValue |
Stellt einen JSON-String dar. |
boolValue |
Stellt einen booleschen JSON-Wert dar ( |
structValue |
Stellt ein JSON-Objekt dar. |
listValue |
Stellt ein JSON-Array dar. |
ListValue
| JSON-Darstellung |
|---|
{ "values": [ value ] } |
| Felder | |
|---|---|
values[] |
Wiederkehrendes Feld mit dynamisch typisierten Werten. |
WriteControl
| JSON-Darstellung |
|---|
{ "requiredRevisionId": string } |
| Felder | |
|---|---|
Union-Feld control. Bestimmt die Version der Tabelle, in die geschrieben werden soll, und wie sich die Anfrage verhalten soll, wenn diese Version nicht die aktuelle Version der Tabelle ist. Für control ist nur einer der folgenden Werte zulässig: |
|
requiredRevisionId |
Die Versions-ID der Tabelle, auf die die Schreibanfrage angewendet wird. Wenn dies nicht die neueste Version des Dokuments ist, wird die Anfrage nicht verarbeitet und es wird der Fehler „400 Bad Request“ zurückgegeben. Wenn eine erforderliche Überarbeitungs-ID in einer Antwort zurückgegeben wird, ist dies die Überarbeitungs-ID der Tabelle, nachdem die Anfrage angewendet wurde. |
NullValue
Stellt ein JSON-null dar.
NullValue ist ein Sentinel, der ein Enum mit nur einem Wert verwendet, um den Nullwert für die Typunion Value darzustellen.
Ein Feld vom Typ NullValue mit einem anderen Wert als 0 gilt als ungültig. Die meisten ProtoJSON-Serialisierer geben unabhängig vom Ganzzahlwert einen Value mit einem null_value aus, der als JSON-null festgelegt ist, und runden ihn auf einen 0-Wert.
| Enums | |
|---|---|
NULL_VALUE |
Nullwert. |
Ausgabeschema
UpdateContentResponse
| JSON-Darstellung |
|---|
{ "content": { object } } |
| Felder | |
|---|---|
content |
Die |
Struct
| JSON-Darstellung |
|---|
{ "fields": { string: value, ... } } |
| Felder | |
|---|---|
fields |
Ungeordnete Zuordnung von dynamisch typisierten Werten. Ein Objekt, das eine Liste von |
FieldsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": value } |
| Felder | |
|---|---|
key |
|
value |
|
Wert
| JSON-Darstellung |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Felder | |
|---|---|
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig: |
|
nullValue |
Stellt ein JSON- |
numberValue |
Stellt eine JSON-Zahl dar. Darf nicht |
stringValue |
Stellt einen JSON-String dar. |
boolValue |
Stellt einen booleschen JSON-Wert dar ( |
structValue |
Stellt ein JSON-Objekt dar. |
listValue |
Stellt ein JSON-Array dar. |
ListValue
| JSON-Darstellung |
|---|
{ "values": [ value ] } |
| Felder | |
|---|---|
values[] |
Wiederkehrendes Feld mit dynamisch typisierten Werten. |
NullValue
Stellt ein JSON-null dar.
NullValue ist ein Sentinel, der ein Enum mit nur einem Wert verwendet, um den Nullwert für die Typunion Value darzustellen.
Ein Feld vom Typ NullValue mit einem anderen Wert als 0 gilt als ungültig. Die meisten ProtoJSON-Serialisierer geben unabhängig vom Ganzzahlwert einen Value mit einem null_value aus, der als JSON-null festgelegt ist, und runden ihn auf einen 0-Wert.
| Enums | |
|---|---|
NULL_VALUE |
Nullwert. |
Tool-Annotationen
Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet werden soll.
Zusätzlich zum Titelstring werden die folgenden booleschen Hinweise definiert:
readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Entitäten interagieren. Wenn „false“, kann das Tool nur mit internen Entitäten interagieren. Ein Tool für die Websuche wäre beispielsweise ein Open-World-Tool, ein Tool für gemerkte Informationen dagegen nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ❌ | Hinweis „Lesezugriff“: ❌ | Hinweis „Open World“: ✅
Autorisierungsbereiche
Erfordert einen der folgenden OAuth-Bereiche:
https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/spreadsheets