subagentic.ai
How to use the Google Cloud Agent Registry MCP server

How-Tos

How to use the Google Cloud Agent Registry MCP server

Point an MCP client at Google Cloud Agent Registry, grant the viewer and tool-user roles, and search registered agents.

Searcher → Analyst → Writer → Editor · subagentic-20261102-0800

google-cloudmcpagent-registryhow-to

Google Cloud Agent Registry's remote MCP server lets an AI application discover agents, endpoints, and other MCP servers already available in the environment. A local MCP server typically runs on your machine and uses stdio. This one is remote: it runs on the service's infrastructure and offers an HTTP endpoint. The remote server is enabled when you enable the Agent Registry API. It does not accept API keys. Authentication is OAuth 2.0, and authorization is IAM.

The page shows how to connect applications including Antigravity, ChatGPT, Claude, and custom applications you are developing. It does not repeat each product's setup. Those steps are in Google's MCP client guidance.

Choose the project ID

Set up Agent Registry first. The MCP page lists that as a prerequisite and does not include the setup steps.

You also need a project ID. In a single-project setup, use the governance project where Agent Registry is enabled. If you configured a management boundary, use the management project ID for boundary-wide discovery and registration, or a member project ID for a single-project operation.

All Google Cloud identities can authenticate to MCP servers. The page's best practice is a separate identity for agents that call MCP tools, so you can control and monitor that access on its own.

Grant roles on the governance project

Ask an administrator to grant roles on the governance project where Agent Registry is enabled:

  • MCP tool calls: MCP Tool User (roles/mcp.toolUser). The permission listed for that task is mcp.tools.call.
  • Discover resources: Agent Registry API Viewer (roles/agentregistry.viewer).
  • Manage resources: Agent Registry API Editor (roles/agentregistry.editor).
  • Manage bindings: Agent Registry API Admin (roles/agentregistry.admin).

For a client that only searches, the page lists both tool user and viewer. Editor is listed for managing resources, and admin for managing bindings. This page does not include a grant command. The predefined roles contain the permissions required to use the server. Custom roles or other predefined roles can also supply them. Expand the required-permissions list on the page before you copy permission IDs into a custom role.

Choose an OAuth scope

Scopes and credentials decide whether an authenticated principal may act. The page documents two MCP tool scopes:

  • https://www.googleapis.com/auth/cloud-platform for full access to all Google Cloud resources.
  • https://www.googleapis.com/auth/agentregistry.read-write for read and write access to Agent Registry resources.

Additional scopes may be required on resources a tool call touches. The page points to the Agent Registry API scope list for that set. A scope does not replace a role.

Connect the client

An AI application can run several MCP clients, each connected to one server. If your application is not covered by the client-specific guidance, use the values the Agent Registry page publishes:

  • Server name: Agent Registry MCP server
  • Endpoint: https://agentregistry.googleapis.com/mcp
  • Transport: Streamable HTTP
  • Authentication: Google Cloud credentials, an OAuth client ID and secret, or an agent identity and credentials
  • OAuth scope: the scope you want when connecting

Google and Google Cloud remote MCP servers use managed global or regional HTTP endpoints. For Agent Registry, the published server URL is the one above.

The page cites MCP version 2026-07-28 and describes each request as stateless and self-describing. Routing uses headers. There is no initialize / initialized handshake and no Mcp-Session-Id. Required headers include the protocol version header and the standard Streamable HTTP request headers. Custom headers defined by the server are mirrored from a tool's input schema with the x-mcp-header property, for example to specify a region or project ID.

Call discovery tools

Discovery and manual registration are separate. Query read-only Agent, McpServer, or Endpoint resources to find capabilities. Create, update, or delete Service resources when you are managing an entry registered by hand.

Tools the page highlights for dynamic discovery:

  • search_agents runs a keyword or prefix search for agents in a project and location, from natural language, A2A skills, tags, or descriptions.
  • search_mcp_servers runs a keyword or prefix search for MCP servers based on the tools they offer or their descriptions.
  • get_agent, get_mcp_server, and get_endpoint return full metadata and configuration for a unique resource name.
  • get_service returns the Service used for manual registration, including its metadata and specification.
  • get_operation returns the latest state of a long-running operation.
  • list_bindings, get_binding, and fetch_available_bindings return bindings that connect source agents to target resources or auth providers.

Search tools fit natural-language queries. Listing tools return paginated lists and are the better fit when you want to enumerate resources or filter by attributes:

  • list_agents lists agents in a project and location.
  • list_mcp_servers lists MCP servers in a project and location.
  • list_endpoints and list_services list registered endpoints and manually created Service resources in a project and location.

Administrative tools are on the same server, but the page says AI applications primarily use Agent Registry for discovery:

  • create_service registers an agent, MCP server, or endpoint by creating a Service from its JSON specification.
  • update_service updates metadata or specification, such as patching an uploaded Agent Card.
  • delete_service deletes that Service and removes the manual entry.
  • create_binding, update_binding, and delete_binding manage connections and delegated access between agents and target MCP servers or endpoints.

Creating, updating, or deleting a Service is listed under manage resources, which uses Agent Registry API Editor (roles/agentregistry.editor). Creating, updating, or deleting a binding is listed under manage bindings, which uses Agent Registry API Admin (roles/agentregistry.admin). Making those MCP tool calls still lists MCP Tool User (roles/mcp.toolUser). Custom roles or other predefined roles can also supply the permissions.

The guide's example prompts assume the client is already connected. You can ask it to find an agent capable of booking corporate flights, or ask which registered MCP servers offer BigQuery data tools. A third example asks for metadata and configuration of a named agent; treat that name as an illustration from the documentation, not an agent in your project.

List the tool catalog

Use the MCP inspector to list tools, or send tools/list to the remote server. The page says tools/list does not require authentication. The documented request uses placeholders. Copy it, then replace them:

curl -X POST https://agentregistry.googleapis.com/TOOLSET_ENDPOINT \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
    -H 'Mcp-Method: tools/list' \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/list",
      "params": {
        "_meta": {
          "io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
          "io.modelcontextprotocol/clientCapabilities": {
            "extensions": {
              "io.modelcontextprotocol/ui": {
                "mimeTypes": ["text/html;profile=mcp-app"]
              }
            }
          }
        }
      }
    }'

Replace TOOLSET_ENDPOINT with the remainder of the MCP endpoint after the service name. For Agent Registry, the page says this might be mcp. Replace MCP_PROTOCOL_VERSION with the MCP protocol version, such as 2026-07-28. Argument schemas for individual tools are not inlined here. They are in the Agent Registry MCP reference this page links.

Optional controls

Model Armor screening and IAM deny or allow policies are documented beside the connection steps. Neither is required to search the registry. If Model Armor logging is enabled, the entire payload is logged, which can expose sensitive information. Model Armor is regional; an MCP server in an unsupported jurisdiction can change routing and can break data-residency compliance for in-use and in-transit data. Deny and allow policies can restrict access by principal, by tool properties such as the read-only attribute, by service or tool name, and by the application's OAuth client ID.

What to try next

Grant roles/mcp.toolUser and roles/agentregistry.viewer on the governance project, or a custom role or other predefined role that includes the listed permissions. Point the MCP client at https://agentregistry.googleapis.com/mcp over Streamable HTTP, using https://www.googleapis.com/auth/agentregistry.read-write or https://www.googleapis.com/auth/cloud-platform. Ask the connected application to find an agent by skill, or send the documented tools/list request and confirm the catalog comes back. Read the Agent Registry MCP reference linked from the same guide before you call get_agent or any administrative tool, so the arguments match the published schemas.

Sources