NewAgent Observability is live.
Back to directory
Google Cloud Billing logo

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.

Connector
Official and hosted by Google, on one global endpoint
Coverage
Billing accounts, project links, IAM and prices. Not spend
Tools
29 documented, 26 read-only and 3 that write
Biggest risk for an agent
`set_iam_policy` rewrites who controls a billing account

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:

RouteWhat it reachesState
Cloud Billing MCP serverBilling accounts, project links, IAM policy, and prices for your account or the public catalogOfficial and hosted. 29 tools, and none of them returns spend
gcloud-mcp run_gcloud_commandWhatever gcloud billing reaches, bounded by the active account's permissionsWorks, and returns CLI text rather than typed billing data
Cloud Billing export to BigQueryDetailed charges, by project, service and SKUReaches real spend. Not an MCP server, so it needs BigQuery access
nozomi-koborinai/gcp-cost-mcp-serverCost estimates from the Cloud Billing Catalog APIMIT · 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 workWhat Google Cloud Billing has hereCan an agent reach it
Code, tests & reviewNoneNeither server touches code, tests or review
CI & releaseOnly through the gcloud passthroughPartial. gcloud run deploy and the rest are reachable, and nothing is modelled
Production observabilityLogs, metrics, traces and error groups, in the separate gcloud-mcp repositoryYes. Twelve dedicated tools, and the broadest first-party coverage Google ships
Agent observability & evalsNoneNo traces or evaluations of model behavior
AI cost management29 billing tools, plus the BigQuery export beside themPartial. 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. 1

    Decide whether the three write tools should be reachable at all

    set_iam_policy grants and revokes access to a billing account, and Google marks it destructive.

  2. 2

    Scope the credential, not the tool list

    The endpoint offers all 29 tools to every caller. IAM decides which ones actually succeed.

  3. 3

    Know that the inventory is public

    A tools/list against the endpoint returns every tool and schema without a credential, so the shape of the server is not a secret.

  4. 4

    Separate a rate from a bill

    get_billing_account_price returns the prices that apply to your account, which is closer than the public catalog and still not a charge.

  5. 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.

Terminal
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.

Terminal
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.

Terminal
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.

Terminal
{"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.

Terminal
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_account reparents an account between organizations, and set_iam_policy overwrites its access control policy.

  • set_iam_policy is the sharpest tool here

    A 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-mcp carries its own risk, separately

    One 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 isError set 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 billing through the separate gcloud server.
The numbers do not match the invoice
Check which price you read. list_prices is the public catalog, and list_billing_account_prices is 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_command takes the command as an argument. Impersonate a service account with a limited role if that is not acceptable.

Google Cloud Billing MCP server: Reference

ItemValue
Official serverCloud Billing MCP, hosted by Google and documented in its own reference
Endpointhttps://cloudbilling.googleapis.com/mcp, global, with no regional address
Tools29
Read-only26, by Google's own readOnlyHint on each tool
Write3: create_billing_account, move_billing_account, set_iam_policy
Marked destructive2: move_billing_account and set_iam_policy
Tools returning spendNone
MCP protocol version2025-11-25, returned by the endpoint on initialize
Listing toolsNo credential required
Calling toolsRefused without one, naming an OAuth 2 access token
PrerequisitesEnable the API, then set up authentication
Published limitsNone stated on the reference page
General gcloud servergoogleapis/gcloud-mcp · Apache-2.0 · 895 stars · pushed 12 August 2026
Its tools57 across gcloud, observability, storage and backup, none for billing
Its support statusIn preview, and its README says it is not an officially supported Google product
Community optionnozomi-koborinai/gcp-cost-mcp-server · MIT · 22 stars · pushed 19 July 2026
Inventory sourceThe 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 checkedWhat it shows
Tools on the billing server29
Marked read-only by Google26
That change state3
That return an amount charged0
Endpoints, global or regional1 global, 0 regional
Credential needed to list toolsNone
Billing tools in googleapis/gcloud-mcp0 of 57

“Google MCP endpoints can be global or regional.”

Cloud Billing MCP reference, Google Cloud documentation, 1 September 2026 · Why there is one address here and no region to choose between.

“Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential.”

cloudbilling.googleapis.com/mcp, Live tools/call response, 1 September 2026 · The credential the endpoint asks for, in its own words, returned as tool content rather than an HTTP error.

“This repository is currently in preview and may see breaking changes. This repository provides a solution, not an officially supported Google product.”

googleapis/gcloud-mcp README, GitHub, 1 September 2026 · The other route to billing data, and the support status that separates it from the hosted endpoint.

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 observability

Frequently 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.

Changelog

  • 18 August 2026. The Cloud Billing MCP reference carries this last-updated date, covering 29 tools on a global endpoint.
  • 12 August 2026. googleapis/gcloud-mcp last pushed, still with 57 tools and none for billing.
  • 6 May 2026. googleapis/gcloud-mcp storage-mcp-v0.6.0 released, the most recent version.
  • 9 September 2025. First gcloud-mcp release, gcloud-mcp-v0.1.0, with observability-mcp-v0.1.0 the same day.
  • 4 August 2025. googleapis/gcloud-mcp created on GitHub.

Sources

Every number on this page traces to one of these

  1. Cloud Billing MCP reference · endpoint, setup prerequisites and all 29 tools · read 1 September 2026
  2. A live tools/list and initialize against https://cloudbilling.googleapis.com/mcp · tool count, read-only and destructive annotations, protocol version · 1 September 2026
  3. Authenticate to MCP servers · Application Default Credentials, OAuth 2.0 and Authorization headers · same date
  4. Google Cloud MCP servers overview and Enable MCP servers · prerequisites, with no quota or rate limit stated · same date
  5. googleapis/gcloud-mcp README · 57 tools, preview notice, and no billing coverage · same date
  6. The denied command list in packages/gcloud-mcp/src/index.ts · same repository, same date
  7. GitHub API · repository facts for googleapis/gcloud-mcp and nozomi-koborinai/gcp-cost-mcp-server, same date

Google Cloud Billing’s own MCP documentation

Cloud cost, with purpose-built servers:

Cost management at the other big clouds: