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 } |
projectId
string
Required. The project to which the request should be attributed. To execute the search, the caller must have the dataplex.projects.search
permission on the project field.
query
string
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
integer
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
string
Optional. Specifies the ordering of results. Supported values are:
-
relevance -
last_modified_timestamp -
last_modified_timestamp asc
scope
string
Optional. A scope limits the search space to a particular project or organization. It must be in the format: organizations/<org_id>
or projects/<project_id>
or projects/<project_number>
.
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 ( |
name
string
Identifier. The relative resource name of the entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
.
entryType
string
Required. Immutable. The relative resource name of the entry type that was used to create this entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryTypes/{entry_type_id}
.
createTime
string (
Timestamp
format)
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: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
updateTime
string (
Timestamp
format)
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: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
aspects
map (key: string, value: object (
Aspect
))
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:
- If the aspect is attached directly to the entry:
{project_id_or_number}.{location_id}.{aspect_type_id} - If the aspect is attached to an entry's path:
{project_id_or_number}.{location_id}.{aspect_type_id}@{path}
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
parentEntry
string
Optional. Immutable. The resource name of the parent entry, in the format projects/{project_id_or_number}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}
.
fullyQualifiedName
string
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
object (
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 |
kind
. The kind of value. kind
can be only one of the following:nullValue
null
Represents a JSON null
.
numberValue
number
Represents a JSON number. Must not be NaN
, Infinity
or -Infinity
, since those are not supported in JSON. This also cannot represent large Int64 values, since JSON format generally does not support them in its number type.
stringValue
string
Represents a JSON string.
boolValue
boolean
Represents a JSON boolean ( true
or false
literal in JSON).
structValue
object (
Struct
format)
Represents a JSON object.
listValue
array (
ListValue
format)
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: ❌

