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.

Run with Naftiko GoogleCloudDataCatalogAPI

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

google-cloud-data-catalog-capability.yaml Raw ↑
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