Tool: search_entries
Searches for data assets (eg. table/dataset/view) in Catalog based on the provided search query.
The following sample demonstrate how to use curl to invoke the search_entries MCP tool.
| Curl Request |
|---|
curl --location 'https://dataplex.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "search_entries", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for Knowledge Catalog SearchEntries method.
SearchEntriesRequest
| JSON representation |
|---|
{ "projectId": string, "query": string, "pageSize": integer, "orderBy": string, "scope": string } |
| Fields | |
|---|---|
projectId |
Required. The project to which the request should be attributed. To execute the search, the caller must have the |
query |
Optional. A query string for searching entries, following Dataplex search syntax. Supports logical operators (AND, OR, NOT) and grouping. For example, to find a table that might have been renamed, you could use 'type:table (name:books OR fiction)'. This can be more efficient than multiple separate calls. Warning: Performing broad searches without specific filters (e.g., type:table) can be slow and consume significant resources. When performing exploratory searches, always use the pageSize parameter to limit the number of results returned. |
pageSize |
Optional. Number of results in the search page. If <=0, then defaults to 10. Max limit for page_size is 1000. Throws an invalid argument for page_size > 1000. |
orderBy |
Optional. Specifies the ordering of results. Supported values are:
|
scope |
Optional. A scope limits the search space to a particular project or organization. It must be in the format: |
Output Schema
Response message for Knowledge Catalog SearchEntries method.
SearchEntriesResponse
| JSON representation |
|---|
{
"results": [
{
object ( |
| Fields | |
|---|---|
results[] |
The list of entries that match the search query. |
SearchEntriesResult
| JSON representation |
|---|
{
"dataplexEntry": {
object ( |
| Fields | |
|---|---|
dataplexEntry |
The entry that matches the search query. |
Entry
| JSON representation |
|---|
{ "name": string, "entryType": string, "createTime": string, "updateTime": string, "aspects": { string: { object ( |
| Fields | |
|---|---|
name |
Identifier. The relative resource name of the entry, in the format |
entryType |
Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format |
createTime |
Output only. The time when the entry was created in Dataplex Universal Catalog. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The time when the entry was last updated in Dataplex Universal Catalog. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
aspects |
Optional. The aspects that are attached to the entry. Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following:
An object containing a list of |
parentEntry |
Optional. Immutable. The resource name of the parent entry, in the format |
fullyQualifiedName |
Optional. A name for the entry that can be referenced by an external system. For more information, see Fully qualified names. The maximum size of the field is 4000 characters. |
entrySource |
Optional. Information related to the source system of the data resource that is represented by the entry. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
AspectsEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
Aspect
| JSON representation |
|---|
{
"aspectType": string,
"path": string,
"createTime": string,
"updateTime": string,
"data": {
object
},
"aspectSource": {
object ( |
| Fields | |
|---|---|
aspectType |
Output only. The resource name of the type used to create this Aspect. |
path |
Output only. The path in the entry under which the aspect is attached. |
createTime |
Output only. The time when the Aspect was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The time when the Aspect was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
data |
Required. The content of the aspect, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8). |
aspectSource |
Optional. Information related to the source system of the aspect. |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a JSON |
numberValue |
Represents a JSON number. Must not be |
stringValue |
Represents a JSON string. |
boolValue |
Represents a JSON boolean ( |
structValue |
Represents a JSON object. |
listValue |
Represents a JSON array. |
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
AspectSource
| JSON representation |
|---|
{ "createTime": string, "updateTime": string, "dataVersion": string } |
| Fields | |
|---|---|
createTime |
The time the aspect was created in the source system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
The time the aspect was last updated in the source system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
dataVersion |
The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc). |
EntrySource
| JSON representation |
|---|
{
"resource": string,
"system": string,
"platform": string,
"displayName": string,
"description": string,
"labels": {
string: string,
...
},
"ancestors": [
{
object ( |
| Fields | |
|---|---|
resource |
The name of the resource in the source system. Maximum length is 4,000 characters. |
system |
The name of the source system. Maximum length is 64 characters. |
platform |
The platform containing the source system. Maximum length is 64 characters. |
displayName |
A user-friendly display name. Maximum length is 500 characters. |
description |
A description of the data resource. Maximum length is 2,000 characters. |
labels |
User-defined labels. The maximum size of keys and values is 128 characters each. An object containing a list of |
ancestors[] |
Immutable. The entries representing the ancestors of the data resource in the source system. |
createTime |
The time when the resource was created in the source system. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
The time when the resource was last updated in the source system. If the entry exists in the system and its Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
location |
Output only. Location of the resource in the source system. You can search the entry by this location. By default, this should match the location of the entry group containing this entry. A different value allows capturing the source location for data external to Google Cloud. |
LabelsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Ancestor
| JSON representation |
|---|
{ "name": string, "type": string } |
| Fields | |
|---|---|
name |
Optional. The name of the ancestor resource. |
type |
Optional. The type of the ancestor resource. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌