MCP Tools Reference: dataplex.googleapis.com

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

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 (SearchEntriesResult)
    }
  ]
}
Fields
results[]

object (SearchEntriesResult)

The list of entries that match the search query.

SearchEntriesResult

JSON representation
{
  "dataplexEntry": {
    object (Entry)
  }
}
Fields
dataplexEntry

object (Entry)

The entry that matches the search query.

Entry

JSON representation
{
  "name": string,
  "entryType": string,
  "createTime": string,
  "updateTime": string,
  "aspects": {
    string: {
      object (Aspect)
    },
    ...
  },
  "parentEntry": string,
  "fullyQualifiedName": string,
  "entrySource": {
    object (EntrySource)
  }
}
Fields
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

string (int64 format)

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

integer

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 (Aspect)
  }
}
Fields
key

string

value

object (Aspect)

Aspect

JSON representation
{
  "aspectType": string,
  "path": string,
  "createTime": string,
  "updateTime": string,
  "data": {
    object
  },
  "aspectSource": {
    object (AspectSource)
  }
}
Fields
aspectType

string

Output only. The resource name of the type used to create this Aspect.

path

string

Output only. The path in the entry under which the aspect is attached.

createTime

string (Timestamp format)

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: "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 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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

data

object (Struct format)

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

object (AspectSource)

Optional. Information related to the source system of the aspect.

Struct

JSON representation
{
  "fields": {
    string: value,
    ...
  }
}
Fields
fields

map (key: string, value: value (Value format))

Unordered map of dynamically typed values.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON representation
{
  "key": string,
  "value": value
}
Fields
key

string

value

value (Value format)

Value

JSON representation
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Fields
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[]

value (Value format)

Repeated field of dynamically typed values.

AspectSource

JSON representation
{
  "createTime": string,
  "updateTime": string,
  "dataVersion": string
}
Fields
createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

dataVersion

string

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 (Ancestor)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "location": string
}
Fields
resource

string

The name of the resource in the source system. Maximum length is 4,000 characters.

system

string

The name of the source system. Maximum length is 64 characters.

platform

string

The platform containing the source system. Maximum length is 64 characters.

displayName

string

A user-friendly display name. Maximum length is 500 characters.

description

string

A description of the data resource. Maximum length is 2,000 characters.

labels

map (key: string, value: string)

User-defined labels. The maximum size of keys and values is 128 characters each.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ancestors[]

object (Ancestor)

Immutable. The entries representing the ancestors of the data resource in the source system.

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

The time when the resource was last updated in the source system. If the entry exists in the system and its EntrySource has update_time populated, further updates to the EntrySource of the entry must provide incremental updates to its update_time.

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".

location

string

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

string

value

string

Ancestor

JSON representation
{
  "name": string,
  "type": string
}
Fields
name

string

Optional. The name of the ancestor resource.

type

string

Optional. The type of the ancestor resource.

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌