Run claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp, then type /mcp and sign in with your PaidSync login. Claude Code then has 460+ tools across 14 platforms, including Google Ads, Meta Ads, TikTok Ads and LinkedIn Ads. It can pull reports, audit accounts, and change budgets, bids and campaigns. Every write is held for your approval before it runs.
One command. OAuth sign-in, no key pasted. Free plan, 15 tasks a month, no card.
Claude Code talks to remote MCP servers over Streamable HTTP. PaidSync is one of them. Add it once and the same terminal that edits your code can read and change your ad accounts.
claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcpBy default that registers the server for the current project only. Add --scope user to make it available in every project on your machine. Run claude mcp list to confirm it is there, then start a session and type /mcp to sign in.
Takes 10 seconds. Google or email sign-in. The free plan is 15 tasks a month at $0, no card.
Click Connect on each platform you run. Google Ads authorizes via Google OAuth. Meta Ads authorizes via Facebook OAuth. LinkedIn Ads authorizes via LinkedIn OAuth. TikTok Ads authorizes via TikTok OAuth. Merchant Center, Google Analytics 4 and Search Console use the same Google sign-in. Each one takes about a minute. PaidSync stores the tokens encrypted at rest with AES-256-GCM and never sees your platform password.
After each sign-in, PaidSync lists the ad accounts that login can reach. Tick the ones that belong in this workspace. Claude Code only ever sees the accounts you pick, so a client account you did not tick stays invisible.
In your terminal, run:
claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcpStart a session, type /mcp, pick paidsync, and sign in with your PaidSync login in the browser window that opens. Claude Code stores the OAuth token for you. No key is pasted anywhere.
Setting this up for a team? Commit a .mcp.json at the repo root so every engineer gets the same connector:
{
"mcpServers": {
"paidsync": { "type": "http", "url": "https://mcp.paidsync.ai/mcp" }
}
}Prefer an API key for read-only reports? Use https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here as the URL. Applying a change still requires the OAuth sign-in.
In a Claude Code session ask: "List my ad accounts"
Claude Code returns the account names and IDs across every platform you connected. Then try a live query: "Show me last 7 days spend by platform"
Claude Code reads a CLAUDE.md at the root of the project at the start of every session. For an ads workspace it is the place to pin the accounts, the currency, the naming rules, and the lines Claude Code must not cross on its own. A starting point:
# Ads workspace
## Accounts
- Google Ads: Acme (123-456-7890), EUR
- Meta Ads: Acme Retail, EUR
- LinkedIn Ads: Acme B2B, USD
- TikTok Ads: Acme Shop, EUR
## How to work
- Call paidsync_context first in every session, then use the account named above.
- Default date range is last_30_days unless I name one.
- Report spend in the account currency. Never convert.
- Before any budget, bid or status change, run the tool with dry_run: true and show me the preview.
- Never pass confirm_destructive unless I say "confirm delete" in the same message.
- Weekly audit: run the official account-audit workflow, then find-waste, and write the summary to reports/YYYY-MM-DD.md.
## Naming
- Campaigns: {market}_{objective}_{product}_{yyyymm}
- Negative keyword lists: neg_{theme}Keep it short. Claude Code follows what is there, and a long file gets skimmed the way a long brief gets skimmed.
The -p flag runs Claude Code without the interactive session. Sign in once through /mcp and the stored OAuth token carries over. A morning audit that lands in a file looks like this:
claude -p "Run the account-audit workflow on the Acme Google Ads account, \
then list the three highest-impact fixes with the numbers behind each." \
--allowedTools "mcp__paidsync" \
--output-format json > reports/audit-$(date +%F).jsonReads run straight through. If the prompt asks for a change, PaidSync holds the write for approval, so a cron job can find waste and propose the fix but cannot spend money by itself. Put the same line in a scheduled task and you have a daily audit across Google Ads, Meta Ads, TikTok Ads and LinkedIn Ads with no dashboard open.
Two gates sit between a prompt and a live change, and they belong to different people.
--allowedTools or in your settings. That gate decides whether the call leaves your terminal at all.dry_run returns a preview instead of applying anything. Deleting a campaign, an ad group or a feed needs confirm_destructive. Approved changes come with one-tap undo and a 7-day outcome check.Skipping Claude Code's prompt does not skip PaidSync's. A script that runs with every tool allowed still cannot change a budget until the write is approved on the PaidSync side. That is the property that makes headless runs safe to schedule.
The same server entry covers all 14 platforms. Counts below come from the current PaidSync tool registry. Build means Claude Code can create campaigns. Manage means pause, enable, budget and settings on existing campaigns. Configure means it writes tracking or feed configuration. Watch means read only.
149 tools, build tier. Campaigns, ad groups, keywords, negatives, bidding, audiences, RSAs, reports. See the Google Ads MCP pillar and the Google Ads to Claude setup.
81 tools, build tier. Campaigns, ad sets, ads, audiences, creative fatigue, reports. See the Meta Ads MCP pillar and the Meta Ads to Claude setup.
13 tools, manage tier. Pause, enable, budget and settings on existing campaigns, plus reports. See the TikTok Ads MCP pillar and the TikTok Ads to Claude setup.
25 tools, build tier. Campaign groups, campaigns, creatives, reports. See the LinkedIn Ads MCP pillar and the LinkedIn Ads to Claude setup.
16 tools, configure tier. Product and feed operations, disapproval checks, never campaigns. See the Merchant Center MCP pillar and the Merchant Center to Claude setup.
26 tools, configure tier. Reports plus writes to tracking configuration such as events and conversions. See the GA4 MCP pillar and the GA4 to Claude setup.
6 tools, watch tier. Read only. Search analytics, query and page performance, index coverage, useful for paid plus organic reports in one prompt. See the Search Console to Claude setup.
Microsoft Ads, Snapchat Ads, Reddit Ads, Pinterest Ads, X Ads, ChatGPT Ads and Google Tag Manager ride on the same connector. The full list is on the MCP server page.
Google ships its own MCP server for Google Ads. It is a good fit if you only need to query one platform and are happy to run the server yourself. The two are built for different jobs.
| Google Ads official MCP server | PaidSync | |
|---|---|---|
| Access | Strictly read-only | Read and write, every write held for approval |
| Tools | 3 | 460+ |
| Platforms | Google Ads only | 14, including Meta Ads, TikTok Ads and LinkedIn Ads |
| Hosting | Self-hosted, you run it | Hosted at https://mcp.paidsync.ai/mcp |
| Sign-in from Claude Code | Your own Google Ads API credentials | OAuth 2.0 through /mcp with your PaidSync login |
| Saved workflows | None | Five official workflows plus your own, on Plus, Pro and Max |
| Price | Free, plus your hosting | Free plan, 15 tasks a month, then from $99 |
Sources, checked 2026-09-01: developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server and github.com/googleads/google-ads-mcp. Meta runs an open beta of its own read and write server at mcp.facebook.com/ads since April 29 2026, gated per ad account. TikTok has an official Ads MCP since May 13 2026. LinkedIn has no official server as of September 2026.
Sign up at paidsync.ai, connect Google Ads via Google OAuth in the dashboard, then run claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp in your terminal. Type /mcp inside a session, pick paidsync, and sign in with your PaidSync login. The same connector covers Meta Ads, TikTok Ads, LinkedIn Ads and ten more platforms.
No. The OAuth sign-in through /mcp is the primary path and the only one that can apply changes. An API key works for read-only reports: use https://mcp.paidsync.ai/mcp?api_key=ps_your_key_here as the server URL. A key in a URL lands in shell history and logs, so prefer OAuth.
Both. Claude Code can pause campaigns, change budgets and bids, add negative keywords, and create campaigns on Google Ads, Meta Ads and LinkedIn Ads. Every write is held for your approval before it runs, dry_run previews the change, and destructive operations need confirm_destructive. Search Console is read only.
Yes. Once you have signed in through /mcp, claude -p reuses the stored OAuth token. Pass the PaidSync tools with --allowedTools and write the output to a file. Reads run straight through. Writes are still held for approval on the PaidSync side, so a scheduled script can audit and propose but cannot spend on its own.
Google's official server is strictly read-only, ships 3 tools, covers Google Ads only, and you host it yourself. PaidSync is hosted at https://mcp.paidsync.ai/mcp, covers 14 platforms with 460+ tools, and can apply changes with approval gating. Details at developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server.
Yes. Commit a .mcp.json at the repo root with a paidsync entry of type http and url https://mcp.paidsync.ai/mcp. Every engineer who opens the project gets the connector and signs in with their own PaidSync login. Add --scope user to the claude mcp add command if you want it in every project on your machine instead.
Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, Microsoft Ads, Snapchat Ads, Reddit Ads, Pinterest Ads, X Ads, ChatGPT Ads, Google Tag Manager, Google Analytics 4, Google Search Console and Google Merchant Center. Fourteen platforms, one endpoint, one sign-in.
Yes. The free plan is $0 for 15 tasks a month with no card. Pro starts at $99 a month and Team at $249 a month. Claude Code itself needs an Anthropic plan that includes it.
460+ tools. 14 platforms. One command in Claude Code.
Get Started Free