MCP Tools Reference: chatmcp.googleapis.com

工具:mark_as_unread

将 Google Chat 对话或消息串标记为未读(针对调用用户)。

前提条件:

  • 必须提供 conversationId(格式:spaces/{space})或 threadId(格式:spaces/{space}/threads/{thread}),但只能提供其中一个。
  • 必需:一个 ISO 8601 时间戳,用于将对话或会话串标记为未读。lastReadTime

行为:

  • 如果 lastReadTime 早于调用用户的当前读取状态时间戳,则读取状态会更新为该时间戳(将后续消息标记为未读)。
  • 如果 lastReadTime 处于当前读取状态或之后,则该请求为空操作,并成功返回,而不会修改读取状态。
  • mark_as_read(支持对 ID 列表进行批量操作)不同,mark_as_unread 针对单个对话或会话进行操作,并在成功时返回空响应。

以下代码示例展示了如何使用 curl 调用 mark_as_unread MCP 工具。

Curl 请求
curl --location 'https://chatmcp.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": "mark_as_unread",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

MarkAsUnreadRequest

JSON 表示法
{
  "lastReadTime": string,

  "conversationId": string,
  "threadId": string
}
字段
lastReadTime

string (Timestamp format)

必需。将对话或消息串标记为未读的时间戳。如果时间戳早于调用用户的当前读取状态时间戳,则读取状态会更新为该时间戳。否则,该请求将不执行任何操作,并返回成功响应,而不修改读取状态。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不进行“Z”归一化处理的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 id。必须提供 conversation_idthread_id 中的一个。id 只能是下列其中一项:
conversationId

string

要标记为未读的对话的 ID。格式:spaces/{space}

threadId

string

要标记为未读的消息串 ID。格式:spaces/{space}/threads/{thread}

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

输出架构

工具注释

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

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

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

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

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/chat.users.readstate