22 March 2026
The 25-Month AMC Lookback: 3 Custom Audiences SMBs Should Build Today
TweetLinkedInShareEmailPrint 8 min read By Rick Wong Updated Mar 22, 2026 TL;DR What is the 25-month lo...
It acts as a translator, allowing you to manage and optimize your Amazon PPC campaigns using plain English commands in Claude Code, bypassing the need to manually click through the Campaign Manager.
No, and this is its biggest risk. The AI exclusively sees advertising data. It has zero visibility into your stock levels, COGS, or Buy Box status, meaning it could aggressively spend on an ASIN that is unprofitable or about to run out of stock.
No, but it is highly technical. You don’t need to write custom Python or JavaScript, but you must be comfortable following strict technical instructions, using a command-line interface (Terminal), generating API keys, and running Docker containers.
The KuudoAI server infrastructure and the Amazon Developer account are free. However, you will have to pay Anthropic’s usage-based API fees for the processing power Claude Code uses, in addition to your actual Amazon ad spend.
Picture this: It is 11:30 PM on a Tuesday. You are staring at a blindingly bright Campaign Manager screen, manually adjusting bids across forty-seven different Sponsored Products campaigns. You have three spreadsheets open, cross-referencing true ACoS, CPCs, and search term reports, hoping you do not accidentally pause a keyword that is secretly driving your organic rank. This has been the grueling, labor-intensive reality of Amazon PPC management for years.
But what if you could bypass the clicks and simply type a command? Imagine typing, “Claude, find every exact match keyword across my account that burned through $100 last month with zero sales, and pause them,” and watching it happen in three seconds.
This is where Amazon advertising workflows are heading in 2026. MCP servers now connect with AI models like Claude, which changes how sellers interact with Amazon Ads data. By bridging the gap between powerful AI agents like Claude Code and the raw data of your Amazon Ads account, you can turn natural language into the ultimate PPC automation tool.
However, this technological leap comes with massive caveats. While the speed of execution is unprecedented, the system requires a rigid, highly technical setup, and it has critical blind spots that can bankrupt a careless seller. In this comprehensive, fully fleshed-out guide, we are going to break down exactly what the Amazon Ads MCP server is, walk you through the complete step-by-step installation to connect it with Claude Code, and show you how to leverage this power while keeping your profitability strictly intact.
If you want to stop clicking buttons and start directing a highly capable AI assistant to manage your advertising at scale, you are in exactly the right place. Let’s dive deep into the setup.
To fully appreciate why connecting Claude Code to your Amazon Ads account is such a monumental operational shift, you have to understand the historical friction of Amazon APIs. Historically, if you wanted to automate your Amazon advertising beyond the basic rule-based console features, you had to hire an expensive development team to build a custom integration, or you had to pay for rigid third-party software that had already done the heavy lifting.
Even then, those software solutions were often inflexible. They operated on predefined algorithmic rules. If you wanted the software to execute a highly nuanced, context-specific strategy outside of its programmed parameters, you were out of luck.
The Model Context Protocol (MCP) changes how this architecture works. MCP was originally developed by Anthropic to standardize how AI models connect to external data sources.
In simple terms, it acts like a translator between the AI and Amazon’s advertising APIs.
When you set up the Amazon Ads MCP server, you effectively hand the execution keys over to Claude Code.
Instead of writing complex Python scripts to authenticate, pull data, parse JSON files, and push bid adjustments, you install the server, connect it, and issue commands in plain English. The server translates your natural language prompt into structured, perfectly formatted API calls that Amazon’s internal systems natively understand.
During early AI testing in the e-commerce space, engineers quickly discovered that large language models left to their own devices would often hallucinate API endpoints or pull massive amounts of irrelevant, deprecated data. Without strict guardrails, an AI might try to pull three years of Amazon Marketing Cloud data just to answer a simple question about yesterday’s Sponsored Brands spend.
The Amazon Ads MCP server solves this “reasoning overload” by providing a strict instruction manual and toolset for the AI. It limits Claude Code to approved domain model standards. It pre-packages complex, multi-step workflows into single, actionable tools. For example, creating a Sponsored Products campaign usually requires three distinct API calls: one for the campaign, one for the ad group, and one for the targeting. The MCP server bundles these into a single action. You give the command once, and the server natively handles the chaining of those operations.
Before we jump into the terminal commands and Docker containers, you need to understand a massive structural reality of AI-managed advertising. Your experience with this tool will be sharply divided into two distinct categories: rapid execution and limited context.
When you tell Claude Code to do something, the results are legitimately terrifying in their speed.
That speed changes how sellers manage campaigns.
Creating a new campaign, applying budgets, setting up semantic ad groups, and launching across North America takes one prompt and about three seconds of processing time.
However, there is an important limitation sellers should understand: The basic Amazon Ads MCP server is completely blind to your actual business health. The server connects your AI exclusively to advertising data.
It has absolutely zero visibility into several business signals that experienced sellers monitor daily:
Amazon built the infrastructure, but the decision-making layer still depends on the user. Ad decisions are fundamentally business decisions. When you use Claude Code via the basic Amazon Ads MCP server, you are giving an AI a high-performance sports car but putting a blindfold over its eyes. That speed sounds great, but it also creates risk.
This is exactly why sophisticated sellers utilize platforms like SellerMetrics. SellerMetrics bridges that gap, aggregating your advertising data, real-time FBA inventory, and exact profit margins into one cohesive picture. Speed is completely useless, and often incredibly expensive, if it lacks an overarching business context. You should use Claude for rapid execution, but always anchor your strategy in true profitability metrics.
Setting up the Amazon Ads MCP server is a highly technical process. It requires command-line interface (CLI) execution, API credential management, and local container hosting. We will be using the KuudoAI/amazon_ads_mcp open-source server (MIT License).
At first glance the setup may look intimidating, but most of the steps simply involve connecting existing tools together.
Please follow these steps meticulously. Skipping a step or misconfiguring a redirect URI will result in authentication failures.
Many sellers actually get stuck during the initial API approval step, so patience here helps.
Before touching any code, you must ensure your local environment and Amazon accounts are prepped.
You will need a Mac, Windows, or Linux machine. You must also have an Amazon Seller or Vendor account with active advertising campaigns running. Amazon will not grant API access to empty accounts. Finally, ensure you have the Claude Code (Anthropic CLI) application natively installed on your machine.
Creating Your Developer Account & App:
Troubleshooting Note: If your application is rejected, the most common reason is a lack of active ad spend. Make sure campaigns are running and reapply with highly detailed notes about your intended MCP use case.
Login with Amazon (LWA) is the secure protocol the MCP server uses to authenticate your identity with Amazon’s advertising API.
Creating the Profile:
Extracting Credentials:
amzn1.application-oa2-client.) and your Client Secret (which begins with amzn1.oa2-cs.v1.). Keep these extremely secure. http://localhost:8000/auth/callback. If you plan to host this on a live domain later, use https://yourdomain.com/auth/callback. Click Save. Many sellers get stuck during this part of the setup, usually because of a redirect URL mismatch. Double-checking that value early can save a lot of troubleshooting later.
Crucial Warning: If you get an “Invalid redirect URI” error later during setup, it is because the URL you pasted here does not perfectly match what the MCP server expects. For local setups, it must be http://localhost:8000/auth/callback.
Linking the Profile: Finally, you must link this LWA profile to your Ads app. Go back to your Amazon Advertising Console, navigate to your API settings, find the LWA credentials section, and select the security profile you just built. Do not look for this in the developer console; it is inside your actual Ads console.
The MCP server runs inside an isolated container to prevent dependency conflicts on your computer. We use Docker for this. If you already work with development tools, this part should feel familiar.
.dmg file. Drag it to Applications, launch it, and wait for the whale icon in your menu bar to stop animating, signaling the engine is running. docker.io and docker-compose. Start the service (sudo systemctl start docker) and add your user to the docker group (sudo usermod -aG docker $USER). Log out and back in. Verify your installation by running docker --version and docker-compose --version in your terminal.
Once Docker is installed and running correctly, the rest of the setup becomes much more straightforward.
Now we pull the actual server code to your machine.
Open your terminal and clone the official GitHub repository:
Bash
git clone https://github.com/KuudoAI/amazon_ads_mcp.git
cd amazon_ads_mcp
Next, create your environment variables file by copying the example template:
Bash
cp .env.example .env
Open this .env file in a text editor like Nano or VS Code (nano .env or code .env). You need to configure the following exact values:
Server Settings:
TRANSPORT=http
HOST=0.0.0.0
PORT=9080
LOG_LEVEL=INFO
Authentication:
AUTH_METHOD=direct
AMAZON_AD_API_CLIENT_ID=”your-client-id-here”
AMAZON_AD_API_CLIENT_SECRET=”your-client-secret-here”
(Replace the placeholder text with the exact credentials you pulled from LWA in Phase 2. Keep the quotation marks.)
Region Selection: You must define your primary advertising region. Use na for North America (US/CA/MX/BR), eu for Europe, or fe for the Far East.
API Tool Packages: Control what the AI is allowed to do. Start with this recommended baseline:
AMAZON_AD_API_PACKAGES=”profiles, sponsored-products, reporting-version-3, brand-metrics, products-metadata”
With your .env configured, start the server using Docker Compose:
Bash
docker-compose up -d
This command builds the Docker image (which takes 2-5 minutes the first time) and starts the server silently in the background, exposing it on http://localhost:9080. You can verify it is running by typing docker-compose logs -f, which should return a success message indicating the server started. Hit Ctrl+C to exit the logs.
Connecting to Claude Code: Now, we must tell Claude where to find this server. Edit your Claude MCP configuration file:
Bash
nano ~/.claude/mcp.json
Add the Amazon Ads server block to the JSON file:
JSON
{
“mcpServers”: {
“amazon-ads”: {
“type”: “streamable-http”,
“url”: “http://localhost:9080/mcp”,
“headers”: {}
}
}
}
Close and completely reopen your Claude Code application to ensure the changes are registered. You should now see amazon-ads listed as an active tool.
The server is running, and Claude sees it, but the AI does not have permission to touch your data yet. We must execute an OAuth flow. Once the connection works, the real advantage becomes obvious.
Open Claude Code and issue these exact conversational prompts:
eu / fe depending on your setup). Authenticated: true. Setting Your Active Profile: Amazon Ads operates on “profiles,” where each profile represents one account in one specific marketplace (e.g., your US store is a different profile than your Canada store).
Ask Claude: “List my Amazon Ads profiles”. The AI will return a list showing the Profile ID, Type (seller/vendor), and Account Name.
Find the Profile ID you want to manage and tell Claude: “Set active profile to [YOUR_PROFILE_ID]”. You absolutely must set an active profile before the AI can run any reporting or campaign management tools.
At this point the server should already be running, so the next steps are mainly about confirming everything works correctly.
Let us verify everything is fully operational. Try giving Claude a few test prompts:
If Claude returns formatted data directly in your terminal, congratulations. You have successfully integrated an AI agent with your Amazon Ads backend.
Understanding Packages and Prefixes: As you get more advanced, you can expand what Claude is allowed to do by adding more packages to the AMAZON_AD_API_PACKAGES variable in your .env file.
Available packages include:
sponsored-brands-v4: For Sponsored Brands operations. sponsored-display: For Sponsored Display operations. change-history: Creates an audit trail of your campaign changes. amc-workflow: For complex Amazon Marketing Cloud queries. docker-compose down && docker-compose up -d). When you ask Claude what tools it has, you will notice they use specific prefixes. For example, cp_ is for campaign operations, sp_ is specifically for Sponsored Products, and amc_ is for Amazon Marketing Cloud.
Handling Reports: Because Amazon’s reporting API is asynchronous, downloading large datasets requires a specific workflow. When you ask Claude for a massive report, the server requests it and downloads it server-side.
To access it, tell Claude: “List my downloads”. Claude will find the file. Then ask: “Get download URL for report [Name]”. You can then download that file via your browser or by using a curl command directly in your terminal pointing to http://localhost:9080/downloads/reports/async/....
Keeping the AI Logged In: By default, your OAuth tokens only live in your computer’s temporary memory. If you restart Docker, you have to log in all over again.
To fix this, you can enable Token Persistence. Open your .env file and add:
AMAZON_ADS_TOKEN_PERSIST=true
For local development, this auto-generates a machine-specific encryption key to safely store your login state on your hard drive. If you are moving this to a production cloud server, you should generate a secure Fernet key via Python (python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())") and explicitly define AMAZON_ADS_ENCRYPTION_KEY in your .env file. Never commit your .env file to a public GitHub repo!.
Working with Docker and APIs means you will inevitably run into snags. Here is how to handle the most common issues:
Server / Docker Issues:
PORT variable in your .env file to 9081 and update your mcp.json file to match. .env file. Run docker-compose logs to see the exact error. docker-compose down && docker-compose up -d. Authentication Issues:
.env file. Ensure it includes the full string, including the amzn1... portion. http://localhost:8000/auth/callback. The Nuclear Option: If absolutely everything is broken and you want to start from scratch, you can obliterate the setup and reinstall. Run:
Bash
docker-compose down -v
docker rmi amazon-ads-mcp:latest
cd ..
rm -rf amazon_ads_mcp
Then simply re-clone the repo and start over.
Now that your infrastructure is flawlessly connected, you can stop acting like a data-entry clerk and start operating like an elite fractional CMO. Because the MCP server bundles API calls, you can feed Claude highly descriptive instructions.
Here are three advanced workflows that you can execute today:
Instead of manually sifting through search term reports, instruct Claude to act as a ruthless auditor. The Prompt:
“Claude, I need to clean up wasted spend. Please request a 30-day performance report for all Sponsored Products campaigns. Identify any exact match keywords that have accumulated more than $40 in spend with exactly 0 sales. Output a list of these keywords for my review. Wait for my confirmation, and if I say ‘approved’, proceed to pause every single one of those keywords across the account.”
Expanding an established brand to Canada or Mexico used to require hours of repetitive, mind-numbing data entry. The Prompt:
“Claude, pull the complete structure (budgets, ad groups, ASINs) for the US campaign named ‘SP_GarlicPress_Exact’. Once you have it, use the Amazon Ads MCP server to recreate this exact campaign structure in my Canadian (CA) profile. Convert the daily budget from $100 USD to the equivalent CAD amount. Set default keyword bids to $0.80 CAD. Name the new campaign ‘CA_SP_GarlicPress_Exact’.”
Protecting your own real estate on Amazon is fundamental to keeping competitors off your product pages. The Prompt:
“Claude, pull a list of all active ASINs in my account. Create a new Sponsored Display campaign named ‘SD_Defensive_Targeting’. Set the daily budget to $50. Create an ad group that targets all of my own ASINs. Set the bid to $1.50 to ensure my products dominate the ad placements directly under my own Buy Boxes.”
The rollout of the Amazon Ads MCP Server and its integration with Claude Code represent a structural shift in how Amazon advertising fundamentally operates. We are rapidly moving away from an era of manual spreadsheet optimization into an era of programmatic, natural-language command execution.
Sellers who ignore these workflows may simply end up working slower than competitors who automate tasks. While you are spending three hours on a Monday morning clicking through Seller Central tabs, your competitor is executing account-wide optimizations in forty-five seconds via a terminal prompt.
However, speed without strategy is a fast track to burned capital. Use Claude Code to execute the heavy lifting but rely on comprehensive analytics suites like SellerMetrics to provide the crucial business context—inventory health, true COGS, and real margins—that the AI fundamentally lacks.
In practice, this changes how sellers operate their advertising accounts.
The Amazon Ads API is officially open to your commands. It is time to step into the future of e-commerce automation.
Would you like me to help you draft your first custom Claude Code prompt tailored specifically to your current ACoS goals? Let me know below!
The Model Context Protocol (MCP) is an open standard developed by Anthropic to help AI models securely connect to external data sources and tools. In the context of Amazon Ads, the MCP server acts as a universal translator. It takes your plain-English commands from Claude Code and translates them into the highly specific, structured API requests that Amazon’s internal servers require to execute actions.
The KuudoAI open-source MCP server infrastructure itself is free (MIT License), and an Amazon Developer account is free. However, you are still responsible for the actual ad spend generated by any campaigns the AI modifies. Furthermore, using Claude Code requires an Anthropic API account, which operates on usage-based token billing, so you will pay fractional cents for the AI processing power used during your sessions.
No, you do not need to know how to write custom Python or JavaScript code. However, you do need to be comfortable following precise technical instructions. You will be using a command-line interface (Terminal/PowerShell), managing API keys, editing JSON files, and running Docker containers. It requires patience and precision, but a technically inclined Amazon seller can complete it in about 30 to 45 minutes.
Absolutely not. This is a critical limitation. The Amazon Ads MCP server connects exclusively to advertising APIs. It has zero visibility into your Seller Central account, meaning it cannot see FBA inventory levels, inbound shipments, stranded inventory, or stock-out dates. You must use a platform like SellerMetrics to monitor real inventory; otherwise, the AI might aggressively advertise products that are about to run out of stock.
The AI is strictly limited by the standard Amazon Ads API lookback windows. For Sponsored Products, you can retrieve data going back 95 days. For Sponsored Brands and Sponsored Display, the limit is only 60 days. If you ask Claude for year-over-year Q4 data, it will not be able to retrieve it.
During this stage of AI integration, it is highly recommended not to let the AI run completely unsupervised. The AI executes whatever strategic command it receives without inherently questioning if it is a sound business decision. Best practice is to construct your prompts so that Claude proposes the changes in your terminal first and waits for your explicit “approved” command before pushing any live updates via the API.
This is the most common setup error. It means the URL you pasted into the Amazon LWA console does not perfectly match what the local MCP server expects. Go back to your Amazon Developer console, edit your LWA Security Profile’s Web Settings, and ensure the Allowed Return URL is exactly http://localhost:8000/auth/callback (no trailing slashes, exact spelling).
This means another application on your computer is already utilizing port 9080. You can easily bypass this by opening your .env file, changing PORT=9080 to PORT=9081 (or another open port), and then updating your mcp.json file in your Claude directory to match the new port number.
Yes. When you apply for your Amazon Ads API access, select “I want to manage on behalf of clients” as your use case. Once your clients grant your agency access to their ad accounts via standard Amazon permissions, their profiles will populate when you ask Claude to list available advertiser profiles. You can then instruct Claude to switch active profiles as you move between client accounts.
When you ask Claude to change a bid (execution), it is nearly instantaneous. However, when you ask for massive amounts of data (reporting), the Amazon API operates asynchronously. The MCP server must submit a request ticket to Amazon, and Amazon puts it in a queue to process. Depending on server load and the size of your account, downloading a complex report can take several minutes to process before Claude can read it.