MCP Tools Reference: sheetsmcp.googleapis.com

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) oder html (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, wenn delimiterType den Wert "CUSTOM" hat.
  • updateFilterView: Aktualisiert die Eigenschaften einer Filteransicht. Schema:
  • filter (Objekt, erforderlich): Definition der Filteransicht, einschließlich filterViewId.
  • 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 mit protectedRangeId.
  • 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 mit bandedRangeId.
  • 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 mit dataSourceId.
  • 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) oder isAll (boolescher Wert, optional) oder references (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) oder isAll (boolescher Wert, optional) oder references (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 mit tableId.
  • 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 (WriteControl)
  }
}
Felder
spreadsheetId

string

Erforderlich. Die ID der zu aktualisierenden Tabelle.

requests[]

object (Struct format)

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

object (WriteControl)

Optional. Bietet Kontrolle darüber, wie Schreibanfragen ausgeführt werden.

Struct

JSON-Darstellung
{
  "fields": {
    string: value,
    ...
  }
}
Felder
fields

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

Ungeordnete Zuordnung von dynamisch typisierten Werten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON-Darstellung
{
  "key": string,
  "value": value
}
Felder
key

string

value

value (Value format)

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

null

Stellt ein JSON-null dar.

numberValue

number

Stellt eine JSON-Zahl dar. Darf nicht NaN, Infinity oder -Infinity sein, da diese in JSON nicht unterstützt werden. Außerdem können damit keine großen Int64-Werte dargestellt werden, da das JSON-Format diese im Zahlentyp im Allgemeinen nicht unterstützt.

stringValue

string

Stellt einen JSON-String dar.

boolValue

boolean

Stellt einen booleschen JSON-Wert dar (true- oder false-Literal in JSON).

structValue

object (Struct format)

Stellt ein JSON-Objekt dar.

listValue

array (ListValue format)

Stellt ein JSON-Array dar.

ListValue

JSON-Darstellung
{
  "values": [
    value
  ]
}
Felder
values[]

value (Value format)

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

string

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

object (Struct format)

Die spreadsheets.batchUpdate-Antwort im JSON-Format der Sheets API sowie ein status-Feld.

Struct

JSON-Darstellung
{
  "fields": {
    string: value,
    ...
  }
}
Felder
fields

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

Ungeordnete Zuordnung von dynamisch typisierten Werten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON-Darstellung
{
  "key": string,
  "value": value
}
Felder
key

string

value

value (Value format)

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

null

Stellt ein JSON-null dar.

numberValue

number

Stellt eine JSON-Zahl dar. Darf nicht NaN, Infinity oder -Infinity sein, da diese in JSON nicht unterstützt werden. Außerdem können damit keine großen Int64-Werte dargestellt werden, da das JSON-Format diese im Zahlentyp im Allgemeinen nicht unterstützt.

stringValue

string

Stellt einen JSON-String dar.

boolValue

boolean

Stellt einen booleschen JSON-Wert dar (true- oder false-Literal in JSON).

structValue

object (Struct format)

Stellt ein JSON-Objekt dar.

listValue

array (ListValue format)

Stellt ein JSON-Array dar.

ListValue

JSON-Darstellung
{
  "values": [
    value
  ]
}
Felder
values[]

value (Value format)

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/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets