工具:mark_as_read
将 Google Chat 对话和消息串标记为已读(针对调用用户)。
系统会将调用用户的读取状态更新为相应对话和/或线程中最新消息的时间。
前提条件:
conversationIds(格式:spaces/{space})和threadIds(格式:spaces/{space}/threads/{thread})中至少有一个不得为空。- 每次调用最多支持批量更新 10 个对话 ID 和 10 个线程 ID。
部分失败模型:
- 该请求会单独处理每个对话/线程,并且不会以原子方式失败。
- 响应包含
failedConversationReadStates和failedThreadReadStates映射,其中映射键是请求中失败项的从 0 开始的索引,值是错误状态。 - 如果失败映射为空,则表示所有请求的对话/消息串都已成功标记为已读。
以下代码示例展示了如何使用 curl 调用 mark_as_read 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_read", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
MarkAsReadRequest
| JSON 表示法 |
|---|
{ "conversationIds": [ string ], "threadIds": [ string ] } |
| 字段 | |
|---|---|
conversationIds[] |
可选。要更新调用用户的读取状态的对话 ID 列表。必须至少提供 |
threadIds[] |
可选。要更新调用用户的读取状态的线程 ID 列表。必须至少提供 |
输出架构
MarkAsReadResponse
| JSON 表示法 |
|---|
{ "failedConversationReadStates": { integer: { object ( |
| 字段 | |
|---|---|
failedConversationReadStates |
失败的对话读取状态列表。键是请求中对话的索引,值是错误状态。失败的对话读取状态的映射。键是 包含一系列 |
failedThreadReadStates |
失败的线程读取状态的映射。键是 包含一系列 |
FailedConversationReadStatesEntry
| JSON 表示法 |
|---|
{
"key": integer,
"value": {
object ( |
| 字段 | |
|---|---|
key |
|
value |
|
状态
| JSON 表示法 |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
code |
状态代码,应为 |
message |
面向开发者的错误消息(应采用英语)。任何向用户显示的错误消息都应进行本地化并通过 |
details[] |
包含错误详细信息的消息列表。有一组通用的消息类型可供 API 使用。 可以包含任意类型字段的对象。附加字段 |
不限
| JSON 表示法 |
|---|
{ "typeUrl": string, "value": string } |
| 字段 | |
|---|---|
typeUrl |
通过 URI 引用(由以斜杠结尾的前缀和完全限定的类型名称组成)标识序列化 Protobuf 消息的类型。 示例:type.googleapis.com/google.protobuf.StringValue 此字符串必须包含至少一个 前缀是任意的,Protobuf 实现应仅剥离最后一个 所有类型网址字符串都必须是合法的 URI 引用,并且(对于文本格式)还必须满足以下额外限制:引用的内容只能包含字母数字字符、百分号编码的转义字符以及以下集合中的字符(不包括外侧的反引号): 在 |
value |
包含由 type_url 描述的类型的 Protobuf 序列化。 使用 base64 编码的字符串。 |
FailedThreadReadStatesEntry
| JSON 表示法 |
|---|
{
"key": integer,
"value": {
object ( |
| 字段 | |
|---|---|
key |
|
value |
|
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”互动。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。
破坏性提示:✅ | 等幂性提示:✅ | 只读提示:❌ | 开放世界提示:❌
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/chat.users.readstate