The short answer
Choose a hosted Google Ads MCP service when your priority is getting marketers connected quickly without owning infrastructure. Choose Google’s official server when you want a Google-maintained starting point and have the engineering capacity to configure, host, secure, and update it. Build or fork a custom self-hosted server only when control over tools, data handling, or internal workflows is valuable enough to justify ongoing engineering.
There is one important wrinkle: “official” and “self-hosted” are not opposites. Google’s official server is open-source software that you can run locally or deploy yourself. “Official” describes who maintains the code; “hosted” and “self-hosted” describe who operates it.
That distinction matters more than a long feature checklist. The real decision is who owns authentication, deployment, write safety, account routing, monitoring, upgrades, and support after the first successful query.
Start with the two axes: maintainer and operator

Who maintains the code?
A server may be maintained by Google, by a commercial provider, by an open-source community, or by your own team. Maintainer reputation can influence release quality and support, but it does not tell you where the server runs or who stores credentials.
Who operates the server?
A self-operated server runs in your environment: a laptop, an internal host, or cloud infrastructure you control. A hosted server runs in the provider’s environment and is exposed as a remote MCP endpoint. Operation determines who handles uptime, OAuth callbacks, token storage, logging, patching, and incident response.
This is why Google’s official server belongs in two categories at once: it is official code and, unless you are in a limited hosted program, a self-operated deployment.
Google Ads MCP server comparison
Dimension | Google official server (self-operated) | Custom self-hosted server | Hosted service |
Code owner | Google-maintained open-source package | Your chosen, forked, or proprietary codebase | Provider-maintained tool catalog |
Server operator | Your team | Your team | Provider |
Setup | Python, Cloud project, API access, OAuth or service account, deployment, client config | All official-server work plus your own tool design, testing, deployment, and support | Connect remote endpoint, authorize, and select accounts |
Read/write scope | Reporting plus release-specific tools; v0.0.6 adds asset and label mutations – verify version and config | Whatever you implement and maintain | Provider-specific; HireOtto supports defined reads and selected writes |
Account routing | Customer ID and login customer ID; multi-user UX depends on your deployment | You design profiles, token isolation, tenancy, and routing | Provider-specific; HireOtto multiple profiles require Agency |
Permissions | Google Ads roles and hierarchy | Google Ads roles and hierarchy | Google Ads roles and hierarchy |
Maintenance and security | You patch, host, store OAuth state, monitor, and upgrade | Highest engineering and security ownership | Provider operates server; you assess vendor controls |
Cost model | No hosted-server subscription; engineering and infrastructure still apply | Engineering, infrastructure, security, and ongoing maintenance | Subscription or usage fees, with lower internal operations burden |
Best fit | Technical teams wanting a Google-maintained base | Teams with durable bespoke requirements | Marketers prioritizing speed and supported operations |
Use the matrix as a shortlist, not a substitute for testing the exact release and tool catalog you plan to connect. Google Ads permissions still apply in every model.
Option 1: Google’s official Google Ads MCP server
Google’s official server is the clearest baseline for teams that want a Google-maintained package and direct access to the underlying Google Ads API. It is written in Python and supports local stdio or remote Streamable HTTP deployments, including a Cloud Run path. Authentication can use OAuth 2.0 or a service account.
What setup actually involves
Create or select a Google Cloud project with the required Google Ads API access level.
Configure OAuth credentials or a service account with access to the intended Google Ads accounts.
Install and run the Python package locally, or deploy and operate it as a remote service.
Configure the MCP client and, for manager-account access, supply the correct login customer ID.
Decide how OAuth state, encryption keys, logs, updates, and backups will be handled in production.
Google’s repository now documents dynamic OAuth through a Streamable HTTP deployment, plus file, Redis, Firestore, or memory-backed OAuth state. Those options are useful, but they are still operating decisions your team owns.
Write support is version- and configuration-dependent
This is the publication-sensitive part of the comparison. Google’s current developer integration guide still labels the server “read-only” and lists account discovery, GAQL search, and resource metadata. But the official repository’s latest release, v0.0.6, was published on November 2, 2026 with asset and label management. The repository documents a propose-and-confirm workflow for those mutations and allows the write namespaces to be disabled.
The practical conclusion is not that one source is “right” and the other is “wrong.” It is that the deployed version and tools configuration are the source of truth. Pin the package version, inspect the exposed tools in your AI client, and test a non-destructive validation path before assuming a server is read-only or read/write.
Even in v0.0.6, write scope is narrow compared with full campaign management. The documented mutations cover assets, video upload, labels, and label associations – not arbitrary bid, budget, campaign, ad group, keyword, or conversion changes.
Account routing is flexible, but not a managed agency workspace
The official server accepts a login customer ID per tool call or as a default. It can also support dynamic OAuth when deployed as a remote service. That gives technical teams the building blocks for multi-user or multi-account access, but the operator still decides how profiles are named, tokens are isolated, tenants are separated, and users select the right hierarchy.
For most requests, the agent also needs a target customer ID. When an operator moves among many accounts, explicit customer IDs and login-customer-ID handling become part of prompt and workflow design.
Best fit
Choose the official server when you want a Google-maintained base, primarily need reporting and GAQL access, can own the deployment, and are comfortable verifying release-specific mutations.
Option 2: a custom or community self-hosted server
A custom self-hosted server gives you maximum control over the tool surface. You can expose only approved actions, encode internal naming rules, add validation, integrate ticketing or approval systems, and route requests through your own infrastructure.
What you gain
Control over which Google Ads operations exist as tools.
Freedom to add internal guardrails, approval states, audit logging, and custom reporting.
Choice of hosting region, secret storage, observability stack, and retention policy.
The ability to integrate proprietary data or workflows that a general-purpose provider will not support.
What you inherit
OAuth and consent-screen setup, token refresh, encryption, and account revocation handling.
Google Ads API version changes, MCP protocol updates, dependency patches, and client compatibility.
Tenant separation, manager-account routing, retries, quotas, error translation, and support.
Design and testing of write safety, including validation, confirmation, partial failure, and readback.
The first working query is not the finish line. The long-term cost is maintaining a trustworthy operational system as Google Ads, MCP clients, and your own requirements change.
Best fit
Choose a custom server when Google Ads automation is a product capability or durable internal platform – not a side project – and you have an owner for security, reliability, and release management.
Option 3: a hosted Google Ads MCP service
A hosted service packages the server, OAuth flow, platform integration, and ongoing maintenance behind a remote MCP endpoint. The buyer connects an AI client, authorizes Google Ads, and uses the provider’s supported tools.
What a hosted service simplifies
No local Python process, Cloud Run deployment, OAuth application, or server patching.
A defined tool catalog with provider-maintained parameter handling and error messages.
Provider-operated token storage, uptime, upgrades, and compatibility work.
Faster onboarding for marketers who do not want to become MCP infrastructure operators.
What still needs evaluation
Exact read and write tools, including whether writes require a proposal, approval, or validation step.
How the provider handles multiple Google logins, manager hierarchies, and customer-ID selection.
Plan limits, usage pricing, exports, audit features, support, and data-retention policies.
How to revoke access, verify a completed change, and recover from a partial failure.
Whether the provider’s AI-client support matches the tools your team actually uses.
Hosted does not remove Google’s permission model. The connected Google identity and its effective role still determine which accounts and actions are available.
Best fit
Choose a hosted service when time-to-value and marketer usability matter more than controlling every infrastructure layer, and when the provider’s defined tool catalog covers the workflows you actually need.
Six questions that expose the real differences
1. What can the server read – and what can it change?
Ask for the live tool list, not a marketing label. Separate reporting, discovery, planning, validation, and mutation. “Read/write” can mean anything from creating one asset type to managing campaigns, budgets, ads, keywords, conversion actions, and bidding settings.
2. How are consequential changes reviewed?
A safe workflow should make the account, object, current value, proposed value, and scope visible before a change is committed. After the write, it should read back the saved state. For bulk changes, ask how partial failures and rollback are handled.
3. How does account access work across MCCs and logins?
Google Ads uses advertiser accounts and manager-account hierarchies. The login customer ID selects the hierarchy used to evaluate access. A server that works for one direct account may still be awkward for an agency switching among several MCCs or Google identities.
4. Which permissions are enforced?
Google Ads does not use a separate OAuth scope for read-only versus read/write. The API follows the user’s Google Ads role. Read-only access can inspect reporting and account information; Standard or Admin access is needed for many changes, while Admin is required for account-user and certain linking tasks.
5. Who owns maintenance and security?
For self-hosting, ask who patches dependencies, rotates secrets, monitors failures, stores OAuth state, and handles new API versions. For a hosted provider, ask the same questions as vendor due diligence rather than assuming they disappear.
6. What is the total cost of ownership?
Compare subscription or usage fees with engineering time, infrastructure, monitoring, security review, support, and upgrade work. “Free open source” can be economical for a capable platform team and expensive for a marketing team that has to borrow engineers for every incident.
A practical decision rule

Choose Google’s official server if reporting and limited official mutations cover your needs, and your team is prepared to operate the service.
Choose a custom self-hosted server if proprietary workflows, infrastructure control, or deeper write coverage justify continuous engineering ownership.
Choose a hosted service if marketers need a supported endpoint, faster onboarding, and a broader defined workflow without running the server themselves.
Then run a small proof of value with one account: list accessible customers, pull a seven-day campaign report, inspect permissions, and test the safest available validation or proposal path. Do not begin with a bulk write.
How HireOtto helps with this decision
HireOtto is the hosted option in this comparison. You connect its remote Google Ads MCP endpoint to an MCP-capable AI client, authorize Google Ads through OAuth, select the accounts you want available, and work from the conversation. You do not need to build a Google Cloud app, configure server credentials, or operate a local process.
For this workflow, HireOtto can discover authorized accounts, report and analyze performance, research keywords, inspect change history, run supported audits, and create or update supported Google Ads entities. Its current tools include campaign, ad group, ad, keyword, negative-keyword, budget, bidding, asset, conversion-action, Performance Max, and Demand Gen workflows. Availability still depends on the exact tool, plan, object state, Google Ads role, and platform validation.
Agency teams can connect multiple Google profiles on the Agency plan. HireOtto discovers direct accounts plus one level of child accounts beneath an accessible MCC. It does not automatically traverse a nested MCC beyond that level; to reach deeper accounts, connect another Google login with direct access to the inner manager account.
HireOtto is not an autonomous media buyer. The marketer still owns the objective and approval. For important changes, name the customer ID and affected entities, inspect the proposed values, approve the intended scope, and read the live state back after the tool runs. If the connected Google role cannot perform an action – or HireOtto does not expose that action – the server cannot bypass the limitation.
Check the Google Ads MCP tools reference, review authentication and manager-account access, and then connect Google Ads to your AI tool.
Frequently asked questions
Is Google’s official Google Ads MCP server hosted by Google?
The public package is designed for you to run locally or deploy yourself. Google’s guide also refers to a limited hosted-endpoint pilot, but the normal public path is self-operated. Confirm current hosted availability before planning around it.
Is the official Google Ads MCP server read-only?
The answer depends on the release and configuration. Google’s developer guide still describes the current implementation as read-only, while the official v0.0.6 release adds asset and label mutations with propose-and-confirm safety. Verify the installed version and exposed tools.
Does self-hosting give broader Google Ads permissions?
No. Hosting location does not override Google Ads access. The connected identity’s role and the selected manager hierarchy still control effective permissions.
Can one MCP server manage multiple Google Ads accounts?
Yes, but account discovery and routing vary. Evaluate customer-ID selection, login-customer-ID handling, multiple OAuth identities, token isolation, and nested manager hierarchies – not just whether a demo can query two accounts.
Do marketers need a developer token for Google’s official server?
Google’s current integration guide says developer tokens were sunset on September 9, 2026 and the latest server uses Google Cloud project access levels instead. Older tutorials and pinned versions may still describe the previous setup, so follow the documentation for the exact release you deploy.
About Me
I’m Suyash – badminton junkie, ex‑GroupM ad‑ops grunt, first marketer at a B2B SaaS startup, and creator of Hiretto: MCP servers for performance marketers.
My mission: less clicking, more thinking.
Let’s build leverage together.

