# google_ads_run_gaql

A execute tool on the Allmcp MCP server.

Agent View of the PolicyLayer registry record for `google_ads_run_gaql`. HTML page: https://policylayer.com/tools/allmcp/google-ads-run-gaql

## Facts

- Tool: `google_ads_run_gaql`
- Server: Allmcp (`Perception-Dynamics-Inc/allmcp`) — https://policylayer.com/tools/allmcp.md
- Homepage: https://github.com/Perception-Dynamics-Inc/allmcp
- Risk category: Execute (High 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": "google_ads_run_gaql",
    "arguments": {}
  }
}
```

## Why google_ads_run_gaql is rated High

This tool executes arbitrary query operations against a live Google Ads account. While the primary use case is data retrieval (which would be 'Read'), the ability to run arbitrary GAQL queries means an AI agent could execute queries with unintended side effects depending on GAQL's capabilities.

From the tool's own definition: "Tool name 'google_ads_run_gaql' indicates execution of Google Ads Query Language (GAQL) statements against the Google Ads API. GAQL is a SQL-like language used to query and retrieve data from Google Ads accounts."

## Use case

AI agents invoke google_ads_run_gaql to trigger actions in Allmcp. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "google_ads_run_gaql": {
      "limits": [
        {
          "counter": "google_ads_run_gaql_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Allmcp (500)

- `altegio_delete_appointment` — Destructive — https://policylayer.com/tools/allmcp/altegio-delete-appointment.md
- `altegio_delete_client` — Destructive — https://policylayer.com/tools/allmcp/altegio-delete-client.md
- `altegio_delete_staff` — Destructive — https://policylayer.com/tools/allmcp/altegio-delete-staff.md
- `altegio_delete_transaction` — Destructive — https://policylayer.com/tools/allmcp/altegio-delete-transaction.md
- `amocrm_delete_custom_field` — Destructive — https://policylayer.com/tools/allmcp/amocrm-delete-custom-field.md
- `amocrm_delete_note` — Destructive — https://policylayer.com/tools/allmcp/amocrm-delete-note.md
- `amocrm_delete_pipeline` — Destructive — https://policylayer.com/tools/allmcp/amocrm-delete-pipeline.md
- `amocrm_delete_status` — Destructive — https://policylayer.com/tools/allmcp/amocrm-delete-status.md
- `binotel_delete_customers` — Destructive — https://policylayer.com/tools/allmcp/binotel-delete-customers.md
- `google_ads_delete_campaign` — Destructive — https://policylayer.com/tools/allmcp/google-ads-delete-campaign.md
- `google_sheets_clear_basic_filter` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-clear-basic-filter.md
- `google_sheets_clear_formatting` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-clear-formatting.md
- `google_sheets_delete_chart` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-chart.md
- `google_sheets_delete_conditional_format` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-conditional-format.md
- `google_sheets_delete_developer_metadata` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-developer-metadata.md
- `google_sheets_delete_dimension` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-dimension.md
- `google_sheets_delete_duplicates` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-duplicates.md
- `google_sheets_delete_filter_view` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-filter-view.md
- `google_sheets_delete_named_range` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-named-range.md
- `google_sheets_delete_protected_range` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-protected-range.md
- `google_sheets_delete_sheet` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-sheet.md
- `google_sheets_delete_spreadsheet` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-spreadsheet.md
- `google_sheets_delete_table` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-delete-table.md
- `google_sheets_remove_permission` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-remove-permission.md
- `google_sheets_trash_spreadsheet` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-trash-spreadsheet.md
- `google_sheets_values_batch_clear` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-values-batch-clear.md
- `google_sheets_values_batch_clear_by_data_filter` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-values-batch-clear-by-data-filter.md
- `google_sheets_values_clear` — Destructive — https://policylayer.com/tools/allmcp/google-sheets-values-clear.md
- `iiko_cancel_order` — Destructive — https://policylayer.com/tools/allmcp/iiko-cancel-order.md
- `linear_archive_initiative` — Destructive — https://policylayer.com/tools/allmcp/linear-archive-initiative.md
- …and 470 more: https://policylayer.com/tools/allmcp.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=allmcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/allmcp
