MCP Tools Reference: sheetsmcp.googleapis.com

工具:update_spreadsheet

对电子表格应用一项或多项更新。

对应于 REST API 中的 spreadsheets.batchUpdate:https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/batchUpdate

可能的更新列表如下:

  • updateSpreadsheetProperties:更新电子表格的属性。
  • updateSheetProperties:更新工作表的属性。
  • updateDimensionProperties:更新维度的属性。
  • updateNamedRange:更新命名的范围。
  • repeatCell:在某个范围内重复单个单元格。
  • addNamedRange:添加命名的范围。
  • deleteNamedRange:删除指定范围。
  • addSheet:添加工作表。
  • deleteSheet:删除工作表。
  • autoFill:根据现有数据自动填充更多数据。
  • cutPaste:剪切某个区域的数据并将其粘贴到另一个区域。
  • copyPaste:将数据从一个区域复制到另一个区域。
  • mergeCells:将单元格合并在一起。
  • unmergeCells:取消合并已合并的单元格。
  • updateBorders:更新某个单元格范围内的边框。
  • updateCells:一次更新多个单元格。
  • addFilterView:添加过滤视图。
  • appendCells:将单元格附加到工作表中包含数据的最后一行的后面。
  • clearBasicFilter:清除工作表上的基本过滤条件。
  • deleteDimension:删除工作表中的行或列。
  • deleteEmbeddedObject:删除工作表中的嵌入式对象(例如图表、图片)。
  • deleteFilterView:从工作表中删除过滤视图。
  • duplicateFilterView:复制过滤视图。
  • duplicateSheet:复制工作表。
  • findReplace:查找并替换某些文本。
  • insertDimension:在工作表中插入新行或新列。
  • insertRange:在工作表中插入新单元格,并移动现有单元格。
  • moveDimension:将行或列移到工作表中的其他位置。
  • updateEmbeddedObjectPosition:更新嵌入式对象(例如图表、图片)的位置。
  • pasteData:将数据(HTML 或分隔数据)粘贴到工作表中。
  • textToColumns:将文本列转换为多个文本列。
  • updateFilterView:更新过滤视图的属性。
  • deleteRange:从工作表中删除某个范围的单元格,并移动剩余的单元格。
  • appendDimension:将维度附加到工作表的末尾。
  • addConditionalFormatRule:添加新的条件格式规则。
  • updateConditionalFormatRule:更新现有的条件格式规则。
  • deleteConditionalFormatRule:删除现有的条件格式规则。
  • sortRange:对某个范围中的数据进行排序。
  • setDataValidation:为一个或多个单元格设置数据验证。
  • setBasicFilter:在工作表上设置基本过滤条件。
  • addProtectedRange:添加受保护的范围。
  • updateProtectedRange:更新受保护的范围。
  • deleteProtectedRange:删除受保护的范围。
  • autoResizeDimensions:根据相应维度中单元格的内容自动调整一个或多个维度的大小。
  • addChart:添加图表。
  • updateChartSpec:更新图表的规范。
  • updateBanding:更新分段范围
  • addBanding:添加新的分级范围
  • deleteBanding:移除分段范围
  • createDeveloperMetadata:创建新的开发者元数据
  • updateDeveloperMetadata:更新现有的开发者元数据条目
  • deleteDeveloperMetadata:删除开发者元数据
  • randomizeRange:随机化某个范围内各行的顺序。
  • addDimensionGroup:在指定范围内创建群组。
  • deleteDimensionGroup:删除指定范围内的群组。
  • updateDimensionGroup:更新指定群组的状态。
  • trimWhitespace:去除单元格中的空格(例如空格、制表符或换行符)。
  • deleteDuplicates:移除单元格范围的指定列中包含重复值的行。
  • updateEmbeddedObjectBorder:更新嵌入式对象的边框。
  • addSlicer:添加切片器。
  • updateSlicerSpec:更新切片器的规范。
  • addDataSource:添加数据源。
  • updateDataSource:更新数据源。
  • deleteDataSource:删除数据源。
  • refreshDataSource:刷新一个或多个数据源及关联的数据库对象。
  • cancelDataSourceRefresh:取消一个或多个数据源及关联的 dbobject 的刷新。
  • addTable:添加表格。
  • updateTable:更新表格。
  • deleteTable:用于删除表的请求。

以下示例演示了如何使用 curl 调用 update_spreadsheet MCP 工具。

Curl 请求
curl --location 'https://sheetsmcp.googleapis.com/mcp' \
--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 tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

输入架构

UpdateContentRequest

JSON 表示法
{
  "spreadsheetId": string,
  "requests": [
    {
      object
    }
  ]
}
字段
spreadsheetId

string

必需。要更新的电子表格的 ID。

requests[]

object (Struct format)

必需。要应用于电子表格的更新列表。每个请求都应是一个有效的 spreadsheets.batchUpdate 请求对象,使用文档中记录的架构:https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request。系统将按指定顺序应用请求。如果任何请求无效,则不会应用任何请求。

结构体

JSON 表示法
{
  "fields": {
    string: value,
    ...
  }
}
字段
fields

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

无序的动态类型值映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

FieldsEntry

JSON 表示法
{
  "key": string,
  "value": value
}
字段
key

string

value

value (Value format)

值

JSON 表示法
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
字段
联合字段 kind。值的类型。kind 只能是下列其中一项:
nullValue

null

表示 JSON null。

numberValue

number

表示 JSON 数值。不得为 NaN、Infinity 或 -Infinity,因为 JSON 不支持这些值。由于 JSON 格式通常不支持其数字类型中的大型 Int64 值,因此这种格式也无法表示大型 Int64 值。

stringValue

string

表示 JSON 字符串。

boolValue

boolean

表示 JSON 布尔值(JSON 中的 true 或 false 字面量)。

structValue

object (Struct format)

表示 JSON 对象。

listValue

array (ListValue format)

表示 JSON 数组。

ListValue

JSON 表示法
{
  "values": [
    value
  ]
}
字段
values[]

value (Value format)

动态类型值的重复字段。

NullValue

表示 JSON null。

NullValue 是一个标记,使用仅包含一个值的枚举来表示 Value 类型联合的 null 值。

如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此都会往返于 0 值。

枚举
NULL_VALUE Null 值。

输出架构

表示 JSON 对象。

一个无序的键值对映射,旨在完美捕获 JSON 对象的语义。这样一来,便可将任何任意 JSON 载荷解析为 ProtoJSON 格式的消息字段。

这遵循了 RFC 8259 中有关可互操作 JSON 的准则:值得注意的是,此类型无法表示较大的 Int64 值或 NaN/Infinity 数,因为 JSON 格式通常不支持其数字类型中的这些值。

如果您不打算将任意 JSON 解析到消息中,则应首选自定义类型的消息,而不是使用此类型。

结构体

JSON 表示法
{
  "fields": {
    string: value,
    ...
  }
}
字段
fields

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

无序的动态类型值映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

FieldsEntry

JSON 表示法
{
  "key": string,
  "value": value
}
字段
key

string

value

value (Value format)

值

JSON 表示法
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
字段
联合字段 kind。值的类型。kind 只能是下列其中一项:
nullValue

null

表示 JSON null。

numberValue

number

表示 JSON 数值。不得为 NaN、Infinity 或 -Infinity,因为 JSON 不支持这些值。由于 JSON 格式通常不支持其数字类型中的大型 Int64 值,因此这种格式也无法表示大型 Int64 值。

stringValue

string

表示 JSON 字符串。

boolValue

boolean

表示 JSON 布尔值(JSON 中的 true 或 false 字面量)。

structValue

object (Struct format)

表示 JSON 对象。

listValue

array (ListValue format)

表示 JSON 数组。

ListValue

JSON 表示法
{
  "values": [
    value
  ]
}
字段
values[]

value (Value format)

动态类型值的重复字段。

NullValue

表示 JSON null。

NullValue 是一个标记,使用仅包含一个值的枚举来表示 Value 类型联合的 null 值。

如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此都会往返于 0 值。

枚举
NULL_VALUE Null 值。

工具注释

破坏性提示:❌ | 幂等性提示:❌ | 只读提示:❌ | 开放世界提示:✅

授权范围

需要以下 OAuth 范围之一:

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