Ads MCP servers compared: LinkedIn, Google, Meta and Amazon
The servers that exist for each platform, which are official, what each can change, how it signs in and what it costs, checked on 2026-11-07.
An ads MCP (Model Context Protocol) server lets an AI assistant like Claude or ChatGPT read and change an ad account through tools. Meta (mcp.facebook.com/ads, open beta since April 29, 2026), Google (googleads/google-ads-mcp) and Amazon (open beta for API partners) now run official ones, and LinkedIn doesn't. We checked every server we could find against the same 3 tasks on 2026-11-07, and the tables below give each one's install command, sign-in, what it can change, its guardrail and its price. Adwarp is our project. It's labeled in every row and sorted by the same rules as the others.
The comparison table
The 2 tables below cover the 19 servers we checked. Official servers come first, then everything else alphabetically, Adwarp included. The first one covers what each server can change in an account, and install, sign-in and price are in the second.
What each server can change (checked 2026-11-07)
| Server | Platforms | Official | Writes | A new campaign lands | Confirm step |
|---|---|---|---|---|---|
| Meta Ads MCP server | Meta | Yes | Campaigns, ad sets, ads, audiences, catalogs, pixels, A/B tests | Paused | Your client asks before ads_activate_entity; admins can set rules |
| google-ads-mcp | Yes | Assets and labels only | No campaign writes | Propose, then confirm with a checksum | |
| Amazon Ads MCP server | Amazon | Yes | Create, update and delete campaigns | Not stated | Not stated |
| AdKit | Meta, Google, LinkedIn and 4 more | No | Create, edit, publish | Draft | Your approval |
| Adspirer | Google, Meta, LinkedIn, Amazon, TikTok, ChatGPT Ads | No | Campaigns of most types, budgets, targeting, pausing | Paused | Your approval; can't delete existing campaigns |
| Adwarp (ours) | LinkedIn, Google | No | LinkedIn campaigns, ads, audiences, budgets, status; Google Search campaigns | Draft on LinkedIn, paused on Google | Google validateOnly dry run; dryRun preview on LinkedIn updates |
| BlueAlpha | Several, LinkedIn included | No | None listed | No campaign writes | None needed |
| Composio | No | Campaigns and budgets through mutate tools | Not stated | Not stated | |
| danielpopamd/linkedin-ads-mcp | No | Campaign groups, campaigns, ads, deletes | Draft by default, ACTIVE accepted | None in the code | |
| GoMarble | No | Launches, budgets, pausing (Operator plan) | Not stated | Your approval | |
| KuudoAI amazon_ads_mcp | Amazon | No | Campaigns, bids, deletes | Straight to the API | None in the open-source server |
| linkedin-ads-mcp | No | Campaign groups, campaigns, status | Draft by default, ACTIVE accepted | None in the code | |
| linkedin-campaign-manager-mcp | No | Nothing, read-only | No campaign writes | None needed | |
| Markifact | Meta, Google, LinkedIn | No | Campaigns, ads, budgets, pausing | Held until approved, then live | Approval inside Markifact |
| Marketplace Ad Pros | Amazon | No | Opt-in writes | Not stated | Each change asks you to confirm |
| Pipeboard | Meta, Google, TikTok, Snap, Reddit | No | Campaigns, ad sets, ads, budgets, targeting | Paused | Promised in the README; none in the open-source code |
| Ryze AI | No | Recommendations, raw mutate and delete, audiences | Not stated | Your approval, validateOnly dry runs | |
| Synter | LinkedIn and others | No | Campaigns, matched audiences | Paused | Held for review above your thresholds |
| Zapier | Google, plus other apps | No | Campaign status, offline conversions, customer lists | Can't create campaigns; status changes are live | Your client's approval prompt |
How you connect it (checked 2026-11-07, prices as each vendor lists them)
| Server | Address or install | Sign-in | Runs | License | Price |
|---|---|---|---|---|---|
| Meta Ads MCP server | https://mcp.facebook.com/ads | Facebook Login for Business | Hosted by Meta | Hosted service | Not listed |
| google-ads-mcp | pipx run --spec "git+https://github.com/googleads/google-ads-mcp.git" google-ads-mcp | Google Cloud project, then OAuth or gcloud credentials | Local, or self-hosted | Apache-2.0 | Free |
| Amazon Ads MCP server | https://advertising-ai.amazon.com/mcp | Login with Amazon, plus Amazon Ads API access | Hosted by Amazon | Hosted service | Not listed |
| AdKit | https://mcp.adkit.so | AdKit sign-in | Hosted | MIT for the client repo | $29 a month for 1 project, $49 for unlimited |
| Adspirer | https://mcp.adspirer.com/mcp | OAuth 2.1 | Hosted | Repo says MIT, README says proprietary | Free for 15 calls a month, then $49, $99, $199 a month |
| Adwarp (ours) | npx -y adwarp mcp, or https://mcp.adwarp.dev/api/mcp | Your own LinkedIn app and Google OAuth client | Local, or hosted for LinkedIn | MIT | Free |
| BlueAlpha | https://mcp.bluealpha.ai/mcp | BlueAlpha account | Hosted | Hosted service | Free install, paid tiers not listed |
| Composio | Composio's Google Ads toolkit | OAuth | Hosted | Hosted service | Free for 100,000 calls a month, Pro $29 a month |
| danielpopamd/linkedin-ads-mcp | git clone, then npm run auth | Your own LinkedIn app | Local | MIT | Free |
| GoMarble | https://apps.gomarble.ai/mcp-api/mcp | OAuth | Hosted | Hosted service | $139 a month read-only, $399 with writes |
| KuudoAI amazon_ads_mcp | docker compose up -d from the repo | Your own Login with Amazon app, or a managed login | Local | MIT | Free, managed logins billed by Kuudo |
| linkedin-ads-mcp | pip install linkedin-ads-mcp | Your own LinkedIn app | Local | MIT | Free |
| linkedin-campaign-manager-mcp | npm install -g linkedin-campaign-manager-mcp | Your own LinkedIn app | Local | MIT | Free |
| Markifact | https://api.markifact.com/mcp | OAuth | Hosted | Hosted service | $79 or $249 a month |
| Marketplace Ad Pros | https://app.marketplaceadpros.com/mcp | OAuth | Hosted | MIT for the repo | From $10 a week |
| Pipeboard | https://meta-ads.mcp.pipeboard.co/ | Pipeboard login, then Facebook | Hosted, or local from source | Business Source License 1.1 | Free for 2 ad accounts, then $29.90, $99, $199 a month |
| Ryze AI | https://connector.get-ryze.ai/mcp | Sign in with Google | Hosted | Hosted service | $89 a month |
| Synter | https://mcp.synterai.com/mcp | OAuth in the browser | Hosted | MIT for the client | Free to read, $20 a month to write, $5 per campaign |
| Zapier | mcp.zapier.com | Zapier account | Hosted | Hosted service | 2 tasks per call, free for 100 tasks a month |
How we checked
We checked every server against the same 3 tasks, the kind you'd ask from Claude Code:
- Report spend, clicks and conversions for the last 30 days, by campaign.
- Find the ads to pause under 1 stated rule: 500 USD or more spent and 0 conversions in the last 30 days.
- Draft a new campaign, then check where it landed: live, paused or draft.
For this edition we answered the 3 tasks from what each server ships on 2026-11-07: the tool list, the source code where it's open, the docs, the license file and the price page. For every hosted server with a public address we also sent 1 request without a token and wrote down the sign-in it asked for. That is how we know Meta's endpoint answers with an OAuth challenge that lists its scopes, ads_management among them, and that Amazon's points at Login with Amazon.
We didn't connect any server to a live ad account for this edition, ours included. Where the docs say a new campaign starts paused, the table says paused and the card names the page it came from. For the open-source servers we read the code that sets the status, since a README and the code don't always agree. Twice they didn't, and both cases are in the cards below.
We build Adwarp. It sits in the same tables under the same rules, official servers first and then alphabetical order, and nobody gets a score. Where another server does something better than ours, its card says so.
Changelog. 2026-11-07: first edition, 19 servers checked against their own repos, docs and endpoints. Next check: 2027-02-07, with the new date in the title.
Meta Ads and Facebook Ads MCP servers
Meta has the busiest field and the most complete official server of the 3. Every server here, Meta's included, sends its calls through the same Marketing API, so the limits on edits and budget changes in the last part of this section apply whichever one you pick.
Meta's official Ads MCP server
Meta announced its ads AI connectors on April 29, 2026, "in open beta", as an MCP server plus a command line interface (CLI). An update on July 16, 2026 added connecting through your own developer app and "ads MCP server rules". The developer pages we read on 2026-11-07 don't carry a beta label, and none of Meta's pages list a price.
- Address:
https://mcp.facebook.com/ads, hosted by Meta (overview). - Sign-in: your client opens Facebook Login for Business. A request without a token got a 401 naming the scopes it wants, from
ads_readandads_managementtoads_mcp_management. User tokens and Employee-role system user tokens work, and the setup page says "Admin-role system user access tokens can't access the ads MCP server." - Claude Code, with your own app:
claude mcp add --transport http --client-id <META_APP_ID> meta-ads https://mcp.facebook.com/ads. Owning an app is optional, and Meta's help center covers the setup without one. - Tools: Meta doesn't give a total. Its 7 tool pages list 88 different tools by our count, and Jon Loomer puts it at "nearly 100".
- Task 1:
ads_get_ad_entitiesreturns campaigns, ad sets and ads with spend, impressions, click-through rate, cost per click and conversions. - Task 2: the same read finds the ads. The tools page lists no pause tool, and
ads_update_entity("Update fields on an existing campaign, ad set, or ad") doesn't say whether status is 1 of those fields, so the docs alone don't confirm a pause. - Task 3:
ads_create_campaign,ads_create_ad_setandads_create_ad. From the tools page: "Write tools create entities in a paused state; your AI client asks for confirmation before activation." The tool that switches things on isads_activate_entity, which "starts spending budget".
Look at those rules before anything else. A person with full control of a business portfolio uses them to limit what agents do in an ad account, budget changes and catalog updates included. Loomer checked his accounts in August 2026 and found all "7 of 7" actions allowed until he changed them: budgets, campaigns, ad sets, ads, targeting, creative and status. Until someone sets them, the paused default is the only brake. Agencies that connect client accounts through their own app also need App Review for Advanced Access.
Meta's CLI sits beside the server. It installs with brew tap facebook/fb then brew install facebook/fb/meta-ads, or pip install meta-ads on Python 3.12 or later, and it signs in with a system user access token (CLI setup).
It also reads Meta's own benchmarks, anomaly signals and opportunity score, which no third-party server can reach. If you run Meta Ads, start here. Adwarp doesn't cover Meta at all.
Pipeboard
Pipeboard's repo had 1,356 stars on 2026-11-07, more than any other ads server we checked. Its license is the Business Source License 1.1. You can read and run the code, but you can't offer it as a competing hosted service, and it converts to Apache-2.0 on January 1, 2029.
- Hosted:
https://meta-ads.mcp.pipeboard.co/with 42 tools. The same login also covers Pipeboard's Google Ads (59 tools), TikTok, Snap and Reddit servers. - Local: run it from source with your own Meta app or a
META_ACCESS_TOKEN. - Tasks 1 and 2: insights by campaign, ad set or ad, and pausing or resuming.
- Task 3: in the code, campaigns, ad sets and ads all default to
PAUSED. The README promises "explicit confirmation on every write". We found no confirm step in the open-source code, so on a local install the only check is your client's own permission prompt. - Price: free for 2 ad accounts and 30 tool runs a week, then $29.90, $99 or $199 a month (pricing).
If you run ads on 3 or 4 of those platforms and want 1 login for all of them, Pipeboard does that and Adwarp doesn't.
Markifact, Adspirer and other hosted Meta servers
These sign you in with OAuth and keep the ad platform tokens on their side. You skip the developer setup, and in exchange your account data passes through the vendor.
- AdKit (
https://mcp.adkit.so) covers Meta, Google, TikTok, LinkedIn, Microsoft, Reddit and X. Its repo says every change starts as a draft and nothing goes live without your approval. $29 a month for 1 project, $49 for unlimited, with a 7-day trial (pricing). - Adspirer (
https://mcp.adspirer.com/mcp) lists 58 Meta tools in its README, for image, video, carousel, catalog and lead campaigns. "New campaigns are always created paused." Free for 15 tool calls a month, then $49, $99 or $199. - Markifact (
https://api.markifact.com/mcp) gives "Full read and write access" to campaigns, ad sets, creatives, audiences and budgets, and writes "always stop for your approval" inside Markifact (Meta page). $79 or $249 a month after trial credits.
Is "Facebook Ads MCP" the same thing?
Yes. Facebook and Instagram ads run in the same Meta ad account, through the same Marketing API, so a "Facebook Ads MCP" and a "Meta Ads MCP" are the same servers. Meta's endpoint even asks for Instagram scopes next to the ads ones, and Pipeboard labels its server "Facebook + Instagram".
So "MCP in Facebook ads" means a server your assistant connects to so it can pull reports and build campaigns in your ad account, and "a Meta MCP" usually means Meta's own at mcp.facebook.com/ads. It works with Claude. The setup page gives the Claude Code command above, and any client that can add a remote server with OAuth can connect.
Rate limits and account restrictions on Meta
Meta's rate limiting page sets the Ads Management limit per ad account per hour at 100,000 calls for an app with full Marketing API access, or 300 in the development tier, plus 40 for each active ad. Go over it and calls fail with error 80004 and "There have been too many calls from this ad-account." Some limits sit on the object instead of the app: "one edit per object every 30 seconds", about 4 budget changes per ad set per hour before budget changes on that ad set are blocked for an hour, and 10 spend limit changes a day. An agent that retries a budget change in a loop hits that wall fast.
The account restrictions are reports, and we couldn't confirm any of them with Meta. Loomer wrote that weeks before the launch "Meta was shutting down ad accounts that advertisers were connecting to their favorite LLMs." Common Thread mentions advertisers "getting accounts restricted for using third-party AI tools", and The Keyword quotes a warning about "real risk of account bans if automation makes changes too aggressively without human oversight". We couldn't find the X post about random bans that shows up in search, and Reddit refused our requests. Meta's own connector pages say nothing about bans.
If that worries you, use Meta's official server or 1 on an app you own, and set the rules before the first write.
Google Ads MCP servers
Google's official server changed on 2026-11-02. Version 0.0.6 added 4 write tools, so the comparisons that call it read-only are out of date. Google's own developer page, last updated 2026-10-30, still says it "is strictly read-only".
Google's official server
googleads/google-ads-mcp is Apache-2.0, free, and had 1,128 stars on 2026-11-07. It has 7 tools. search runs Google Ads Query Language (GAQL), and get_resource_metadata and list_accessible_customers read too. The 4 writes are create_asset, upload_video_asset, manage_labels and manage_label_associations.
- Install:
pipx run --spec "git+https://github.com/googleads/google-ads-mcp.git" google-ads-mcp, or pin a version from PyPI. It runs locally, or you host it yourself over HTTP. - Sign-in: a Google Cloud project with the Google Ads API turned on, then credentials from
gcloud auth application-default loginwith theadwordsscope, an OAuth client, or agoogle-ads.yamlfile. - Task 1: 1
searchcall with a GAQL query does it. - Task 2:
searchfinds the ads. Nothing can pause them, because no tool touches status. - Task 3: no tool creates a campaign, changes a budget or edits a bid.
create_assetadds to the asset library without linking anything to a campaign. Labels can be attached to campaigns, and a confirmed write takes effect at once.
Every write goes through what the README calls "Propose & Confirm". The first call runs with validate_only=True and returns the changes plus "a cryptographic checksum bound to the customer ID and parameters". The second call has to send the same parameters with that checksum "after explicit user approval", and "any missing or mismatched checksum is rejected before mutating the account." In the source the checksum is a SHA-256 hash of the customer ID and the operations, with no secret key. So it stops an agent from confirming a different change than the one it proposed, and it can't tell whether a person approved. Your client's permission prompt does that part. For a read-only install, set labels: false and assets: false in tools_config.yaml.
Setup is simpler than older guides say. Google's access levels page (updated 2026-10-30): "Developer tokens were sunset on September 9, 2026, and API access levels are now managed per Google Cloud project." Explorer allows 2,880 operations a day on production accounts, Basic 15,000, and Standard has no cap. The announcement went out on September 10. The Google Ads API access post walks through the new flow.
Hosted Google servers
With a hosted server you sign in with Google and skip the Cloud project, and the vendor holds the token. Prices below were checked on 2026-11-07.
| Server | Changes | A write lands as | Price |
|---|---|---|---|
| Adspirer | 151 Google tools; Search, Performance Max, Display, Demand Gen, YouTube, Shopping and App campaigns | Paused | Free for 15 calls a month, then $49 to $199 |
| AdKit | Create, edit and publish across 7 platforms | Draft | $29 or $49 a month |
| Composio | 78 tools, mutate tools for campaigns and budgets included | Not stated | Free tier, Pro $29 a month |
| GoMarble | Launches, budgets, pausing, on Operator and above | Approval first, landing not stated | $139 read-only, $399 with writes |
| Markifact | 60+ tools, campaigns, budgets, negatives, a generic mutate | Held until approved, then live | $79 or $249 a month |
| Pipeboard | 59 tools, Search ads, Performance Max, keywords, generic mutate | Paused where the platform allows | Free tier, then from $29.90 |
| Ryze AI | 14 tools, 6 of them writes: recommendations, raw mutate and delete, audiences | Approval first, landing not stated | $89 a month |
| Zapier | Campaign status, offline conversions, customer lists | Live | 2 tasks per call, 100 tasks free a month |
GoMarble also publishes an open-source server (MIT, 147 stars) with 3 read-only tools, and it still asks for a developer token. Adspirer covers far more Google campaign types than ours, and Zapier also reaches the other apps you use, like your CRM.
Adwarp's Google tools (ours)
Adwarp's Google Ads tools cover Search campaigns only. gads_launch_search_campaign builds the budget, campaign, targeting, ad groups, keywords and responsive search ads in 1 atomic request. Its first call is Google's validateOnly dry run, which checks the whole batch and saves nothing, and the tool's description tells the assistant to show you that plan and wait for a yes. The real call creates everything paused. No Adwarp tool can enable a Google campaign: you switch it on in the Google Ads UI.
- Task 1:
gads_performanceat campaign level, with totals and derived figures. - Task 2:
gads_performanceat ad level finds them. Adwarp can't pause a Google ad, so you'd do that in Google Ads. - Task 3: lands paused, after the dry run.
The other tools read accounts, manager accounts, campaigns, ads, conversion actions and keyword ideas, and gads_search runs read-only GAQL. 3 house rules are fixed in every launch: Search network only, people physically in the target location, and manual cost per click to start.
Gaps: no Performance Max, Display, Shopping or video, no edits to an existing campaign, and none of the asset or label writes Google's own server has. The Google tools also run only on the local server. The hosted endpoint at mcp.adwarp.dev never registers them, because it serves many callers and Google credentials would come from shared server settings. Setup is on /docs/google-ads-setup, and the product page is /google-ads.
LinkedIn Ads MCP servers
LinkedIn has no official server, so every LinkedIn option is a third-party one. They all go through LinkedIn's Advertising API, either on a developer app you own or on an app a vendor owns for you.
LinkedIn has no official server
We checked on 2026-11-07. LinkedIn's marketing docs on Microsoft Learn, including the recent changes page updated 2026-11-04, don't mention MCP, and a search of LinkedIn's developer docs returns no MCP page.
What LinkedIn requires of any server is spelled out in its quick start. You need a LinkedIn Page and a developer application, then you request the Advertising API under the app's Products tab and complete the access form. "All applications start with Development tier" (access tiers), which allows unlimited reads but edits on up to 5 ad accounts. Standard tier lifts that, and you request it through a support ticket with "a video demonstrating how your platform creates, edits, or optimizes LinkedIn campaigns." The scopes are r_ads, r_ads_reporting and rw_ads, and matched audiences need a separate product. The LinkedIn Ads API post covers the application.
Hosted vendors went through this once, for their own app, which is how Markifact can tell you to "Skip the developer application". Your account data and tokens then sit with them.
Adwarp (ours)
Adwarp creates LinkedIn campaign groups, campaigns and ads as drafts. Every ad set it creates has Audience Network and Audience Expansion turned off, and no Adwarp tool turns either back on (/docs/safety). A campaign or a single ad goes live only when you ask Adwarp to set it ACTIVE or when you switch it on in Campaign Manager. Around that sit audience sizing, matched audiences from a CSV file, a Salesforce query or a HubSpot list, any company's ads through LinkedIn's official Ad Library API, reporting, and a change journal that records every write and compares the 14 days before a change with the 14 after.
- Local:
claude mcp add adwarp -- npx -y adwarp mcp. Sign in once withnpx -y adwarp auth login, which runs LinkedIn's OAuth in your browser and keeps the tokens in~/.adwarp. The Claude setup has the full steps. - Hosted:
https://mcp.adwarp.dev/api/mcp, with your own app's credentials sent as request headers.npx -y adwarp auth export --mcpprints the connect command. 6 tools need your machine and don't work there (CSV upload, Salesforce, HubSpot and the 3 journal tools), and it never serves the Google tools (hosted docs). - Task 1:
performance_summaryorget_performanceat campaign level. - Task 2:
get_performanceat ad level finds them, andupdate_adpauses 1 named ad at a time, with adryRunpreview first. - Task 3:
create_campaign_groupandcreate_campaignland as DRAFT. - Thought leader ads:
create_post_adsponsors a post that already exists, a member's post included once the member approves in LinkedIn, and the ad lands as a draft. It shipped in Adwarp 0.5.0 on November 7, 2026. - License and price: MIT, free, no account.
Downsides: you need your own LinkedIn app with the Advertising API approved before the first call. There's no 1-click sign-in. On the hosted endpoint your client secret and refresh token travel with every request. It doesn't read lead form responses, and linkedin-campaign-manager-mcp below does. The product page is /linkedin-ads, and every tool is listed on /docs/tools.
Community LinkedIn servers
We read the source of each of these on 2026-11-07 rather than installing them, and counted the tools from the code.
- danielpopamd/linkedin-ads-mcp: 25 tools, MIT, 42 stars, last updated 2026-09-02. It reads accounts, performance, demographics, reach, conversions and lead forms, and it creates and deletes campaign groups, campaigns and ads. New items default to DRAFT, but the tools accept ACTIVE and
update_campaigncan move a campaign from DRAFT to ACTIVE, with no confirm step in the code. Install isgit clone,npm install,npm run build, thennpm run authwith your own app. - linkedin-ads-mcp on PyPI, from Nuraveda Lab: 11 tools, 7 that read and 4 that write campaign groups, campaigns and their status. It can't create ads yet. The README says "All write tools default to
DRAFT", which is true of the default, but the status tool accepts ACTIVE. MIT since 0.4.0, version 0.4.1 on 2026-10-01,pip install linkedin-ads-mcp. - linkedin-campaign-manager-mcp on npm: 19 read-only tools. Its sign-in asks only for read scopes, so it can't change anything. It reads lead form responses "with PII", meaning names and emails. Version 1.1.1 on 2026-04-27, and its GitHub repo returned a 404 on the day we checked.
3 smaller projects showed recent activity: get-mcp-ads, with writes off until you turn them on, a preview, then confirm: true and a DRAFT; mharnett/mcp-linkedin-ads, read-only by default; and cesteral, whose LinkedIn package has 23 tools.
Multi-platform servers with LinkedIn
- Adspirer lists 54 LinkedIn tools in its README. Its own pages also say 28, 55 and 56. It writes image, video, carousel and text campaigns, campaign groups and lead forms, and "New campaigns are always created paused." Its LinkedIn page says it "cannot delete existing campaigns" and that budget changes need confirmation, though
delete_linkedin_creativeremoves an ad for good. - Synter (synterai.com/mcp) marks LinkedIn as live, with tools that create campaigns and matched audiences. New campaigns start PAUSED, and changes above thresholds you set wait in
pending_reviewfor a person. Free to read, $20 a month to write, plus $5 per campaign. - Markifact (LinkedIn page) is hosted in the EU and writes campaign groups, campaigns, image, video, carousel, text and Spotlight ads, and budgets. It doesn't create lead forms or matched audiences in chat, and it "holds every account change until someone approves it."
- BlueAlpha (bluealpha.ai/mcp) reads and analyzes LinkedIn alongside other platforms: account health, audience overlap, creative fatigue, lead quality. We found no write tools. Installing is free.
All 4 beat ours on setup: you connect in a browser and never apply for the Advertising API. Pick 1 of them if you can't get your own app approved, or if you need Meta in the same chat.
Amazon Ads MCP servers
Amazon has an official server too, and its announcement says it can create, update and delete campaigns. Access is the hard part: you need Amazon Ads API credentials first.
Amazon's official server
Amazon announced it on February 2, 2026: "The Amazon Ads MCP Server and tools are available globally in open beta to Amazon Ads partners with active API credentials." Agents can use "individual Amazon Ads capabilities such as creating, updating, or deleting campaigns," and a separate tool creates "end-to-end Sponsored Products campaigns in a single workflow." The post names Claude, ChatGPT and Gemini. A closed beta had started on 2025-11-13, according to PPC Land.
- Address:
https://advertising-ai.amazon.com/mcpfor North America. We found the address in third-party guides, since Amazon's docs pages load with JavaScript and we couldn't read them. Our request without a token got a 401 pointing at Login with Amazon, with the scopeadvertising::campaign_management. - Getting access: the Amazon Ads API page says access "requires an application and approval process." Partners apply through the Amazon Ads Partner Network, and direct advertisers use the "Request API access" form. If you only use a tool that already has API access, you don't apply.
- Tasks: reporting and campaign writes are both in scope. Where a new campaign lands and whether there's a confirm step weren't in anything we could read, so the table says "not stated".
- What's next: on 2026-09-30 Amazon put "expert tools" for Amazon Marketing Cloud into closed beta, with general availability planned for "early 2027" and pay-per-use billing through AWS Marketplace (Amazon Ads). The core server has no general availability date.
Third-party Amazon servers
- KuudoAI amazon_ads_mcp: MIT, 73 stars, version 0.3.33 on 2026-11-06, also on PyPI as
amazon-ads-mcp. It runs locally withdocker compose up -dand covers "711 Amazon Ads API operations across 53 services", from Sponsored Products to DSP and Amazon Marketing Cloud. Writes likecm_CreateCampaignandsp_updateBidsgo straight to the API, and the open-source server has no approval step. You sign in with your own Login with Amazon app, or through a login Openbridge or Kuudo manages. Note the repo name uses underscores: the hyphenated clone address in its README returned "Repository not found". - Adspirer: 61 Amazon tools for Sponsored Products, Sponsored Brands and Sponsored Display, with Amazon's own bid and keyword recommendations. New campaigns land paused, and it "cannot delete existing campaigns by design" (Amazon page).
- Marketplace Ad Pros (repo): hosted, "read-only by default", with opt-in writes where each change asks you to confirm. From $10 a week.
- get-mcp-ads: local, Apache-2.0, 31 read tools and 77 writes that are off until you turn them on and preview before they run.
Kuudo is the widest open-source option, reaching DSP and Amazon Marketing Cloud. For writes, Adspirer's paused default and its no-delete rule make it the safer of those 2.
Before you give an agent write access
An MCP server with write tools can do whatever its token allows, and the assistant decides when to call them. Your client's permission prompt is 1 check, and these 6 questions cover most of the rest.
- Where does a new campaign land? A draft or a paused campaign waits for you. Meta's server lands paused, Adwarp lands drafts on LinkedIn and paused campaigns on Google, and Zapier's status change takes effect at once. The table below has every server.
- Is there a confirm step outside the chat? Google's checksum and Adwarp's validateOnly dry run are checked in code. Markifact and Synter hold changes in their own app until someone approves. A sentence in a tool description is weaker than either.
- Can 1 call change many things? Generic mutate tools (Markifact, Pipeboard's Google server, Ryze AI) can touch anything the API allows in 1 call. Adwarp's
update_adchanges 1 named ad, and itsupdate_campaignreplaces targeting only when you pass new targeting. - Is there a change log you can read later? Adwarp writes every change to a local journal (/docs/journal). Meta's server has activity log tools. For the rest, the platform's own history is what you have.
- Whose rate limits does it use? Limits are counted per app or per Cloud project. Google's access levels cap operations a day per Cloud project, so on a vendor's project your agent shares that cap with every other customer. Meta's per-object limits apply whichever app you use.
- Where do the credentials live? On your machine (Adwarp local, Google's server, the community servers), in request headers you control (Adwarp hosted), or with the vendor (every hosted vendor). Treat a token that can create campaigns like the ad account password.
Where a new campaign lands, by server (checked 2026-11-07)
| Lands as | Servers |
|---|---|
| Draft | Adwarp on LinkedIn, AdKit, get-mcp-ads; danielpopamd/linkedin-ads-mcp and linkedin-ads-mcp by default, though both accept ACTIVE |
| Paused | Meta's server, Adwarp on Google, Adspirer, Pipeboard, Synter |
| Held until approved, then live | Markifact |
| Live | Zapier (it can't create campaigns, and status changes apply at once) |
| Whatever the call asks for, with no approval step | KuudoAI amazon_ads_mcp |
| No campaign writes | Google's server, BlueAlpha, linkedin-campaign-manager-mcp |
| Not stated | Amazon's server, Composio, GoMarble, Marketplace Ad Pros, Ryze AI |
The full list of what Adwarp will and won't do on its own is on /docs/safety.
What "marketing MCP" covers beyond ads
MCP is "an open-source standard for connecting AI applications to external systems" (modelcontextprotocol.io). Anthropic released it on November 25, 2024. For a marketer it means 1 assistant can read your analytics, your customer relationship management (CRM) system and your ad accounts in the same chat, with each connection added as a server.
ChatGPT uses MCP too. OpenAI's docs have you go to ChatGPT Plugins, select the plus button and choose "Add custom MCP server", and they add that "ChatGPT currently requires manual confirmation in any conversation before write actions can be taken." Which ChatGPT plans can add custom servers wasn't on that page, and we couldn't load OpenAI's help article to check.
The official servers worth pairing with an ads server, checked on 2026-11-07:
- Google Analytics: googleanalytics/google-analytics-mcp, Apache-2.0,
pipx run analytics-mcp. It reads reports, and version 1.1.0 (2026-11-06) adds a few writes, like annotations and key events, behind an--allow-writeflag. - HubSpot: a remote server at
mcp.hubspot.com, generally available to all HubSpot accounts since 2026-04-13. It reads and writes CRM records, and its write tools need explicit confirmation. - Salesforce: hosted MCP servers, generally available for Enterprise Edition orgs and above, signing in through an External Client App with your existing user permissions.
- Google Search Console: no official server. Google's list of its own servers doesn't include one.
Put it to work
LinkedIn Ads
Adwarp's LinkedIn Ads tools, run from your terminal: drafts first, audiences, reporting and a change journal.
adwarp.dev/linkedin-adsBy Stan Rymkiewicz, maintainer of adwarp. Published November 7, 2026.