MCP Tools Reference: sheetsmcp.googleapis.com

工具:insert_dimension

在工作表中指定索引处插入行或列。

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

架构:- spreadsheet_id(字符串,必需):要更新的电子表格的 ID。- sheet_id(整数,必需):要插入的工作表的 ID。- dimension(字符串,必需):"ROWS" 或 "COLUMNS"。- start_index(整数,必需):插入的起始索引(从 0 开始,含该索引)。- end_index(整数,必需):插入的结束索引(从 0 开始,不含该索引)。- inherit_from_before(布尔值,可选):维度属性应从之前 (true) 还是之后 (false) 的维度进行扩展。

以下代码示例展示了如何使用 curl 调用 insert_dimension 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": "insert_dimension",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

InsertDimensionRequest

JSON 表示法
{
  "spreadsheetId": string,
  "sheetId": integer,
  "dimension": enum (Dimension),
  "startIndex": integer,
  "endIndex": integer,
  "inheritFromBefore": boolean
}
字段
spreadsheetId

string

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

sheetId

integer

必需。要插入的工作表的 ID。

dimension

enum (Dimension)

必需。要插入的维度。

startIndex

integer

必需。插入位置的起始索引(从 0 开始,含边界值)。

endIndex

integer

必需。插入的结束索引(从 0 开始,不含)。

inheritFromBefore

boolean

维度属性是否应从新插入维度之前或之后的维度进行扩展。如果为 true,则从之前的维度继承(在这种情况下,起始索引必须大于 0);如果为 false,则从之后的维度继承。

维度

指明操作应应用于哪个维度。

枚举
DIMENSION_UNSPECIFIED 默认值,请勿使用。
COLUMNS 对工作表的列进行操作。
ROWS 对工作表的行进行操作。

输出架构

表示 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 值,因此该格式也无法表示这些值。

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 值。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界,而内存工具不是开放世界。

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

授权范围

需要以下 OAuth 范围之一:

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