工具:query_data_objects
使用过滤条件查询集合中的数据对象。
以下代码示例展示了如何使用 curl 调用 query_data_objects MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://vectorsearch.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "query_data_objects", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
DataObjectSearchService.QueryDataObjects 的请求消息。
QueryDataObjectsRequest
| JSON 表示法 |
|---|
{
"parent": string,
"filter": {
object
},
"outputFields": {
object ( |
| 字段 | |
|---|---|
parent |
必需。要查询的集合的资源名称。格式: |
filter |
可选。JSON 过滤表达式,例如 空过滤条件 ( 逻辑运算符最多可以嵌套 2 层,例如 |
outputFields |
可选。用于指定要返回哪些字段的掩码。 |
pageSize |
可选。标准列表页面大小。默认值为 100。最大值为 1,000;大于 1,000 的值将被强制转换为 1,000。 |
pageToken |
可选。标准列表页面令牌。 通常通过上一个 |
结构体
| JSON 表示法 |
|---|
{ "fields": { string: value, ... } } |
| 字段 | |
|---|---|
fields |
动态类型值的无序映射。 包含一系列 |
FieldsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": value } |
| 字段 | |
|---|---|
key |
|
value |
|
值
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 kind。值的类型。kind 只能是下列其中一项: |
|
nullValue |
表示 JSON |
numberValue |
表示 JSON 数值。不得为 |
stringValue |
表示 JSON 字符串。 |
boolValue |
表示 JSON 布尔值(JSON 中的 |
structValue |
表示一个 JSON 对象。 |
listValue |
表示 JSON 数组。 |
ListValue
| JSON 表示法 |
|---|
{ "values": [ value ] } |
| 字段 | |
|---|---|
values[] |
动态类型值的重复字段。 |
OutputFields
| JSON 表示法 |
|---|
{ "dataFields": [ string ], "vectorFields": [ string ], "metadataFields": [ string ] } |
| 字段 | |
|---|---|
dataFields[] |
可选。要包含在输出中的数据字段。使用 |
vectorFields[] |
可选。要包含在输出中的向量字段中的字段。使用 |
metadataFields[] |
可选。要包含在输出中的 DataObject 元数据字段: |
NullValue
表示 JSON null。
NullValue 是一个哨兵,使用仅有一个值的枚举来表示 Value 类型联合的 null 值。
如果 NullValue 类型的字段具有 0 以外的任何值,则会被视为无效。大多数 ProtoJSON 序列化器都会发出一个 Value,其中 null_value 设置为 JSON null,而不管整数值如何,因此会往返于 0 值。
| 枚举 | |
|---|---|
NULL_VALUE |
Null 值。 |
输出架构
DataObjectSearchService.QueryDataObjects 的响应消息。
QueryDataObjectsResponse
| JSON 表示法 |
|---|
{
"dataObjects": [
{
object ( |
| 字段 | |
|---|---|
dataObjects[] |
仅限输出。与查询匹配的 dataObject 列表。 |
nextPageToken |
仅限输出。用于检索下一页结果的令牌。 传递给 |
DataObject
| JSON 表示法 |
|---|
{
"name": string,
"dataObjectId": string,
"createTime": string,
"updateTime": string,
"data": {
object
},
"vectors": {
string: {
object ( |
| 字段 | |
|---|---|
name |
标识符。dataObject 的完全限定资源名称。 格式: |
dataObjectId |
仅限输出。dataObject 的 ID。 |
createTime |
仅限输出。dataObject 的创建时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。上次更新 dataObject 时的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
data |
可选。dataObject 的数据。 |
vectors |
可选。dataObject 的向量。 包含一系列 |
etag |
可选。dataObject 的 etag。 |
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代字段。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
结构体
| JSON 表示法 |
|---|
{ "fields": { string: value, ... } } |
| 字段 | |
|---|---|
fields |
动态类型值的无序映射。 包含一系列 |
FieldsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": value } |
| 字段 | |
|---|---|
key |
|
value |
|
值
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 kind。值的类型。kind 只能是下列其中一项: |
|
nullValue |
表示 JSON |
numberValue |
表示 JSON 数值。不得为 |
stringValue |
表示 JSON 字符串。 |
boolValue |
表示 JSON 布尔值(JSON 中的 |
structValue |
表示一个 JSON 对象。 |
listValue |
表示 JSON 数组。 |
ListValue
| JSON 表示法 |
|---|
{ "values": [ value ] } |
| 字段 | |
|---|---|
values[] |
动态类型值的重复字段。 |
VectorsEntry
| JSON 表示法 |
|---|
{
"key": string,
"value": {
object ( |
| 字段 | |
|---|---|
key |
|
value |
|
向量
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 vector_type。向量的类型。vector_type 只能是下列其中一项: |
|
dense |
密集向量。 |
sparse |
稀疏向量。 |
DenseVector
| JSON 表示法 |
|---|
{ "values": [ number ] } |
| 字段 | |
|---|---|
values[] |
必需。向量的值。 |
SparseVector
| JSON 表示法 |
|---|
{ "values": [ number ], "indices": [ integer ] } |
| 字段 | |
|---|---|
values[] |
必需。向量的值。 |
indices[] |
必需。值的对应索引。 |
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,则该工具只能与内部实体交互。例如,网页搜索工具是开放世界,而记忆工具不是开放世界。
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌