Google Cloud Data Catalog · Capability
Google Cloud Data Catalog API
The Data Catalog API provides a unified view of all data assets and enables metadata management, data discovery, and data governance across an organization. It allows programmatic creation and management of entries, tag templates, and policy tags.
What You Can Do
POST
Searchcatalog
— Google Cloud Data Catalog Search Data Catalog
/catalog:search
GET
Listentrygroups
— Google Cloud Data Catalog List entry groups
/projects/{projectId}/locations/{location}/entryGroups
POST
Createentrygroup
— Google Cloud Data Catalog Create an entry group
/projects/{projectId}/locations/{location}/entryGroups
GET
Listentries
— Google Cloud Data Catalog List entries
/projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries
POST
Createentry
— Google Cloud Data Catalog Create an entry
/projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries
GET
Getentry
— Google Cloud Data Catalog Get an entry
/projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
PATCH
Updateentry
— Google Cloud Data Catalog Update an entry
/projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
DELETE
Deleteentry
— Google Cloud Data Catalog Delete an entry
/projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
POST
Createtagtemplate
— Google Cloud Data Catalog Create a tag template
/projects/{projectId}/locations/{location}/tagTemplates
GET
Gettagtemplate
— Google Cloud Data Catalog Get a tag template
/projects/{projectId}/locations/{location}/tagTemplates/{tagTemplateId}
MCP Tools
searchcatalog
Google Cloud Data Catalog Search Data Catalog
listentrygroups
Google Cloud Data Catalog List entry groups
read-only
idempotent
createentrygroup
Google Cloud Data Catalog Create an entry group
listentries
Google Cloud Data Catalog List entries
read-only
idempotent
createentry
Google Cloud Data Catalog Create an entry
getentry
Google Cloud Data Catalog Get an entry
read-only
idempotent
updateentry
Google Cloud Data Catalog Update an entry
deleteentry
Google Cloud Data Catalog Delete an entry
idempotent
createtagtemplate
Google Cloud Data Catalog Create a tag template
gettagtemplate
Google Cloud Data Catalog Get a tag template
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Cloud Data Catalog API
description: The Data Catalog API provides a unified view of all data assets and enables metadata management, data discovery,
and data governance across an organization. It allows programmatic creation and management of entries, tag templates,
and policy tags.
tags:
- Google
- Cloud
- Data
- Catalog
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: google-cloud-data-catalog
baseUri: https://datacatalog.googleapis.com/v1
description: Google Cloud Data Catalog API HTTP API.
authentication:
type: bearer
token: '{{GOOGLE_CLOUD_DATA_CATALOG_TOKEN}}'
resources:
- name: catalog-search
path: /catalog:search
operations:
- name: searchcatalog
method: POST
description: Google Cloud Data Catalog Search Data Catalog
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects-projectid-locations-location-entrygroup
path: /projects/{projectId}/locations/{location}/entryGroups
operations:
- name: listentrygroups
method: GET
description: Google Cloud Data Catalog List entry groups
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: pageSize
in: query
type: integer
- name: pageToken
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: createentrygroup
method: POST
description: Google Cloud Data Catalog Create an entry group
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: entryGroupId
in: query
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects-projectid-locations-location-entrygroup
path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries
operations:
- name: listentries
method: GET
description: Google Cloud Data Catalog List entries
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: entryGroupId
in: path
type: string
required: true
- name: pageSize
in: query
type: integer
- name: pageToken
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: createentry
method: POST
description: Google Cloud Data Catalog Create an entry
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: entryGroupId
in: path
type: string
required: true
- name: entryId
in: query
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects-projectid-locations-location-entrygroup
path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
operations:
- name: getentry
method: GET
description: Google Cloud Data Catalog Get an entry
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: entryGroupId
in: path
type: string
required: true
- name: entryId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: updateentry
method: PATCH
description: Google Cloud Data Catalog Update an entry
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: entryGroupId
in: path
type: string
required: true
- name: entryId
in: path
type: string
required: true
- name: updateMask
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: deleteentry
method: DELETE
description: Google Cloud Data Catalog Delete an entry
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: entryGroupId
in: path
type: string
required: true
- name: entryId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects-projectid-locations-location-tagtemplat
path: /projects/{projectId}/locations/{location}/tagTemplates
operations:
- name: createtagtemplate
method: POST
description: Google Cloud Data Catalog Create a tag template
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: tagTemplateId
in: query
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects-projectid-locations-location-tagtemplat
path: /projects/{projectId}/locations/{location}/tagTemplates/{tagTemplateId}
operations:
- name: gettagtemplate
method: GET
description: Google Cloud Data Catalog Get a tag template
inputParameters:
- name: projectId
in: path
type: string
required: true
- name: location
in: path
type: string
required: true
- name: tagTemplateId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: google-cloud-data-catalog-rest
description: REST adapter for Google Cloud Data Catalog API.
resources:
- path: /catalog:search
name: searchcatalog
operations:
- method: POST
name: searchcatalog
description: Google Cloud Data Catalog Search Data Catalog
call: google-cloud-data-catalog.searchcatalog
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups
name: listentrygroups
operations:
- method: GET
name: listentrygroups
description: Google Cloud Data Catalog List entry groups
call: google-cloud-data-catalog.listentrygroups
with:
projectId: rest.projectId
location: rest.location
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups
name: createentrygroup
operations:
- method: POST
name: createentrygroup
description: Google Cloud Data Catalog Create an entry group
call: google-cloud-data-catalog.createentrygroup
with:
projectId: rest.projectId
location: rest.location
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries
name: listentries
operations:
- method: GET
name: listentries
description: Google Cloud Data Catalog List entries
call: google-cloud-data-catalog.listentries
with:
projectId: rest.projectId
location: rest.location
entryGroupId: rest.entryGroupId
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries
name: createentry
operations:
- method: POST
name: createentry
description: Google Cloud Data Catalog Create an entry
call: google-cloud-data-catalog.createentry
with:
projectId: rest.projectId
location: rest.location
entryGroupId: rest.entryGroupId
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
name: getentry
operations:
- method: GET
name: getentry
description: Google Cloud Data Catalog Get an entry
call: google-cloud-data-catalog.getentry
with:
projectId: rest.projectId
location: rest.location
entryGroupId: rest.entryGroupId
entryId: rest.entryId
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
name: updateentry
operations:
- method: PATCH
name: updateentry
description: Google Cloud Data Catalog Update an entry
call: google-cloud-data-catalog.updateentry
with:
projectId: rest.projectId
location: rest.location
entryGroupId: rest.entryGroupId
entryId: rest.entryId
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}
name: deleteentry
operations:
- method: DELETE
name: deleteentry
description: Google Cloud Data Catalog Delete an entry
call: google-cloud-data-catalog.deleteentry
with:
projectId: rest.projectId
location: rest.location
entryGroupId: rest.entryGroupId
entryId: rest.entryId
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/tagTemplates
name: createtagtemplate
operations:
- method: POST
name: createtagtemplate
description: Google Cloud Data Catalog Create a tag template
call: google-cloud-data-catalog.createtagtemplate
with:
projectId: rest.projectId
location: rest.location
outputParameters:
- type: object
mapping: $.
- path: /projects/{projectId}/locations/{location}/tagTemplates/{tagTemplateId}
name: gettagtemplate
operations:
- method: GET
name: gettagtemplate
description: Google Cloud Data Catalog Get a tag template
call: google-cloud-data-catalog.gettagtemplate
with:
projectId: rest.projectId
location: rest.location
tagTemplateId: rest.tagTemplateId
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: google-cloud-data-catalog-mcp
transport: http
description: MCP adapter for Google Cloud Data Catalog API for AI agent use.
tools:
- name: searchcatalog
description: Google Cloud Data Catalog Search Data Catalog
hints:
readOnly: false
destructive: false
idempotent: false
call: google-cloud-data-catalog.searchcatalog
outputParameters:
- type: object
mapping: $.
- name: listentrygroups
description: Google Cloud Data Catalog List entry groups
hints:
readOnly: true
destructive: false
idempotent: true
call: google-cloud-data-catalog.listentrygroups
with:
projectId: tools.projectId
location: tools.location
pageSize: tools.pageSize
pageToken: tools.pageToken
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: pageSize
type: integer
description: pageSize
- name: pageToken
type: string
description: pageToken
outputParameters:
- type: object
mapping: $.
- name: createentrygroup
description: Google Cloud Data Catalog Create an entry group
hints:
readOnly: false
destructive: false
idempotent: false
call: google-cloud-data-catalog.createentrygroup
with:
projectId: tools.projectId
location: tools.location
entryGroupId: tools.entryGroupId
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: entryGroupId
type: string
description: entryGroupId
required: true
outputParameters:
- type: object
mapping: $.
- name: listentries
description: Google Cloud Data Catalog List entries
hints:
readOnly: true
destructive: false
idempotent: true
call: google-cloud-data-catalog.listentries
with:
projectId: tools.projectId
location: tools.location
entryGroupId: tools.entryGroupId
pageSize: tools.pageSize
pageToken: tools.pageToken
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: entryGroupId
type: string
description: entryGroupId
required: true
- name: pageSize
type: integer
description: pageSize
- name: pageToken
type: string
description: pageToken
outputParameters:
- type: object
mapping: $.
- name: createentry
description: Google Cloud Data Catalog Create an entry
hints:
readOnly: false
destructive: false
idempotent: false
call: google-cloud-data-catalog.createentry
with:
projectId: tools.projectId
location: tools.location
entryGroupId: tools.entryGroupId
entryId: tools.entryId
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: entryGroupId
type: string
description: entryGroupId
required: true
- name: entryId
type: string
description: entryId
required: true
outputParameters:
- type: object
mapping: $.
- name: getentry
description: Google Cloud Data Catalog Get an entry
hints:
readOnly: true
destructive: false
idempotent: true
call: google-cloud-data-catalog.getentry
with:
projectId: tools.projectId
location: tools.location
entryGroupId: tools.entryGroupId
entryId: tools.entryId
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: entryGroupId
type: string
description: entryGroupId
required: true
- name: entryId
type: string
description: entryId
required: true
outputParameters:
- type: object
mapping: $.
- name: updateentry
description: Google Cloud Data Catalog Update an entry
hints:
readOnly: false
destructive: false
idempotent: false
call: google-cloud-data-catalog.updateentry
with:
projectId: tools.projectId
location: tools.location
entryGroupId: tools.entryGroupId
entryId: tools.entryId
updateMask: tools.updateMask
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: entryGroupId
type: string
description: entryGroupId
required: true
- name: entryId
type: string
description: entryId
required: true
- name: updateMask
type: string
description: updateMask
outputParameters:
- type: object
mapping: $.
- name: deleteentry
description: Google Cloud Data Catalog Delete an entry
hints:
readOnly: false
destructive: true
idempotent: true
call: google-cloud-data-catalog.deleteentry
with:
projectId: tools.projectId
location: tools.location
entryGroupId: tools.entryGroupId
entryId: tools.entryId
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: entryGroupId
type: string
description: entryGroupId
required: true
- name: entryId
type: string
description: entryId
required: true
outputParameters:
- type: object
mapping: $.
- name: createtagtemplate
description: Google Cloud Data Catalog Create a tag template
hints:
readOnly: false
destructive: false
idempotent: false
call: google-cloud-data-catalog.createtagtemplate
with:
projectId: tools.projectId
location: tools.location
tagTemplateId: tools.tagTemplateId
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: tagTemplateId
type: string
description: tagTemplateId
required: true
outputParameters:
- type: object
mapping: $.
- name: gettagtemplate
description: Google Cloud Data Catalog Get a tag template
hints:
readOnly: true
destructive: false
idempotent: true
call: google-cloud-data-catalog.gettagtemplate
with:
projectId: tools.projectId
location: tools.location
tagTemplateId: tools.tagTemplateId
inputParameters:
- name: projectId
type: string
description: projectId
required: true
- name: location
type: string
description: location
required: true
- name: tagTemplateId
type: string
description: tagTemplateId
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
GOOGLE_CLOUD_DATA_CATALOG_TOKEN: GOOGLE_CLOUD_DATA_CATALOG_TOKEN