MCP Tools Reference: sheetsmcp.googleapis.com

Narzędzie: update_spreadsheet

Stosuje co najmniej 1 aktualizację w arkuszu kalkulacyjnym.

Odpowiada metodzie spreadsheets.batchUpdate w interfejsie REST API: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate

Lista możliwych aktualizacji:

  • updateSpreadsheetProperties: aktualizuje właściwości arkusza kalkulacyjnego.
  • updateSheetProperties: aktualizuje właściwości arkusza.
  • updateDimensionProperties: aktualizuje właściwości wymiarów.
  • updateNamedRange: aktualizuje zakres nazwany.
  • repeatCell: powtarza pojedynczą komórkę w zakresie.
  • addNamedRange: dodaje zakres nazwany.
  • deleteNamedRange: Usuwa zakres nazwany.
  • addSheet: dodaje arkusz.
  • deleteSheet: usuwa arkusz.
  • autoFill: automatycznie uzupełnia więcej danych na podstawie istniejących informacji.
  • cutPaste: wycina dane z jednego obszaru i wkleja je w innym.
  • copyPaste: kopiuje dane z jednego obszaru i wkleja je w innym.
  • mergeCells: scala komórki.
  • unmergeCells: rozdziela scalone komórki.
  • updateBorders: aktualizuje obramowania w zakresie komórek.
  • updateCells: aktualizuje wiele komórek jednocześnie.
  • addFilterView: dodaje widok przefiltrowany.
  • appendCells: dołącza komórki po ostatnim wierszu z danymi w arkuszu.
  • clearBasicFilter: czyści filtr podstawowy w arkuszu.
  • deleteDimension: Usuwa wiersze lub kolumny w arkuszu.
  • deleteEmbeddedObject: usuwa z arkusza osadzony obiekt (np.wykres lub obraz).
  • deleteFilterView: usuwa widok przefiltrowany z arkusza.
  • duplicateFilterView: Duplikuje widok przefiltrowany.
  • duplicateSheet: duplikuje arkusz.
  • findReplace: znajduje i zastępuje wystąpienia tekstu innym tekstem.
  • insertDimension: wstawia nowe wiersze lub kolumny w arkuszu.
  • insertRange: wstawia nowe komórki w arkuszu, przesuwając istniejące komórki.
  • moveDimension: przenosi wiersze lub kolumny w inne miejsce w arkuszu.
  • updateEmbeddedObjectPosition: aktualizuje pozycję obiektu umieszczonego na stronie (np. wykresu lub obrazu).
  • pasteData: wkleja dane (HTML lub rozdzielone) do arkusza.
  • textToColumns: przekształca kolumnę tekstu w wiele kolumn tekstu.
  • updateFilterView: Aktualizuje właściwości widoku przefiltrowanego.
  • deleteRange: usuwa zakres komórek z arkusza, przesuwając pozostałe komórki.
  • appendDimension: dodaje wymiary na końcu arkusza.
  • addConditionalFormatRule: dodaje nową regułę formatowania warunkowego.
  • updateConditionalFormatRule: aktualizuje istniejącą regułę formatowania warunkowego.
  • deleteConditionalFormatRule: usuwa istniejącą regułę formatowania warunkowego.
  • sortRange: sortuje dane w zakresie.
  • setDataValidation: Ustawia weryfikację danych w co najmniej 1 komórce.
  • setBasicFilter: ustawia filtr podstawowy w arkuszu.
  • addProtectedRange: dodaje zakres chroniony.
  • updateProtectedRange: aktualizuje zakres chroniony.
  • deleteProtectedRange: usuwa zakres chroniony.
  • autoResizeDimensions: automatycznie zmienia rozmiar co najmniej jednego wymiaru na podstawie zawartości komórek w tym wymiarze.
  • addChart: dodaje wykres.
  • updateChartSpec: aktualizuje specyfikacje wykresu.
  • updateBanding: aktualizuje zakres pasmowy.
  • addBanding: dodaje nowy zakres pasmowy.
  • deleteBanding: usuwa zakres z paskami.
  • createDeveloperMetadata: tworzy nowe metadane dewelopera.
  • updateDeveloperMetadata: aktualizuje istniejący wpis metadanych dewelopera.
  • deleteDeveloperMetadata: usuwa metadane dewelopera.
  • randomizeRange: losuje kolejność wierszy w zakresie.
  • addDimensionGroup: tworzy grupę w określonym zakresie.
  • deleteDimensionGroup: usuwa grupę w określonym zakresie.
  • updateDimensionGroup: aktualizuje stan określonej grupy.
  • trimWhitespace: usuwa z komórek białe znaki (takie jak spacje, tabulatory lub nowe wiersze).
  • deleteDuplicates: usuwa wiersze zawierające zduplikowane wartości w określonych kolumnach zakresu komórek.
  • updateEmbeddedObjectBorder: Aktualizuje obramowanie obiektu osadzonego.
  • addSlicer: dodaje fragmentator.
  • updateSlicerSpec: aktualizuje specyfikacje selektora.
  • addDataSource: dodaje źródło danych.
  • updateDataSource: aktualizuje źródło danych.
  • deleteDataSource: usuwa źródło danych.
  • refreshDataSource: odświeża co najmniej 1 źródło danych i powiązane obiekty bazy danych.
  • cancelDataSourceRefresh: anuluje odświeżanie co najmniej 1 źródła danych i powiązanych obiektów bazy danych.
  • addTable: dodaje tabelę.
  • updateTable: aktualizuje tabelę.
  • deleteTable: żądanie usunięcia tabeli.

Poniższy przykład pokazuje, jak za pomocą curl wywołać narzędzie update_spreadsheet MCP.

Żądanie 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
}'
                

Schemat danych wejściowych

UpdateContentRequest

Zapis JSON
{
  "spreadsheetId": string,
  "requests": [
    {
      object
    }
  ]
}
Pola
spreadsheetId

string

Wymagane. Identyfikator arkusza kalkulacyjnego do zaktualizowania.

requests[]

object (Struct format)

Wymagane. Lista aktualizacji do zastosowania w arkuszu kalkulacyjnym. Każde żądanie powinno być prawidłowym obiektem żądania spreadsheets.batchUpdate, korzystającym ze schematu opisanego na stronie: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request. Żądania będą stosowane w kolejności, w jakiej zostały określone. Jeśli którekolwiek żądanie jest nieprawidłowe, żadne żądanie nie zostanie zastosowane.

Struct

Zapis JSON
{
  "fields": {
    string: value,
    ...
  }
}
Pola
fields

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

Nieuporządkowana mapa wartości o typie dynamicznym.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

Zapis JSON
{
  "key": string,
  "value": value
}
Pola
key

string

value

value (Value format)

Wartość

Zapis JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Pola
Pole zbiorcze kind. Rodzaj wartości. kind może mieć tylko jedną z tych wartości:
nullValue

null

Reprezentuje null JSON.

numberValue

number

Reprezentuje liczbę JSON. Nie może to być NaN, Infinity ani -Infinity, ponieważ te wartości nie są obsługiwane w formacie JSON. Nie może też reprezentować dużych wartości Int64, ponieważ format JSON zwykle nie obsługuje ich w swoim typie liczbowym.

stringValue

string

Reprezentuje ciąg JSON.

boolValue

boolean

Reprezentuje wartość logiczną JSON (literał true lub false w formacie JSON).

structValue

object (Struct format)

Reprezentuje obiekt JSON.

listValue

array (ListValue format)

Reprezentuje tablicę JSON.

ListValue

Zapis JSON
{
  "values": [
    value
  ]
}
Pola
values[]

value (Value format)

Pole powtarzane wartości o dynamicznym typie.

NullValue

Reprezentuje null JSON.

NullValue to wartość strażnicza, która za pomocą wyliczenia z tylko jedną wartością reprezentuje wartość null dla unii typów Value.

Pole typu NullValue z wartością inną niż 0 jest uznawane za nieprawidłowe. Większość serializatorów ProtoJSON będzie emitować wartość Value z wartością null_value ustawioną jako JSON null niezależnie od wartości całkowitej, a więc będzie zaokrąglać do wartości 0.

Wartości w polu enum
NULL_VALUE Wartość null.

Schemat wyjściowy

Reprezentuje obiekt JSON.

Nieuporządkowana mapa klucz-wartość, która ma w pełni odzwierciedlać semantykę obiektu JSON. Umożliwia to analizowanie dowolnego ładunku JSON jako pola wiadomości w formacie ProtoJSON.

Jest to zgodne z wytycznymi RFC 8259 dotyczącymi interoperacyjnego formatu JSON: ten typ nie może reprezentować dużych wartości Int64 ani liczb NaN/Infinity, ponieważ format JSON nie obsługuje tych wartości w swoim typie liczbowym.

Jeśli nie zamierzasz analizować dowolnego kodu JSON w wiadomości, zamiast tego typu wiadomości lepiej użyć niestandardowej wiadomości z określonym typem.

Struct

Zapis JSON
{
  "fields": {
    string: value,
    ...
  }
}
Pola
fields

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

Nieuporządkowana mapa wartości o typie dynamicznym.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

Zapis JSON
{
  "key": string,
  "value": value
}
Pola
key

string

value

value (Value format)

Wartość

Zapis JSON
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
Pola
Pole zbiorcze kind. Rodzaj wartości. kind może mieć tylko jedną z tych wartości:
nullValue

null

Reprezentuje null JSON.

numberValue

number

Reprezentuje liczbę JSON. Nie może to być NaN, Infinity ani -Infinity, ponieważ te wartości nie są obsługiwane w formacie JSON. Nie może też reprezentować dużych wartości Int64, ponieważ format JSON zwykle nie obsługuje ich w swoim typie liczbowym.

stringValue

string

Reprezentuje ciąg JSON.

boolValue

boolean

Reprezentuje wartość logiczną JSON (literał true lub false w formacie JSON).

structValue

object (Struct format)

Reprezentuje obiekt JSON.

listValue

array (ListValue format)

Reprezentuje tablicę JSON.

ListValue

Zapis JSON
{
  "values": [
    value
  ]
}
Pola
values[]

value (Value format)

Pole powtarzane wartości o dynamicznym typie.

NullValue

Reprezentuje null JSON.

NullValue to wartość strażnicza, która za pomocą wyliczenia z tylko jedną wartością reprezentuje wartość null dla unii typów Value.

Pole typu NullValue z wartością inną niż 0 jest uznawane za nieprawidłowe. Większość serializatorów ProtoJSON będzie emitować wartość Value z wartością null_value ustawioną jako JSON null niezależnie od wartości całkowitej, a więc będzie zaokrąglać do wartości 0.

Wartości w polu enum
NULL_VALUE Wartość null.

Adnotacje do narzędzi

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ✅