list_gcp_planned_purchases
Evaluate current GCP commitments, plan and automate purchases, and optimize cloud costs with PerfectScale for Commitments. Returns the laddering projections for the billing account, grouped by PS4C product line (service) and region. Each service group lists one entry per available gcp-purchases-p...
This record as markdown: /tools/doit/list-gcp-planned-purchases.md
What list_gcp_planned_purchases does on Doit
AI agents call list_gcp_planned_purchases to retrieve information from Doit without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
region | string | — | GCP region scope in the DCI `lower_snake_case` wire form (for example `us_east1`), or the literal `global` for cross-region scopes. This is not the raw provider |
pageToken | string | — | |
maxResults | number | — | |
X-Tenant-Id | string | — | |
gcp_service | string | — | |
customerContext | string | — | Scope the request to a specific customer by ID. Required for DoiT employees (whose token isn't tied to a single customer); omit for direct customer users. |
billingAccountId | string | Yes |
Parameters from the server's own tool schema.
Why list_gcp_planned_purchases is rated Low
Even though list_gcp_planned_purchases only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.
Attacks that exploit this kind of access
The rule that runs list_gcp_planned_purchases safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Doit, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For list_gcp_planned_purchases, this is the rule to start with:
list_gcp_planned_purchases is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Doit, apply this rule, and every list_gcp_planned_purchases call is checked against it from then on.
Questions about list_gcp_planned_purchases
Evaluate current GCP commitments, plan and automate purchases, and optimize cloud costs with PerfectScale for Commitments. Returns the laddering projections for the billing account, grouped by PS4C product line (service) and region. Each service group lists one entry per available gcp-purchases-projection document for that scope (compute scopes are global; cloud_sql scopes are per-region). With no filters, returns all existing projection documents in stable order: service groups ordered compute first, then cloud_sql; within each group, regions sorted with global first, then remaining regions alphabetically. Services with no projection documents are omitted (not returned as empty groups). When a filter matches no documents, the response is an empty items array (not 404). Partial projection documents return only the fields available in storage. gcp_service and region filters: omit both to return all available services and their regions; supply gcp_service alone to return all regions for that service; supply both to return a single service/region scope. region requires gcp_service — a request with region but no gcp_service returns 400 with code gcp_service_required. Invalid gcp_service or region values return 400 with code validation_failed. 404 is returned only when the billing account does not exist or the caller cannot access it. A billing account that is not onboarded for PS4C still returns 200 with an empty items array when no projection documents exist — use GET /ps4commitments/v1/gcp/billing-accounts (or get-by-id) for onboarding status. Pagination: results are paginated by service group (a whole group is never split across pages). Groups keep the stable service order above. Use maxResults to limit page size (default 50, max 500). When more groups remain, the response includes a non-null pageToken; pass it unchanged on the next request with the same query parameters (gcp_service, region, maxResults). rowCount is the number of service groups in this page. An invalid pageToken returns 400 with code pagination_token_invalid; an expired token returns 400 with code pagination_token_expired. This endpoint is paginated: a response with a non-empty pageToken has more results, returned when that value is passed as the pageToken parameter. A missing, null, or empty pageToken marks the last page. It is categorised as a Read tool in the Doit MCP Server, which means it retrieves data without modifying state.
list_gcp_planned_purchases accepts 7 parameters: region, pageToken, maxResults, X-Tenant-Id, gcp_service, customerContext, billingAccountId. Required: billingAccountId. The full parameter table on this page comes from the server's own tool schema.
Register the Doit MCP server in PolicyLayer and add a rule for list_gcp_planned_purchases: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Doit. Nothing to install.
list_gcp_planned_purchases is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the list_gcp_planned_purchases rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for list_gcp_planned_purchases. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
list_gcp_planned_purchases is provided by the Doit MCP server (@doitintl/doit-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Doit, and thousands of servers like it.
This server
Across the catalogue