# gcp_iam_set_project_iam_policy

Set the IAM policy for the project

Agent View of the PolicyLayer registry record for `gcp_iam_set_project_iam_policy`. HTML page: https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-set-project-iam-policy

## Facts

- Tool: `gcp_iam_set_project_iam_policy`
- Server: GCP MCP Server (`ahmedselimmansor-ctrl/gcp_mcp_server`) — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server.md
- Homepage: https://github.com/ahmedselimmansor-ctrl/GCP_MCP_server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "gcp_iam_set_project_iam_policy",
    "arguments": {}
  }
}
```

## Why gcp_iam_set_project_iam_policy is rated Medium

Setting IAM policies is a reversible write operation that modifies authorization rules at the project level. While not destructive (the change can be reversed), it has high severity because misconfiguration can grant excessive permissions to unauthorized principals, compromise security boundaries, or lock legitimate users out of resources.

From the tool's own definition: "'Set the IAM policy for the project' — this modifies access control settings for an entire GCP project, affecting who can perform what actions across all resources."

## Use case

AI agents use gcp_iam_set_project_iam_policy to create or update resources in GCP MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your GCP MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches GCP MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "gcp_iam_set_project_iam_policy": {
      "limits": [
        {
          "counter": "gcp_iam_set_project_iam_policy_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on GCP MCP Server (294)

- `gcp_agent_delete_app` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-app.md
- `gcp_agent_delete_data_store` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-data-store.md
- `gcp_agent_delete_endpoint` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-endpoint.md
- `gcp_agent_delete_model` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-model.md
- `gcp_agent_delete_reasoning_engine` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-agent-delete-reasoning-engine.md
- `gcp_appengine_delete_service` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-appengine-delete-service.md
- `gcp_appengine_delete_version` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-appengine-delete-version.md
- `gcp_ar_delete_package` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-ar-delete-package.md
- `gcp_ar_delete_repository` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-ar-delete-repository.md
- `gcp_ar_delete_version` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-ar-delete-version.md
- `gcp_bq_delete_dataset` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-bq-delete-dataset.md
- `gcp_bq_delete_table` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-bq-delete-table.md
- `gcp_compute_delete_disk` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-delete-disk.md
- `gcp_compute_delete_instance` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-delete-instance.md
- `gcp_compute_delete_snapshot` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-delete-snapshot.md
- `gcp_compute_detach_disk` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-compute-detach-disk.md
- `gcp_dns_delete_managed_zone` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-dns-delete-managed-zone.md
- `gcp_dns_delete_record_set` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-dns-delete-record-set.md
- `gcp_firestore_delete_document` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-firestore-delete-document.md
- `gcp_functions_delete` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-functions-delete.md
- `gcp_gke_delete_cluster` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-gke-delete-cluster.md
- `gcp_gke_delete_node_pool` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-gke-delete-node-pool.md
- `gcp_iam_delete_custom_role` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-delete-custom-role.md
- `gcp_iam_delete_service_account` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-delete-service-account.md
- `gcp_iam_delete_service_account_key` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-delete-service-account-key.md
- `gcp_iam_remove_iam_binding` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-iam-remove-iam-binding.md
- `gcp_lb_delete_backend_service` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-lb-delete-backend-service.md
- `gcp_lb_delete_forwarding_rule` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-lb-delete-forwarding-rule.md
- `gcp_lb_delete_target_pool` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-lb-delete-target-pool.md
- `gcp_logging_delete_log` — Destructive — https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server/gcp-logging-delete-log.md
- …and 264 more: https://policylayer.com/tools/ahmedselimmansor-ctrl-gcp-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=ahmedselimmansor-ctrl-gcp-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/ahmedselimmansor-ctrl-gcp-mcp-server
