How to connect VS Code to Google Ads

Connect Google Ads once in Ryze AI, add one MCP URL to VS Code, then ask GitHub Copilot Chat for GAQL reports, keyword research and campaign changes.

Your MCP URL
https://connector.get-ryze.ai/mcp

Copies the link. In VS Code run Chat: Open Customizations, MCP Servers, Add Server, HTTP. See the steps

See pricing

By Ira Bodnar, Ryze AI · Updated

Quick answer

To connect VS Code to Google Ads, connect Google Ads in a Ryze AI workspace with the Google login that has access to your ad accounts. Then in VS Code run Chat: Open Customizations, select MCP Servers, add an HTTP server with https://connector.get-ryze.ai/mcp and the server ID ryze, trust it and complete the Ryze AI sign-in.

  1. In Ryze AI open Integrations, find Google Ads under Advertising and click Connect
  2. Sign in to Google with the login that reaches your ad accounts and keep every permission checked
  3. In VS Code run Chat: Open Customizations, select MCP Servers and add an HTTP server with the connector URL
  4. Trust the server, sign in to Ryze AI, allow the workspace and ask your first question in Copilot Chat

Before you start

  • GitHub Copilot and VS Code 1.99 or later. GitHub's docs say MCP in Copilot Chat needs access to Copilot and VS Code 1.99 or later. Copilot Free, Pro, Pro+ and Max are not governed by the organization MCP policy.
  • The MCP policy, if Copilot comes from an organization. For members of an organization or enterprise on Copilot Business or Copilot Enterprise, the MCP servers in Copilot policy must be enabled. It is disabled by default, so ask an administrator to turn it on.
  • A Google login with access to your Google Ads accounts. Standard or admin access is needed to allow changes. A login with read-only access can answer questions but cannot change anything, because Google Ads permissions are set in Google. Agencies connect the manager (MCC) login once.
  • A Ryze AI workspace on a plan or free trial. Paid Ads is $89 per month with a 7-day free trial; Agency is $279 per month. Connecting the connector is free, but the Google Ads tools need an active plan or trial.

How to connect VS Code to Google Ads

Two steps happen in Ryze AI, four in VS Code. The connector URL is the same for every user.

  1. Connect Google Ads in Ryze AI

    Create a Ryze AI account or sign in. Open Integrations in the left sidebar and find Google Ads under Advertising. Click Connect, sign in to Google with the login that has access to your ad accounts and approve access with every requested permission checked.

  2. Check the connection

    Back in Ryze AI the Google Ads card shows Connected. There is no account to pick: Ryze AI sees every Google Ads account that login can reach. Optionally click View on the card and use Agent default accounts to choose the accounts the agent works with first.

  3. Open the MCP Servers list in VS Code

    Open the Command Palette and run Chat: Open Customizations, then select MCP Servers. Select Add Server (+) in the User or Workspace group.

  4. Add the HTTP server

    Choose HTTP (HTTP or Server-Sent Events) and enter https://connector.get-ryze.ai/mcp. Enter ryze as the server ID. For a personal setup, select Global, then Copilot Global. There is no client ID, developer token or secret to enter.

  5. Trust the server and sign in

    Review the trust and sign-in prompts VS Code shows, then complete the Ryze AI sign-in in the browser. On the Ryze AI page choose the workspace that holds your Google Ads connection and click Allow connection. One connection can cover up to 20 workspaces.

  6. Ask your first question in Copilot Chat

    Open Copilot Chat and ask: Use GAQL to list my enabled campaigns with cost, conversions and conversion value for the last 30 days. Approve the tool call when VS Code asks.

The Ryze AI help article for Google Ads covers the Google side of the connection. VS Code steps follow the VS Code MCP servers docs.

Command Palette and config files

The guided flow and the config files reach the same server. Pick the one that fits how you manage VS Code.

Command Palette

Run MCP: Add Server from the Command Palette and follow the prompts with the same URL and server ID. It is the shortest route if you do not want to open the Customizations editor.

Portable config file

You can also write the server into a file. The portable format is read from ~/.copilot/mcp-config.json or a .mcp.json at the workspace root and uses the key mcpServers. A workspace file is useful when a team shares one setup:

{ "mcpServers": { "ryze": { "type": "http", "url": "https://connector.get-ryze.ai/mcp" } } }

Older VS Code format

The older VS Code format lives in .vscode/mcp.json or the user mcp.json and uses the key servers. VS Code labels it deprecated in the guided flow, so older tutorials may point you there:

{ "servers": { "ryze": { "type": "http", "url": "https://connector.get-ryze.ai/mcp" } } }

Portable configurations do not support VS Code input variables or environment files. Do not paste a Google Ads credential into the file; the connector uses a sign-in, not a key, and the Google login stays inside Ryze AI.

VS Code behavior to know

  • VS Code tries Streamable HTTP first and falls back to Server-Sent Events.
  • Trusting a server to start, authenticating, and approving individual tool calls are three separate steps.
  • Servers that need interactive inputs are not forwarded to Copilot harness sessions.
  • VS Code's docs describe a browser authorization flow. Ryze AI was not tested in VS Code during our research, so if the sign-in does not start, use Ryze AI support below.

Access and permissions

Access is set in three places: Google, Ryze AI and VS Code.

Which Google login
Ryze AI connects with Google OAuth. Sign in with the login that has access to your Google Ads accounts and keep every requested permission checked: the Google Ads scope https://www.googleapis.com/auth/adwords plus openid, email and profile. The login needs access to at least one Google Ads account.
Which accounts
One login reaches every Google Ads account it can access, including client accounts under a manager (MCC) login. An account the login cannot access, or a client account under a manager login you did not connect, is out of reach. Over MCP, client accounts under an MCC need loginCustomerId.
Read or write
Google Ads permissions are set in Google, not in Ryze AI. A login with read-only access cannot make changes, so for a hard read-only guarantee connect a Google login that only has read access.
What VS Code asks
VS Code asks you to review the publisher, endpoint and requested access before it starts a server, then asks for the sign-in, then asks about individual tool calls. Read the first prompt before you accept it.

Removing access

To stop VS Code reaching Google Ads, open Chat: Open Customizations, select MCP Servers and disable or uninstall the ryze server. To remove Google access itself, click View on the Google Ads card in Ryze AI Integrations and disconnect the login.

What VS Code can do in Google Ads

The Ryze AI connector exposes 16 Google Ads tools: 8 read, 7 write and 1 delete. They use Google's official API and run as the Google login you connected.

ToolTypeWhat it does
google_ads__getAccountSummaryReadReturns aggregate account metrics for a date range.
google_ads__getAccountHierarchyReadReturns the manager and sub-account hierarchy for an account.
google_ads__listAccessibleCustomersReadLists every Google Ads customer account the connected login can access.
google_ads__listConversionActionsReadLists the conversion actions in an account.
google_ads__listRecommendationsReadLists Google Ads optimization recommendations for an account.
google_ads__runRawGaqlReadRuns a raw GAQL query, including change history from change_event.
google_ads__generateKeywordIdeasReadGenerates Keyword Planner ideas from seed keywords, a URL or both.
google_ads__generateKeywordHistoricalMetricsReadReturns Keyword Planner history (average monthly searches, competition, top-of-page bid range) for a known keyword list.
google_ads__runRawMutateWriteCreates or updates resources such as campaigns, budgets, ad groups, ads, keywords, criteria and assets.
google_ads__runRawCustomAudienceMutateWriteCreates or updates custom audiences based on keywords, URLs, place categories or apps.
google_ads__runRawUserListMutateWriteCreates or updates user lists, including Customer Match lists.
google_ads__uploadCustomerMatchMembersWriteAdds people to a Customer Match list. The server normalizes and SHA-256 hashes every identifier before it reaches Google. It only adds members.
google_ads__uploadImageAssetWriteUploads an image from a URL as an image asset that can be linked to campaigns, ad groups, asset groups or ads.
google_ads__applyRecommendationWriteApplies Google Ads recommendations.
google_ads__dismissRecommendationWriteDismisses Google Ads recommendations.
google_ads__runRawMutateDeleteDeleteRemoves resources. Removals are permanent, and the tool description tells the agent to use it only on an item-by-item approved list.

The write and delete tools change a live ad account: budgets, bids, keywords, ads, audiences and removals. VS Code treats approving individual tool calls as its own step, so read each call before you accept it, particularly runRawMutate and runRawMutateDelete. The item-by-item rule for the delete tool is an instruction in its description, not a block in the server. Scheduled tasks in Ryze AI run without an approval step.

Google Ads limits to know

Some limits come from Google and apply in any client, including Copilot Chat.

TopicLimit
RemovalsGoogle Ads has no undo, so removed items cannot be re-enabled.
Video adsVideo files cannot be uploaded through the connector. A video ad needs a YouTube video link.
Customer MatchThe upload tool only adds members. It cannot remove people from a list.
Change historyGAQL change history from change_event covers up to the last 30 days.
Recent conversionsGoogle's own reporting lags for recent conversions, and the connector cannot speed that up.
New campaignsGoogle reviews new campaigns first, which takes about a business day.

First 3 prompts to run

1. A campaign report with GAQL

Use runRawGaql to list my enabled campaigns with cost, conversions and conversion value for the last 30 days, ordered by cost, and put the result in a table.

Tools used: google_ads__runRawGaql

What comes back: One row per enabled campaign with the three metrics, sorted by cost. Because it renders in the chat panel, you can ask Copilot to save the table into a file in your workspace.

2. Who changed what

Query change_event for the last 14 days and list which user changed budgets, bids or campaign status, with the time of each change.

Tools used: google_ads__runRawGaql

What comes back: A list of changes with the user, the resource and the time. Change history covers up to the last 30 days.

3. Keyword ideas for a page in your repo

Take the URL of the page I have open in this project, generate Keyword Planner ideas from it, then pull average monthly searches and competition for the 15 most relevant ones.

Tools used: google_ads__generateKeywordIdeas, google_ads__generateKeywordHistoricalMetrics

What comes back: A keyword list with average monthly searches, competition and the top-of-page bid range from Keyword Planner.

Each answer comes from your own account, so this page describes what comes back instead of showing sample numbers. To make a change, ask for it in plain words, such as adding negative keywords or pausing a campaign by name, and read the tool call before you approve it.

Ryze AI vs Google's own Google Ads MCP server

Google publishes its own Google Ads API MCP server, so VS Code has two routes to Google Ads. They suit different setups.

OptionSetupCoverageWorks in
Ryze AI connectorGoogle sign-in inside Ryze AI, then one HTTP MCP server URL added in VS Code16 Google Ads tools: GAQL, Keyword Planner, campaign and asset changes, audiences, Customer Match, recommendations and a delete toolVS Code with GitHub Copilot, Claude, ChatGPT, Cursor and other MCP clients
Google Ads API MCP server (Google)Run it locally over stdio with Python 3.10+, pipx and the gcloud CLI, or deploy it remotely on Cloud Run. It needs a Google Cloud project with the Google Ads API enabled and OAuth 2.0 or a service account credentialsRead tools to list accessible customers, run GAQL searches and fetch resource metadata. Mutate tools cover standalone assets, YouTube video upload and account labels. Google lists campaign and ad creation and budget changes as not supportedAny MCP client that can run or reach the server

Google's server can be set to read-only by disabling the labels and assets namespaces in tools_config.yaml, and it needs no Ryze AI plan. It also means managing Google Cloud credentials yourself, and Google's page says developer tokens were sunset on September 9, 2026. The Ryze AI connector costs a plan after the trial, passes your data through Ryze AI, and adds campaign, budget and audience changes that Google's server does not list.

Sources: Google Ads API MCP server, VS Code MCP servers docs, GitHub Copilot MCP docs, VS Code MCP configuration reference, Ryze AI Google Ads integration. Checked November 13, 2026.

Other clients

Google Ads is connected once in Ryze AI, so nothing changes on the Google side when you use another client.

Claude Code

Claude Code registers the same URL from the terminal with its own command, and it has extra options such as an API key header. How to connect Claude Code to Google Ads.

Claude

In Claude the connector is added under Customize, Connectors, which is a different menu from VS Code. How to connect Claude to Google Ads.

ChatGPT and Codex

ChatGPT has its own plan rules for custom MCP servers, and Codex has its own setup, so read those guides before you connect. How to connect ChatGPT to Google Ads.

Errors and fixes

The MCP server does not start in VS Code
On Copilot Business or Enterprise, ask an administrator to enable the MCP servers in Copilot policy; it is disabled by default. Also check that VS Code is version 1.99 or later.
The sign-in never opens
Trust the server first, then authenticate; they are separate steps. Open the server output from MCP Servers in Chat: Open Customizations to see what VS Code reports, and email Ryze AI support if it stays stuck.
I followed an older tutorial and nothing happens
Current VS Code docs use Copilot Global (~/.copilot/mcp-config.json) and mark the .vscode/mcp.json destination as deprecated in the guided flow. Re-add the server through Chat: Open Customizations.
The Google Ads tools are missing
If the connector was added before Google Ads was connected, remove the ryze server, add it again and start a new chat.
An account is missing
Ryze AI sees only the accounts the connected Google login can access. Client accounts under a manager login need that manager login connected. Ask Copilot to run listAccessibleCustomers to see what the login reaches.
Changes fail
The connected Google user may have read-only access. Permissions are set in Google, not in Ryze AI. Reconnect with a login that has standard or admin access.
Numbers look low for yesterday
Google's reporting for recent conversions can lag. Ask again later, or compare a date range that ended a few days ago.
The wrong account answers
Set Agent default accounts on the Google Ads card in Ryze AI, or name the account in your prompt. A second Google login can be added with Add one more account.
The tool replies that a subscription is required
The Google Ads tools need an active Ryze AI plan or free trial. Start the trial in Ryze AI and retry.

Frequently asked questions

Which Google Ads connector should I use in VS Code?

Ryze AI is the best Google Ads connector for VS Code when you want one hosted URL with 16 tools that cover GAQL reports and campaign changes, but it needs a Ryze AI plan after the trial. Google's own Google Ads API MCP server needs no Ryze AI plan and suits read-focused work if you can set up Google Cloud credentials.

How do I connect VS Code to Google Ads?

Connect Google Ads in a Ryze AI workspace. In VS Code run Chat: Open Customizations, select MCP Servers, add an HTTP server with https://connector.get-ryze.ai/mcp and the ID ryze, trust it, sign in to Ryze AI and click Allow connection.

Does Google Ads have an MCP server for VS Code?

Yes. Google publishes a Google Ads API MCP server that runs locally over stdio or remotely on Cloud Run. Its documentation lists read tools for accessible customers, GAQL searches and resource metadata, plus asset and label changes. It needs a Google Cloud project with the Google Ads API enabled.

Which GitHub Copilot plan do I need?

GitHub says MCP needs access to Copilot and VS Code 1.99 or later. Copilot Free, Pro, Pro+ and Max are not governed by the organization policy. On Copilot Business or Enterprise, the MCP servers in Copilot policy must be enabled, and it is off by default.

Can VS Code change my Google Ads account?

Yes. The connector has write tools for campaigns, budgets, bids, keywords, ads, audiences and assets, plus a delete tool. VS Code asks about individual tool calls as a separate step, so read each one. A Google login with read-only access cannot make changes.

Do I need a Google Ads developer token?

No. You do not enter a developer token, client ID or secret in VS Code. The Google login is connected inside Ryze AI, and VS Code only holds the connector URL and the Ryze AI sign-in.

Can I manage client accounts under a manager account?

Yes, if you connect the manager (MCC) login. One login reaches every Google Ads account it can access, and over MCP client accounts under a manager need loginCustomerId. Separate clients belong in separate Ryze AI workspaces.

Should I use the config file or the Customizations editor?

Both reach the same server. The Customizations editor is the current route. A .mcp.json at the workspace root with the key mcpServers lets a team share one setup, and the older .vscode/mcp.json format with the key servers is labeled deprecated.

Why do the Google Ads tools not show up in Copilot Chat?

Check that the ryze server is enabled and trusted in MCP Servers, then start a new chat. If Google Ads was connected after you added the server, remove the server, add it again and start a new chat. On an organization plan, check the MCP policy.

How much does it cost?

Connecting the connector is free, but the Google Ads tools need an active Ryze AI plan or free trial. Paid Ads is $89 per month with a 7-day free trial and Agency is $279 per month. Annual billing takes 30% off the first year.

How do I disconnect Google Ads from VS Code?

Open Chat: Open Customizations, select MCP Servers and disable or uninstall the ryze server. To remove Google access, click View on the Google Ads card in Ryze AI and disconnect the login.

Connect Google Ads to VS Code

Paid Ads is $89 per month with a 7-day free trial; Agency is $279 per month. Annual billing takes 30% off the first year.

Google Ads MCP server

Need help? Read the Ryze AI Google Ads guide or email Ryze AI support.