naftiko: 1.0.0-alpha2 info: label: Google Cloud Pub/Sub API description: The Cloud Pub/Sub API provides reliable, many-to-many, asynchronous messaging between applications. Publishers send messages to topics, and subscribers receive messages via subscriptions. It supports both push and pull delivery modes. tags: - Google - Cloud - Pubsub - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: google-cloud-pubsub baseUri: https://pubsub.googleapis.com/v1 description: Google Cloud Pub/Sub API HTTP API. authentication: type: bearer token: '{{GOOGLE_CLOUD_PUBSUB_TOKEN}}' resources: - name: projects-projectid-topics path: /projects/{projectId}/topics operations: - name: listtopics method: GET description: Google Cloud Pub/Sub List topics inputParameters: - name: projectId 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: projects-projectid-topics-topicid path: /projects/{projectId}/topics/{topicId} operations: - name: gettopic method: GET description: Google Cloud Pub/Sub Get a topic inputParameters: - name: projectId in: path type: string required: true - name: topicId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createtopic method: PUT description: Google Cloud Pub/Sub Create a topic inputParameters: - name: projectId in: path type: string required: true - name: topicId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletetopic method: DELETE description: Google Cloud Pub/Sub Delete a topic inputParameters: - name: projectId in: path type: string required: true - name: topicId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectid-topics-topicid-publish path: /projects/{projectId}/topics/{topicId}:publish operations: - name: publishmessages method: POST description: Google Cloud Pub/Sub Publish messages inputParameters: - name: projectId in: path type: string required: true - name: topicId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectid-subscriptions path: /projects/{projectId}/subscriptions operations: - name: listsubscriptions method: GET description: Google Cloud Pub/Sub List subscriptions inputParameters: - name: projectId 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: projects-projectid-subscriptions-subscriptionid path: /projects/{projectId}/subscriptions/{subscriptionId} operations: - name: getsubscription method: GET description: Google Cloud Pub/Sub Get a subscription inputParameters: - name: projectId in: path type: string required: true - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createsubscription method: PUT description: Google Cloud Pub/Sub Create a subscription inputParameters: - name: projectId in: path type: string required: true - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletesubscription method: DELETE description: Google Cloud Pub/Sub Delete a subscription inputParameters: - name: projectId in: path type: string required: true - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectid-subscriptions-subscriptionid- path: /projects/{projectId}/subscriptions/{subscriptionId}:pull operations: - name: pullmessages method: POST description: Google Cloud Pub/Sub Pull messages inputParameters: - name: projectId in: path type: string required: true - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectid-subscriptions-subscriptionid- path: /projects/{projectId}/subscriptions/{subscriptionId}:acknowledge operations: - name: acknowledgemessages method: POST description: Google Cloud Pub/Sub Acknowledge messages inputParameters: - name: projectId in: path type: string required: true - name: subscriptionId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: projects-projectid-schemas path: /projects/{projectId}/schemas operations: - name: listschemas method: GET description: Google Cloud Pub/Sub List schemas inputParameters: - name: projectId 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: createschema method: POST description: Google Cloud Pub/Sub Create a schema inputParameters: - name: projectId in: path type: string required: true - name: schemaId in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: google-cloud-pubsub-rest description: REST adapter for Google Cloud Pub/Sub API. resources: - path: /projects/{projectId}/topics name: listtopics operations: - method: GET name: listtopics description: Google Cloud Pub/Sub List topics call: google-cloud-pubsub.listtopics with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/topics/{topicId} name: gettopic operations: - method: GET name: gettopic description: Google Cloud Pub/Sub Get a topic call: google-cloud-pubsub.gettopic with: projectId: rest.projectId topicId: rest.topicId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/topics/{topicId} name: createtopic operations: - method: PUT name: createtopic description: Google Cloud Pub/Sub Create a topic call: google-cloud-pubsub.createtopic with: projectId: rest.projectId topicId: rest.topicId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/topics/{topicId} name: deletetopic operations: - method: DELETE name: deletetopic description: Google Cloud Pub/Sub Delete a topic call: google-cloud-pubsub.deletetopic with: projectId: rest.projectId topicId: rest.topicId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/topics/{topicId}:publish name: publishmessages operations: - method: POST name: publishmessages description: Google Cloud Pub/Sub Publish messages call: google-cloud-pubsub.publishmessages with: projectId: rest.projectId topicId: rest.topicId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/subscriptions name: listsubscriptions operations: - method: GET name: listsubscriptions description: Google Cloud Pub/Sub List subscriptions call: google-cloud-pubsub.listsubscriptions with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/subscriptions/{subscriptionId} name: getsubscription operations: - method: GET name: getsubscription description: Google Cloud Pub/Sub Get a subscription call: google-cloud-pubsub.getsubscription with: projectId: rest.projectId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/subscriptions/{subscriptionId} name: createsubscription operations: - method: PUT name: createsubscription description: Google Cloud Pub/Sub Create a subscription call: google-cloud-pubsub.createsubscription with: projectId: rest.projectId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/subscriptions/{subscriptionId} name: deletesubscription operations: - method: DELETE name: deletesubscription description: Google Cloud Pub/Sub Delete a subscription call: google-cloud-pubsub.deletesubscription with: projectId: rest.projectId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/subscriptions/{subscriptionId}:pull name: pullmessages operations: - method: POST name: pullmessages description: Google Cloud Pub/Sub Pull messages call: google-cloud-pubsub.pullmessages with: projectId: rest.projectId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/subscriptions/{subscriptionId}:acknowledge name: acknowledgemessages operations: - method: POST name: acknowledgemessages description: Google Cloud Pub/Sub Acknowledge messages call: google-cloud-pubsub.acknowledgemessages with: projectId: rest.projectId subscriptionId: rest.subscriptionId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/schemas name: listschemas operations: - method: GET name: listschemas description: Google Cloud Pub/Sub List schemas call: google-cloud-pubsub.listschemas with: projectId: rest.projectId outputParameters: - type: object mapping: $. - path: /projects/{projectId}/schemas name: createschema operations: - method: POST name: createschema description: Google Cloud Pub/Sub Create a schema call: google-cloud-pubsub.createschema with: projectId: rest.projectId outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: google-cloud-pubsub-mcp transport: http description: MCP adapter for Google Cloud Pub/Sub API for AI agent use. tools: - name: listtopics description: Google Cloud Pub/Sub List topics hints: readOnly: true destructive: false idempotent: true call: google-cloud-pubsub.listtopics with: projectId: tools.projectId pageSize: tools.pageSize pageToken: tools.pageToken inputParameters: - name: projectId type: string description: projectId required: true - name: pageSize type: integer description: pageSize - name: pageToken type: string description: pageToken outputParameters: - type: object mapping: $. - name: gettopic description: Google Cloud Pub/Sub Get a topic hints: readOnly: true destructive: false idempotent: true call: google-cloud-pubsub.gettopic with: projectId: tools.projectId topicId: tools.topicId inputParameters: - name: projectId type: string description: projectId required: true - name: topicId type: string description: topicId required: true outputParameters: - type: object mapping: $. - name: createtopic description: Google Cloud Pub/Sub Create a topic hints: readOnly: false destructive: false idempotent: true call: google-cloud-pubsub.createtopic with: projectId: tools.projectId topicId: tools.topicId inputParameters: - name: projectId type: string description: projectId required: true - name: topicId type: string description: topicId required: true outputParameters: - type: object mapping: $. - name: deletetopic description: Google Cloud Pub/Sub Delete a topic hints: readOnly: false destructive: true idempotent: true call: google-cloud-pubsub.deletetopic with: projectId: tools.projectId topicId: tools.topicId inputParameters: - name: projectId type: string description: projectId required: true - name: topicId type: string description: topicId required: true outputParameters: - type: object mapping: $. - name: publishmessages description: Google Cloud Pub/Sub Publish messages hints: readOnly: false destructive: false idempotent: false call: google-cloud-pubsub.publishmessages with: projectId: tools.projectId topicId: tools.topicId inputParameters: - name: projectId type: string description: projectId required: true - name: topicId type: string description: topicId required: true outputParameters: - type: object mapping: $. - name: listsubscriptions description: Google Cloud Pub/Sub List subscriptions hints: readOnly: true destructive: false idempotent: true call: google-cloud-pubsub.listsubscriptions with: projectId: tools.projectId pageSize: tools.pageSize pageToken: tools.pageToken inputParameters: - name: projectId type: string description: projectId required: true - name: pageSize type: integer description: pageSize - name: pageToken type: string description: pageToken outputParameters: - type: object mapping: $. - name: getsubscription description: Google Cloud Pub/Sub Get a subscription hints: readOnly: true destructive: false idempotent: true call: google-cloud-pubsub.getsubscription with: projectId: tools.projectId subscriptionId: tools.subscriptionId inputParameters: - name: projectId type: string description: projectId required: true - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: createsubscription description: Google Cloud Pub/Sub Create a subscription hints: readOnly: false destructive: false idempotent: true call: google-cloud-pubsub.createsubscription with: projectId: tools.projectId subscriptionId: tools.subscriptionId inputParameters: - name: projectId type: string description: projectId required: true - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: deletesubscription description: Google Cloud Pub/Sub Delete a subscription hints: readOnly: false destructive: true idempotent: true call: google-cloud-pubsub.deletesubscription with: projectId: tools.projectId subscriptionId: tools.subscriptionId inputParameters: - name: projectId type: string description: projectId required: true - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: pullmessages description: Google Cloud Pub/Sub Pull messages hints: readOnly: false destructive: false idempotent: false call: google-cloud-pubsub.pullmessages with: projectId: tools.projectId subscriptionId: tools.subscriptionId inputParameters: - name: projectId type: string description: projectId required: true - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: acknowledgemessages description: Google Cloud Pub/Sub Acknowledge messages hints: readOnly: false destructive: false idempotent: false call: google-cloud-pubsub.acknowledgemessages with: projectId: tools.projectId subscriptionId: tools.subscriptionId inputParameters: - name: projectId type: string description: projectId required: true - name: subscriptionId type: string description: subscriptionId required: true outputParameters: - type: object mapping: $. - name: listschemas description: Google Cloud Pub/Sub List schemas hints: readOnly: true destructive: false idempotent: true call: google-cloud-pubsub.listschemas with: projectId: tools.projectId pageSize: tools.pageSize pageToken: tools.pageToken inputParameters: - name: projectId type: string description: projectId required: true - name: pageSize type: integer description: pageSize - name: pageToken type: string description: pageToken outputParameters: - type: object mapping: $. - name: createschema description: Google Cloud Pub/Sub Create a schema hints: readOnly: false destructive: false idempotent: false call: google-cloud-pubsub.createschema with: projectId: tools.projectId schemaId: tools.schemaId inputParameters: - name: projectId type: string description: projectId required: true - name: schemaId type: string description: schemaId outputParameters: - type: object mapping: $. binds: - namespace: env keys: GOOGLE_CLOUD_PUBSUB_TOKEN: GOOGLE_CLOUD_PUBSUB_TOKEN