# MCP Reference: pubsub.googleapis.com

A [Model Context Protocol (MCP) server](https://modelcontextprotocol.io/docs/learn/server-concepts) acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

### Server Setup


You must [enable MCP servers](https://docs.cloud.google.com/mcp/enable-disable-mcp-servers) and [set up authentication](https://docs.cloud.google.com/mcp/authenticate-mcp) before use. For more information about using Google and Google Cloud remote MCP servers, see [Google Cloud MCP servers overview](https://docs.cloud.google.com/mcp/overview).

### Server Endpoints

An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The pubsub.googleapis.com MCP server has the following MCP endpoint:

- https://pubsub.googleapis.com/mcp

## MCP Tools

An [MCP tool](https://modelcontextprotocol.io/legacy/concepts/tools) is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

The pubsub.googleapis.com MCP server has the following tools:

| MCP Tools ||
|---|---|
| [create_topic](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/create_topic) | Create a new Cloud Pub/Sub topic. **Important Notes** - A topic is a named resource that represents a feed of messages. |
| [update_topic](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/update_topic) | Update an existing Cloud Pub/Sub topic. **Important Notes** - A topic is a named resource that represents a feed of messages. - Certain properties of a topic, such as its name, are not modifiable. |
| [delete_topic](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/delete_topic) | Delete an existing Cloud Pub/Sub topic. **Important Notes** - A topic is a named resource that represents a feed of messages. - Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`. |
| [get_topic](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/get_topic) | Get the configuration of a Cloud Pub/Sub topic. **Important Notes** - A topic is a named resource that represents a feed of messages. |
| [list_topics](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/list_topics) | List all Cloud Pub/Sub topics in a given project. **Important Notes** - A topic is a named resource that represents a feed of messages. |
| [create_subscription](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/create_subscription) | Create a new Cloud Pub/Sub subscription to a given topic. **Important Notes** - A subscription is a named resource that represents a stream of messages from a single, specific topic, to be delivered to the subscribing application. |
| [update_subscription](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/update_subscription) | Update an existing Cloud Pub/Sub subscription. **Important Notes** - A subscription is a named resource that represents a stream of messages from a single, specific topic, to be delivered to the subscribing application. - Certain properties of a subscription, such as its topic, are not modifiable. |
| [delete_subscription](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/delete_subscription) | Delete an existing Cloud Pub/Sub subscription. **Important Notes** - A subscription is a named resource that represents a stream of messages from a single, specific topic, to be delivered to the subscribing application. - All messages retained in the subscription are immediately dropped. - Calls to `Pull` after deletion will return `NOT_FOUND`. |
| [get_subscription](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/get_subscription) | Get the configuration of a Cloud Pub/Sub subscription. **Important Notes** - A subscription is a named resource that represents a stream of messages from a single, specific topic, to be delivered to the subscribing application. |
| [list_subscriptions](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/list_subscriptions) | List all Cloud Pub/Sub subscriptions in a given project. **Important Notes** - A subscription is a named resource that represents a stream of messages from a single, specific topic, to be delivered to the subscribing application. |
| [create_snapshot](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/create_snapshot) | Create a new Cloud Pub/Sub snapshot from a given subscription. **Important Notes** - A snapshot is a named resource that captures the acknowledgment state of messages in an existing subscription to allow for managing acknowledgments in bulk. - Snapshots are used in Seek operations to manage message acknowledgments in bulk. |
| [delete_snapshot](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/delete_snapshot) | Delete an existing Cloud Pub/Sub snapshot. **Important Notes** - A snapshot is a named resource that captures the acknowledgment state of messages in an existing subscription to allow for managing acknowledgments in bulk. - When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. |
| [get_snapshot](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/get_snapshot) | Get the configuration of a Cloud Pub/Sub snapshot. **Important Notes** - A snapshot is a named resource that captures the acknowledgment state of messages in an existing subscription to allow for managing acknowledgments in bulk. |
| [list_snapshots](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/list_snapshots) | List all Cloud Pub/Sub snapshots in a given project. **Important Notes** - A snapshot is a named resource that captures the acknowledgment state of messages in an existing subscription to allow for managing acknowledgments in bulk. |
| [publish](https://docs.cloud.google.com/pubsub/docs/reference/mcp/tools_list/publish) | Publish a series of one or more messages to an existing topic. **Usage** 1. Create a new byte array to hold the message data. 2. Populate the byte array with the message data. 3. Call `publish` passing the topic name and the byte array. **Important Notes** - If the publish call returns NOT_FOUND, it likely means the topic does not exist. In this case, you should return an error. |

### Get MCP tool specifications


To get the MCP tool specifications for all tools in an MCP server, use the `tools/list` method. The following example demonstrates how to use `curl` to list all tools and their specifications currently available within the MCP server.

| Curl Request |
|---|
| ```bash curl --location 'https://pubsub.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' ``` |