Model Context Protocol (MCP) standardizes how large language models (LLMs) and AI applications or agents connect to external data sources. MCP servers let you use their tools, resources, and prompts to take actions and get updated data from their backend service.
What's the difference between local and remote MCP servers?
- Local MCP servers
- Typically run on your local machine and use the standard input and output streams (stdio) for communication between services on the same device.
- Remote MCP servers
- Run on the service's infrastructure and offer an HTTP endpoint to AI applications for communication between the AI MCP client and the MCP server. For more information about MCP architecture, see MCP architecture.
Google and Google Cloud remote MCP servers
Google and Google Cloud remote MCP servers have the following features and benefits:- Simplified, centralized discovery
- Managed global or regional HTTP endpoints
- Fine-grained authorization
- Optional prompt and response security with Model Armor protection
- Centralized audit logging
For information about other MCP servers and information about security and governance controls available for Google Cloud MCP servers, see Google Cloud MCP servers overview.
Before you begin
To ensure your agent can access the Policy Assist MCP server, you must enable the Policy Assist API on your project in the Google Cloud console:
-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
Enable the Policy Assist API:
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.gcloud services enable policyassist.googleapis.com
Required roles
To get the permissions that you need to use the Policy Assist MCP server, ask your administrator to grant you the following IAM roles on the project where you want to use the Policy Assist MCP server:
-
Make MCP tool calls:
MCP Tool User (
roles/mcp.toolUser) -
Get custom role suggestions:
IAM Viewer (
roles/iam.viewer)
For more information about granting roles, see Manage access to projects, folders, and organizations.
These predefined roles contain the permissions required to use the Policy Assist MCP server. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
The following permissions are required to use the Policy Assist MCP server:
-
Make MCP tool calls:
mcp.tools.call -
Get custom role suggestions:
iam.roles.list
You might also be able to get these permissions with custom roles or other predefined roles.
Authentication and authorization
The Policy Assist remote MCP server uses the OAuth 2.0 protocol with Identity and Access Management (IAM) for authentication and authorization. All Google Cloud identities are supported for authentication to MCP servers.Policy Assist does not accept API keys for authentication.
We recommend that you create a separate identity for agents that are using MCP tools so that access to resources can be controlled and monitored. For more information about authentication, see Authenticate to MCP servers.
Policy Assist MCP OAuth scopes
OAuth 2.0 uses scopes and credentials to determine if an authenticated principal is authorized to take a specific action on a resource. For more information about OAuth 2.0 scopes at Google, read Using OAuth 2.0 to access Google APIs.
Policy Assist has the following MCP tool OAuth scopes:
| Scope URI for gcloud CLI | Description |
|---|---|
https://www.googleapis.com/auth/policyassist |
Grants access to policy suggestions through Policy Assist. |
Additional scopes might be required on the resources accessed during a tool call.
Configure an MCP client to use the Policy Assist MCP server
AI applications and agents, such as Claude or Antigravity, can instantiate an MCP client that connects to a single MCP server. An AI application can have multiple clients that connect to different MCP servers. If your application isn't listed in the client-specific guidance, then you can use the following information to connect from most applications.
In your AI application, look for a way to add or connect to a remote MCP server. For the Policy Assist MCP server, enter the following information as required:
- Server name: Policy Assist MCP server
- Server URL or Endpoint:
https://policyassist.googleapis.com/mcp - Transport: HTTP
- Authentication details: Depending on how you want to authenticate, you can enter your Google Cloud credentials, your OAuth Client ID and secret, or an agent identity and credentials. For more information about authentication, see Authenticate to MCP servers.
- OAuth scope: To access the Policy Assist MCP server, use
the
https://www.googleapis.com/auth/policyassistOAuth 2.0 scope.
Redirect URIs
For web-based applications, and some desktop applications, you must allowlist a redirect URI when you create a client ID and secret for authentication. Redirect URIs are used by the authorization server to send tokens to your application. Your application's documentation should specify the redirect URI that you must use. Custom redirect URIs aren't supported.
For application-specific guidance about setting up and connecting to MCP server, see Client-specific guidance.
For more general guidance, see the following resources:
Available tools
To view details of available MCP tools and their descriptions for the Policy Assist MCP server, see the Policy Assist MCP reference.
List tools
Use the MCP inspector to list tools, or send a
tools/list HTTP request directly to the Policy Assist
remote MCP server. The tools/list method doesn't require authentication.
POST /mcp HTTP/1.1
Host: policyassist.googleapis.com
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tools/list",
}
Example use cases
The Policy Assist remote MCP server lets external AI agents access the IAM role picker and use it to suggest roles for your use case. The following are some example use cases for the Policy Assist MCP server.
By default, role suggestions are designed to cover common user journeys within a service. For example, a service's Admin, Editor, or Viewer roles are often suggested.
If you want suggestions for the most granular, least privileged roles, you must specify this preference in your prompt using specific keywords, like "minimal" or "least privileged". For a list of keywords you can use, see Keywords for least privileged roles.
| Use case | Prompt examples |
|---|---|
| Identifying roles for general service management | "What permissions do I need to manage our AlloyDB for PostgreSQL setup?" |
| Identifying the roles necessary to perform specific tasks |
"What role is required to create, start, and stop VMs?" or "What is the minimal role required to create, start, and stop VMs?" |
| Identifying roles necessary to run Google Cloud CLI commands |
"What IAM role is required to run: or "What is the smallest role a service account needs to execute: |
| Identifying roles for a task that includes transitive dependencies |
"I need to configure a Compute Engine instance to automatically scale based on CPU utilization. Which IAM roles should I grant to the service account?" or "I need to configure a Compute Engine instance to automatically scale based on CPU utilization. What are the minimum permissions I need to grant to a service account used by a Compute Engine instance autoscaler?" |
| Identifying roles for a task that might require a combination of multiple granular roles |
"Provide users access only to a particular dataset in BigQuery. They shouldn't be able to create or delete datasets." or "What is the most secure role to give users read-only access to a single dataset in BigQuery, without allowing create or delete actions on any dataset?" |
Optional security and safety configurations
MCP introduces new security risks and considerations due to the wide variety of actions that you can do with the MCP tools. To minimize and manage these risks, Google Cloud offers default settings and customizable policies to control the use of MCP tools in your Google Cloud organization or project.
For more information about MCP security and governance, see AI security and safety.
Control MCP use with Identity and Access Management deny policies
Identity and Access Management (IAM) deny policies and allow policies help you secure Google Cloud and Google MCP servers.
You can combine multiple criteria to build customized security and governance policies by allowing or denying access based on the following:
- The principal.
- Tool properties like the read-only attribute.
- The service name or tool name.
- The application's OAuth client ID.
For more information, see Control MCP use with Identity and Access Management.
What's next
- Read the Policy Assist MCP reference documentation.
- Learn more about Google Cloud MCP servers.