Google Cloud Billing MCP server: 29 tools, none for spend
What Google's hosted billing endpoint reaches, which three of its tools change state, and where your actual spend still has to come from.
Last verified 1 September 2026 · from Google's Cloud Billing MCP reference, a live tools/list against the endpoint, and the gcloud-mcp repository
This page is one of 90 in a directory of monitoring and developer tools. Each page checks what an AI coding agent can get out of the tool through its MCP server, the connector that lets the agent query the tool directly.
Summary
The Google Cloud Billing MCP server exists, and Google hosts it. It answers at https://cloudbilling.googleapis.com/mcp. The reference page calls that a global endpoint, and documents no regional one.
It registers 29 tools. A live tools/list on 1 September 2026 returned all 29 with their schemas, and that call needed no credential at all.
Twenty-six are read-only, by Google's own marking on each tool. Three are not: create_billing_account, move_billing_account and set_iam_policy.
Not one of the 29 returns an amount you were charged. They reach billing accounts, project links, access policy and prices. Spend still comes from the BigQuery export.
What is the Google Cloud Billing MCP server?
Google Cloud bills through Cloud Billing. A billing account pays for one or more projects, and an optional export sends the detailed charges to BigQuery for analysis.
This server models the structure and the price list. It reads which account pays for a project, who has access to that account, and what each SKU costs. A SKU is one billable unit of a service, such as a machine type in a region.
It does not model consumption. No tool returns what an account was charged, none queries usage, and none returns an invoice total. The output fields across all 29 tools are account metadata, access policy and prices.
Four routes to a Google Cloud cost question:
| Route | What it reaches | State |
|---|---|---|
| Cloud Billing MCP server | Billing accounts, project links, IAM policy, and prices for your account or the public catalog | Official and hosted. 29 tools, and none of them returns spend |
gcloud-mcp run_gcloud_command | Whatever gcloud billing reaches, bounded by the active account's permissions | Works, and returns CLI text rather than typed billing data |
| Cloud Billing export to BigQuery | Detailed charges, by project, service and SKU | Reaches real spend. Not an MCP server, so it needs BigQuery access |
nozomi-koborinai/gcp-cost-mcp-server | Cost estimates from the Cloud Billing Catalog API | MIT · 22 stars · pushed 19 July 2026. List prices, not spend |
The distinction that decides this page: a price is what a unit costs, and a bill is that price multiplied by what you used. Only the middle two rows reach the second.
This page is named for cost management, and the billing server now covers part of that stage.
| Part of the work | What Google Cloud Billing has here | Can an agent reach it |
|---|---|---|
| Code, tests & review | None | Neither server touches code, tests or review |
| CI & release | Only through the gcloud passthrough | Partial. gcloud run deploy and the rest are reachable, and nothing is modelled |
| Production observability | Logs, metrics, traces and error groups, in the separate gcloud-mcp repository | Yes. Twelve dedicated tools, and the broadest first-party coverage Google ships |
| Agent observability & evals | None | No traces or evaluations of model behavior |
| AI cost management | 29 billing tools, plus the BigQuery export beside them | Partial. Accounts, project links and prices are modelled. Consumption is not |
The server answers what a service costs and which account pays for a project. It does not answer what that project was charged.
What can an AI agent do with Google Cloud Billing?
29 tools on the billing server, 26 read-only and 3 that change state.
- Billing accounts and projects4
get_billing_accountlist_billing_accountsget_project_billing_infolist_project_billing_info- Billing account changes2Write
create_billing_accountmove_billing_account- Access control reads2
get_iam_policytest_iam_permissions- Access control writes1
set_iam_policy- Prices and SKUs visible to your account10
list_billing_account_pricesget_billing_account_pricelist_billing_account_servicesget_billing_account_servicelist_billing_account_sku_groupsget_billing_account_sku_grouplist_billing_account_sku_group_skusget_billing_account_sku_group_skulist_billing_account_skusget_billing_account_sku- The public catalog10
list_pricesget_pricelist_servicesget_servicelist_sku_groupsget_sku_grouplist_sku_group_skusget_sku_group_skulist_skusget_sku
Read from Google's MCP reference on 1 September 2026, which links a page per tool, and confirmed by a live tools/list the same day. Both return 29. The split is Google's own rather than ours: 26 tools carry readOnlyHint: true and three do not. test_iam_permissions is grouped as a read, because it evaluates a policy and returns the permissions that hold instead of changing them, and Google marks it readOnlyHint: true as well. Of the three writes, move_billing_account and set_iam_policy also carry destructiveHint: true, and create_billing_account does not.
Google Cloud Billing MCP server limits: where answers come back incomplete
Google Cloud Billing now has a real server, and the limits that matter are about what it covers rather than whether it exists.
Twenty-nine billing tools, and none of them returns what you spent.
The tools cover billing accounts, the projects linked to them, access policy, and prices. A live tools/list shows no usage, consumption or invoice field in any output schema.
The name of the server invites the opposite assumption. An evaluation that expects a cost breakdown loses time before finding the boundary.
Guard: Plan the BigQuery export or the gcloud passthrough for spend from the start, and use this server for structure and prices.
Three of the tools change state, and one of them is an access policy write.
create_billing_account, move_billing_account and set_iam_policy are not read-only. Google marks the last two destructive in the tool annotations.
The endpoint offers the same 29 tools to everyone, and the reference page documents no read-only mode to switch on.
Guard: Give the agent a credential whose IAM roles cannot write a billing policy, rather than relying on the tool list to be safe.
The agent says: “That project costs $4,200 a month.” That is a price, not a bill.
Every number this server returns is a rate. list_prices gives the public catalog and list_billing_account_prices gives the rates for your account, and neither counts usage.
Guard: Require the agent to name its route and say whether the figure is a price or a charge, as the disclosure block above does.
The agent says: “Here is the breakdown.” It parsed text from a CLI.
Spend answers come from the other server's passthrough, which returns whatever gcloud printed. No schema describes that text, so nothing separates a good read from a bad one.
Guard: Ask for --format=json in the command, and have the agent print the command it ran.
How to configure Google Cloud Billing MCP for agents
- 1
Decide whether the three write tools should be reachable at all
set_iam_policygrants and revokes access to a billing account, and Google marks it destructive. - 2
Scope the credential, not the tool list
The endpoint offers all 29 tools to every caller. IAM decides which ones actually succeed.
- 3
Know that the inventory is public
A
tools/listagainst the endpoint returns every tool and schema without a credential, so the shape of the server is not a secret. - 4
Separate a rate from a bill
get_billing_account_pricereturns the prices that apply to your account, which is closer than the public catalog and still not a charge. - 5
Keep the BigQuery export for spend questions
No tool on this server reaches consumption, so the export stays the route for anything about actual money.
Paste this into your agent’s instructions
Two different servers and one export can each answer a Google Cloud cost question, and they return different kinds of number. The block forces the agent to name which one it used.
When you answer a Google Cloud cost question, state: - Which route produced the number: a tool on the Cloud Billing MCP server, a gcloud command, or the BigQuery billing export. - Whether the number is a price or an amount charged. The billing server returns prices only. It has no tool that returns what was spent. - The billing account or project the number applies to. Never state that data does not exist. The charges exist, in the billing export. Say which route you used, say what it returned, and name the route that holds the rest. Write your answer in ASD-STE100 Simplified Technical English. Use short sentences with one idea in each.
Do you need the MCP server at all?
Yes for account structure and prices, and no for spend. The 29 tools answer which account pays for a project and what a SKU costs. They never answer what you were charged.
The Cloud Billing export to BigQuery is Google's own route for analyzing charges. An agent that can already query BigQuery can query it without a new connector.
gcloud billing in a terminal reaches the same data as the passthrough, and does not hand a model the whole command line.
For spend across more than one cloud, Vantage, CloudZero and OpenCost publish servers built around cost rather than around a billing API.
Use the billing server for accounts, access and prices. Use the BigQuery export or a purpose-built connector for what you actually spent.
Google Cloud Billing MCP server setup
There are two Google servers here and one export, and they answer different questions. Start by deciding which question you have.
The billing server is hosted, so nothing installs. You point a client at a single URL and authenticate to Google.
The reference page names two prerequisites before any of that: enable MCP servers, and set up authentication.
The hosted billing endpoint
The reference page documents one global endpoint and gives a curl example against it. It publishes no client configuration snippet, so the call below is the documented way in.
This request carries no credentials, and none are needed for it. It returns all 29 tools with their schemas, which is the cheapest way to see what the server covers.
curl --location 'https://cloudbilling.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{"method": "tools/list", "jsonrpc": "2.0", "id": 1}'Authentication, before any tool call
Listing tools is open. Calling one is not. An unauthenticated call comes back as an error message inside a normal response, quoted below.
Google's shared MCP authentication page covers the credential itself. It names Application Default Credentials, an OAuth 2.0 client ID and secret, and an Authorization header carrying a bearer token. API keys are excluded for services that need an IAM principal.
Enablement is a separate page again. It documents gcloud services enable SERVICE_NAME, and the service behind this endpoint is the Cloud Billing API.
Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential.
That refusal arrives as tool output with isError set, not as an HTTP 401. An agent can read it as a tool result and keep going.
Every other client
Each block below is the configuration for one client, with the file path and the key that client expects.
The gcloud server, for what the billing server misses
googleapis/gcloud-mcp is a separate, installed server covering the CLI, observability, storage and backup. Its run_gcloud_command tool is the route to gcloud billing.
No credentials go in this configuration. The server acts through the gcloud CLI, so it inherits whatever account and project are already active on the machine.
Its README is explicit that the repository is in preview and is not an officially supported Google product. The hosted billing endpoint carries no such notice.
{"mcpServers":{"gcloud":{
"command":"npx",
"args":["-y","@google-cloud/gcloud-mcp"]}}}Which question each route answers
Prices and account structure come from the hosted billing server. Actual charges come from the export, or from driving the CLI through the gcloud server.
The community server sits alongside both, estimating from the public catalog. Estimates and invoices are different numbers, and an agent will not flag the difference.
This block is a comparison rather than a configuration, so it carries no credentials. Each route authorizes separately, and the two Google routes use different credentials.
billing MCP server : accounts, IAM, prices -> no spend run_gcloud_command : drives the CLI -> actual spend BigQuery export : detailed charges -> actual spend community server : Catalog API -> estimates
Read-only access, permissions and security
Three tools change state, and two are marked destructive
move_billing_accountreparents an account between organizations, andset_iam_policyoverwrites its access control policy.set_iam_policyis the sharpest tool hereA policy write can grant billing access to a new principal, or remove it from an existing one, in a single call.
The endpoint hands every caller all 29 tools
There is no read-only mode documented on the reference page, so IAM on the credential is the only boundary that holds.
The tool inventory is public
Anyone can list the tools and schemas without authenticating, though calling one is refused without a credential.
gcloud-mcpcarries its own risk, separatelyOne tool runs almost the whole CLI, and its ten denied prefixes are SSH, tunnel, serial port, interactive and meta commands rather than destructive ones.
Billing data is commercially sensitive
Account structure and negotiated prices describe what a company buys and what it pays, which is not something to expose broadly.
Troubleshooting
- Request is missing required authentication credential
- The call reached the server and was refused for want of a credential. The message names an OAuth 2 access token, a login cookie, or another valid credential.
- It arrives as tool content with
isErrorset rather than an HTTP 401, so a client that only checks status codes will treat the request as successful. - You cannot find a tool that reports spend
- There is not one. All 29 tools return account metadata, access policy or prices, and no output field on any of them carries an amount charged.
- Use the Cloud Billing export to BigQuery, or run
gcloud billingthrough the separate gcloud server. - The numbers do not match the invoice
- Check which price you read.
list_pricesis the public catalog, andlist_billing_account_pricesis what applies to your account. Neither reflects what you consumed. - A regional endpoint is refused
- There is not one. Google notes that its MCP endpoints can be global or regional, and documents only the global address for Cloud Billing.
- The agent runs a gcloud command you did not expect
- That is the design of the other server.
run_gcloud_commandtakes the command as an argument. Impersonate a service account with a limited role if that is not acceptable.
Google Cloud Billing MCP server: Reference
| Item | Value |
|---|---|
| Official server | Cloud Billing MCP, hosted by Google and documented in its own reference |
| Endpoint | https://cloudbilling.googleapis.com/mcp, global, with no regional address |
| Tools | 29 |
| Read-only | 26, by Google's own readOnlyHint on each tool |
| Write | 3: create_billing_account, move_billing_account, set_iam_policy |
| Marked destructive | 2: move_billing_account and set_iam_policy |
| Tools returning spend | None |
| MCP protocol version | 2025-11-25, returned by the endpoint on initialize |
| Listing tools | No credential required |
| Calling tools | Refused without one, naming an OAuth 2 access token |
| Prerequisites | Enable the API, then set up authentication |
| Published limits | None stated on the reference page |
| General gcloud server | googleapis/gcloud-mcp · Apache-2.0 · 895 stars · pushed 12 August 2026 |
| Its tools | 57 across gcloud, observability, storage and backup, none for billing |
| Its support status | In preview, and its README says it is not an officially supported Google product |
| Community option | nozomi-koborinai/gcp-cost-mcp-server · MIT · 22 stars · pushed 19 July 2026 |
| Inventory source | The MCP reference and a live tools/list, both read 1 September 2026 |
What the vendor documents
Practitioner writing about this server is thin, because it is new. The reference page carries a last-updated date of 18 August 2026. The counts below come from the documentation and from the endpoint itself.
| What was checked | What it shows |
|---|---|
| Tools on the billing server | 29 |
| Marked read-only by Google | 26 |
| That change state | 3 |
| That return an amount charged | 0 |
| Endpoints, global or regional | 1 global, 0 regional |
| Credential needed to list tools | None |
Billing tools in googleapis/gcloud-mcp | 0 of 57 |
“Google MCP endpoints can be global or regional.”
“Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential.”
“This repository is currently in preview and may see breaking changes. This repository provides a solution, not an officially supported Google product.”
The reference page and its 29 per-tool pages were read on 1 September 2026. A tools/list and an initialize were sent to the endpoint on the same day, and returned 29 tools and protocol version 2025-11-25. The googleapis/gcloud-mcp README was searched for billing on the same date, returning no matches.
Should you connect an agent to Google Cloud Billing?
Yes. Best for account structure, access review and pricing. Send spend questions to the export or a purpose-built connector.
- Strongest fit
- Teams who want an agent to read billing account structure, who has access to it, and what Google Cloud services cost them.
- Main advantage
- It is hosted by Google, needs no install, and 26 of its 29 tools are marked read-only by the vendor.
- Main weakness
- It returns prices rather than charges, so the most common cost question still goes to the BigQuery export.
- Operational risk
- Three tools write, including an access policy write on a billing account, and the server offers all of them to every caller.
From Oodle
One platform for agent traces and infrastructure
Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface, from $10 per million spans.
See agent observabilityFrequently asked questions
Does Google Cloud have a billing MCP server?
Yes. Google documents a hosted Cloud Billing MCP server at https://cloudbilling.googleapis.com/mcp, with 29 tools. It is a global endpoint, and the reference page lists no regional one.
Can it tell me what I spent?
No. All 29 tools return account metadata, access policy or prices. Use the Cloud Billing export to BigQuery, or run gcloud billing through the separate gcloud server.
How many of the tools can change something?
Three: create_billing_account, move_billing_account and set_iam_policy. The other 26 carry Google's readOnlyHint. The last two are also marked destructive.
What authentication does it need?
Listing tools needs none. A tool call without a credential is refused, and the message asks for an OAuth 2 access token, a login cookie or another valid credential.
What about the gcloud MCP server?
googleapis/gcloud-mcp is separate, and none of its 57 tools is a billing tool. Its run_gcloud_command passthrough still reaches gcloud billing, and its README says it is in preview.