MCP Tools Reference: sheetsmcp.googleapis.com

Narzędzie: update_values

Ustawia wartości w zakresie arkusza kalkulacyjnego.

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

Schemat: - spreadsheet_id (ciąg znaków, wymagany): identyfikator arkusza kalkulacyjnego, który ma zostać zaktualizowany. - range (ciąg tekstowy, wymagany): notacja A1 wartości do zaktualizowania (np. "Sheet1!A1:B2"). - values (tablica tablic, wymagana): tablica dwuwymiarowa wartości komórek. Obsługiwane typy wartości to: wartość logiczna, ciąg znaków i liczba (zmiennoprzecinkowa/całkowita).

Poniższy przykładowy kod pokazuje, jak używać curl do wywoływania narzędzia MCP update_values.

Żądanie 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_values",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schemat wejściowy

UpdateValuesRequest

Zapis JSON
{
  "spreadsheetId": string,
  "range": string,
  "values": [
    array
  ]
}
Pola
spreadsheetId

string

Wymagane. Identyfikator arkusza kalkulacyjnego, który chcesz zaktualizować.

range

string

Wymagane. Notacja A1 wartości do zaktualizowania.

values[]

array (ListValue format)

Wymagane. Dane, które zostały odczytane lub mają zostać zapisane. Jest to tablica tablic, w której tablica zewnętrzna reprezentuje wszystkie dane, a każda tablica wewnętrzna reprezentuje wiersz. Każdy element w tablicy wewnętrznej odpowiada jednej komórce. Obsługiwane typy wartości to: bool, string i double. Wartości null zostaną pominięte. Aby ustawić komórkę na pustą wartość, ustaw wartość ciągu na pusty ciąg.

ListValue

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

value (Value format)

Pole powtarzane wartości wpisywanych dynamicznie.

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 obiekt JSON null.

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 JSON).

structValue

object (Struct format)

Reprezentuje obiekt JSON.

listValue

array (ListValue format)

Reprezentuje tablicę JSON.

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)

NullValue

Reprezentuje obiekt JSON null.

NullValue to wartownik, który używa typu wyliczeniowego z tylko jedną wartością do reprezentowania wartości null dla unii typu Value.

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

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

Schemat wyjściowy

UpdateValuesResponse

Zapis JSON
{
  "content": {
    object
  }
}
Pola
content

object (Struct format)

Odpowiedź spreadsheets.values.update w formacie JSON interfejsu Sheets API oraz pole status.

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 obiekt JSON null.

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 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 wpisywanych dynamicznie.

NullValue

Reprezentuje obiekt JSON null.

NullValue to wartownik, który używa typu wyliczeniowego z tylko jedną wartością do reprezentowania wartości null dla unii typu Value.

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

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

Adnotacje dotyczące narzędzi

Adnotacje narzędzi są wysyłane do klientów MCP, aby opisać podstawowe ryzyko związane z danym narzędziem. Większość klientów traktuje te wskazówki jako niezaufane, ale można ich użyć do określenia, kiedy wysłać użytkownikowi prośbę o potwierdzenie.

Oprócz ciągu tytułu zdefiniowane są te wskazówki logiczne:

  • readOnlyHint: jeśli ma wartość „true”, narzędzie nie modyfikuje swojego środowiska. Wartość domyślna: false.
  • destructiveHint: jeśli ma wartość „true”, narzędzie może wykonywać działania destrukcyjne. Jeśli ma wartość false, narzędzie może wykonywać tylko działania dodawania. Wartość domyślna: true.
  • idempotentHint: jeśli ma wartość „true”, wielokrotne wywoływanie narzędzia z tymi samymi argumentami nie będzie miało dodatkowego wpływu na jego środowisko. Wartość domyślna: false.
  • openWorldHint: jeśli ma wartość true, narzędzie może wchodzić w interakcje z „otwartym światem” elementów zewnętrznych. Jeśli ma wartość false, narzędzie może wchodzić w interakcje tylko z elementami wewnętrznymi. Na przykład narzędzie do wyszukiwania w internecie jest narzędziem typu Otwarty świat, ale narzędzie do zapamiętywania już nie.

Wskazówka dotycząca destrukcyjności: ❌ | Wskazówka dotycząca idempotencji: ❌ | Wskazówka dotycząca tylko do odczytu: ❌ | Wskazówka dotycząca otwartego świata: ✅

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets