让 AI 接管你的亚马逊广告:Claude Code + Amazon Ads API 实战指南
写在前面
如果你是跨境电商卖家,你大概率经历过这样的痛苦:
每周花 2-3 小时登录 Seller Central,手动下载广告报告,在 Excel 里翻来覆去看 ACOS,然后一个个 campaign 调 bid、加负面词。干了半年,ACOS 还是 40% 以上。
今天这篇文章,教你用 Claude Code(Anthropic 的 AI 编程助手)+ Amazon Ads API,让 AI 直接帮你管理广告。不是概念,是我们刚跑通的实操。
最终效果:AI 可以自主拉取广告数据、分析 ACOS、调整 bid、添加负面词、生成周报 — 全程不需要你打开浏览器。
MCP 是什么,为什么它是一次维度升级
在讲具体操作之前,我想先聊清楚一件事:MCP 不是一个工具,它是一种能力结构的变化。
没有 MCP 的 AI:一个很聪明的瞎子
你跟 ChatGPT 或者 Claude 聊亚马逊广告优化,它能给你很好的建议:降 bid、加负面词、暂停零转化 campaign。但聊完之后呢?
你需要自己登录 Seller Central,自己找到那个 campaign,自己改 bid,自己下载报告验证。
AI 是你的军师,但它看不见战场,也摸不到武器。
有 MCP 的 AI:长了眼睛和手
MCP(Model Context Protocol)是 Anthropic 设计的一个开放协议,让 AI 可以连接外部工具和数据源。简单说:
- 没有 MCP:你告诉 AI 问题,AI 告诉你答案,你自己去执行
- 有了 MCP:AI 自己看数据、自己分析、自己执行、自己验证
用一个类比:
没有 MCP 的 AI 像一个远程顾问 — 你把截图发给他,他给你建议,你自己操作。
有 MCP 的 AI 像一个坐在你工位上的运营 — 他直接看你的后台,直接改,改完自己检查。
维度差异:信息密度 × 反应速度 × 执行闭环
| 维度 | 无 MCP(传统模式) | 有 MCP(API 直连) | 差距 |
|---|---|---|---|
| 信息获取 | 你截图/复制粘贴给 AI | AI 直接调 API 拿原始数据 | 从"看照片"到"在现场" |
| 数据精度 | 截图可能遗漏、过时 | 实时、完整、结构化 | 从 lossy 到 lossless |
| 执行能力 | AI 出方案,你手动执行 | AI 出方案 + 直接执行 | 从"说"到"做" |
| 验证闭环 | 你执行后截图给 AI 确认 | AI 执行后自己调 API 验证 | 从开环到闭环 |
| 反应频率 | 一周看一次数据 | 每天甚至每小时 | 从周频到时频 |
| 上下文连续性 | 每次都要重新交代背景 | session 文件保持记忆 | 从失忆到连续 |
最关键的升级是最后两行:反应频率和闭环。
广告优化本质上是一个反馈循环:改动 → 观察数据 → 判断 → 再改动。这个循环转得越快,优化收敛得越快。
手动操作时,这个循环是周级的 — 每周看一次数据,做一次调整。
用 MCP + API,这个循环可以是日级甚至小时级的。
一年 52 次迭代 vs 一年 365 次迭代。 这不是效率提升,这是维度碾压。
资深运营视角:高手有没有 MCP,差距有多大?
你可能会想:我就是那个数据运营高手,Excel 透视表信手拈来,搜索词报告闭着眼都能分析。MCP 对我有什么用?
我们来做一个思想实验。假设两个同样优秀的亚马逊运营,经验 5 年以上,对广告的理解完全一致。唯一的区别:一个有 MCP,一个没有。
第 1 周:几乎没有差距
两个人都做了同样的事:下载搜索词报告、找到零转化词、加负面词、降 bid。手动高手可能花了 3 小时,MCP 运营花了 20 分钟。结果一样。
你会说:不就是省了点时间嘛。
第 1 个月:差距开始出现
MCP 运营每天花 5 分钟让 AI 扫一遍数据。第 8 天他发现某个搜索词突然起量了("sensory friendly remote control car"),立刻建了精准广告组。手动高手要到周末才看数据,发现时已经是第 12 天了 — 晚了 4 天,错过了 Amazon 算法给新词的流量红利窗口。
MCP 运营还发现一个 campaign 的 ACOS 在周三突然从 20% 飙到 55%。AI 自动排查:是一个竞品在那天上了 coupon,抢走了点击。当天就暂停了那个词的竞价。手动高手周末看到的是一周的平均 ACOS 35% — 看不出周三的异常,也就不会做任何操作。
差距本质:不是能力差距,是感知颗粒度差距。
同一个数据高手,周频看数据看到的是"模糊的平均值",日频看到的是"清晰的波动"。就像 720p 和 4K 的区别 — 眼睛一样好,但屏幕分辨率不一样。
第 3 个月:差距变成结构性的
MCP 运营已经积累了 90 天的日频数据,他的 AI 能回答这种问题:"过去 3 个月,哪些搜索词在周末的转化率比工作日高?" 然后自动在周五晚上加 bid,周一早上降回来。
手动高手有同样的洞察力,但他没有这个数据基础。周度报告里看不到星期几的差异。他可能隐约感觉周末转化好,但无法量化,也没有精力每周手动做两次 bid 调整。
差距本质:时间积累的数据密度,变成了不可追赶的信息优势。
第 6 个月:差距变成代际差距
MCP 运营的 AI 已经形成了这个品类的"肌肉记忆":
- 知道哪些词在换季时搜索量会涨
- 知道竞品什么时候上 coupon(因为每次 ACOS 异常都记录了原因)
- 知道哪个价位区间的转化率最优
- 知道新品上架后第几天开始投广告效果最好
手动高手同样拥有这些经验 — 但在他的脑子里。每次换一个助理、换一个产品线、开一个新站点,这些经验要重新教一遍。而 MCP 运营的经验在文件系统里 — session_handoff.md、optimization_log.md、weekly_kpi.md — AI 读一遍就能继承全部上下文。
手动高手的天花板是他一个人的时间和精力。
MCP 运营的天花板是他接入了多少个 AI Agent。
量化一下这个差距:
| 指标 | 资深运营(无 MCP) | 资深运营(有 MCP) | 6 个月后的差距 |
|---|---|---|---|
| 数据检查频率 | 1-2 次/周 | 1-7 次/天 | 7-50x |
| 异常发现延迟 | 3-7 天 | 当天 | 快 3-7 天 |
| 可同时管理的 campaigns | 20-30 个(注意力瓶颈) | 100+ 个(AI 并行) | 3-5x |
| 搜索词分析深度 | Top 50 词(时间不够看更多) | 全量(AI 不嫌多) | 10-20x |
| 经验可迁移性 | 人脑记忆,口头传承 | 结构化文件,AI 即时继承 | 不可比 |
| 优化迭代次数/年 | ~52 次 | ~365 次 | 7x |
最残酷的一行是最后一行。 同样的起点,一年之后,一个人迭代了 52 次,另一个人迭代了 365 次。两年之后是 104 vs 730。运营能力的增长是复利的 — 每次迭代的经验都会让下一次更精准。7 倍的迭代速度,两年下来,是完全不同的段位。
这不是"工具好不好用"的问题。这是"你的经验以什么速度积累"的问题。
预测:有 MCP 和没 MCP 的卖家,差距会怎样演变
现在(2026 Q1):早期红利阶段
大多数卖家还在手动操作。少数人开始用第三方工具(Helium 10、Perpetua 等)做半自动化。极少数人直连 API。
此时 MCP 的优势主要是效率 — 省时间,少出错。
6 个月后(2026 Q3):工具链成熟
MCP 生态会更完善。今天我们踩的坑(MCP 包 bug、报告生成慢)会被社区解决。API 调用会被封装成开箱即用的工具。
此时的差距变成决策质量 — 有 MCP 的卖家能看到更细粒度的数据,做更精准的决策。比如实时发现某个搜索词在凌晨 3 点转化率特别高,自动加 bid。手动操作根本不可能捕捉这种信号。
1-2 年后(2027-2028):AI Agent 自治
AI Agent 不再需要人类发指令。它会自己制定优化计划、执行、验证、迭代。人类的角色从"操作员"变成"审批者" — 你只需要设定目标(ACOS < 25%、月销 > $5K),AI 自己想办法达成。
此时没有 MCP 能力的卖家,就像今天还在用纸质账本记账的人一样。不是说他们活不了,但他们的运营成本和反应速度,会被有 AI Agent 的竞争对手远远甩开。
一句话总结
MCP 不是让 AI "更好用"。它是让 AI 从"顾问"变成"员工"。
一个顾问再聪明,一周只来一次。一个员工可以 7×24 盯着你的广告。
好了,理解了这个,我们来看具体怎么做。
一、你需要什么
| 工具 | 说明 | 费用 |
|---|---|---|
| Claude Code | Anthropic 官方 CLI 工具 | Claude Pro/Max 订阅 |
| Amazon Ads API | 官方广告管理接口 | 免费 |
| MCP (Model Context Protocol) | Claude Code 的工具扩展协议 | 免费 |
| 一个终端 | macOS/Linux Terminal | 系统自带 |
前置要求:
- 你得有 Amazon Seller Central 账号和正在跑的 SP 广告
- 基本的命令行使用能力(不需要会编程)
二、申请 Amazon Ads API(约 3 天)
这一步很多人被劝退了。其实 Direct Advertiser 的申请流程比想象中简单。
Step 1: 注册 Amazon Developer 账号
用你 Seller Central 的邮箱,到 developer.amazon.com 注册。
Step 2: 创建 Login with Amazon (LwA) Security Profile
- 进入 LwA Console
- 点 "Create a New Security Profile"
- 名字随便取,比如 "My Ads API"
- 记下 Client ID 和 Client Secret
Step 3: 提交 API 申请
- 打开 Amazon Ads Advanced Tools Center
- 用你的广告账号登录
- 点 "My Apps" → 关联你刚创建的 Security Profile
- 选择 scope:
advertising::campaign_management(这一个就够了,包含了 reporting)
踩坑提醒:申请提交后 Amazon 不会发邮件通知。你需要自己回到 Advanced Tools Center 检查状态。我们等了 48 小时才发现已经通过了。
Step 4: 获取 OAuth Refresh Token
API 批准后,你需要做一次 OAuth 2.0 授权拿到 refresh token。
# oauth_token.py — 一次性运行,拿到 refresh token
import http.server
import urllib.parse
import webbrowser
CLIENT_ID = "你的_client_id"
REDIRECT_URI = "http://localhost:8080/callback"
SCOPES = "advertising::campaign_management"
# Step 1: 打开浏览器授权
auth_url = (
f"https://www.amazon.com/ap/oa?"
f"client_id={CLIENT_ID}&"
f"scope={SCOPES}&"
f"response_type=code&"
f"redirect_uri={REDIRECT_URI}"
)
webbrowser.open(auth_url)
# Step 2: 本地服务器接收回调
class Handler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
query = urllib.parse.urlparse(self.path).query
params = urllib.parse.parse_qs(query)
code = params.get("code", [""])[0]
print(f"\n授权码: {code}")
print("用这个 code 换 refresh token(见下文)")
self.send_response(200)
self.end_headers()
self.wfile.write(b"Done! Go back to terminal.")
server = http.server.HTTPServer(("localhost", 8080), Handler)
print("等待 Amazon 回调...")
server.handle_request()
拿到 authorization code 后,换 refresh token:
curl -X POST "https://api.amazon.com/auth/o2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&code=你的授权码&client_id=你的CLIENT_ID&client_secret=你的SECRET&redirect_uri=http://localhost:8080/callback"
返回的 JSON 里有 refresh_token,这是你最重要的凭证,保存好。
三、配置 Claude Code MCP Server
MCP 是 Claude Code 的工具扩展协议。配置好后,Claude Code 就能直接调用 Amazon Ads API。
方案 A:使用 amazon-ads-mcp 包(推荐但有坑)
# 安装
pipx install amazon-ads-mcp
# 在项目根目录创建 .mcp.json
{
"mcpServers": {
"amazon_ads": {
"command": "amazon-ads-mcp",
"args": ["--transport", "stdio"],
"env": {
"AUTH_METHOD": "direct",
"AMAZON_AD_API_CLIENT_ID": "你的_client_id",
"AMAZON_AD_API_CLIENT_SECRET": "你的_secret",
"AMAZON_AD_API_REFRESH_TOKEN": "你的_refresh_token",
"AMAZON_AD_API_PACKAGES": "profiles,campaign-manage,sponsored-products,reporting-version-3"
}
}
}
}
坑:截至 2026-03-23,
amazon-ads-mcpv0.2.18 的 Code Mode 有一个 import bug(get_authenticated_client),导致 Reporting API 调用失败。Campaign List 等基础功能正常。如果你遇到了,用方案 B。
方案 B:直接用 curl(更稳定)
不依赖任何第三方包,Claude Code 通过 Bash 工具直接调 API。我们实际生产环境就是这么用的。
# 刷新 access token(每小时过期一次)
curl -s -X POST "https://api.amazon.com/auth/o2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=refresh_token&refresh_token=你的TOKEN&client_id=你的ID&client_secret=你的SECRET"
# 拉 SP campaigns 列表
curl -s -X POST "https://advertising-api.amazon.com/sp/campaigns/list" \
-H "Amazon-Advertising-API-ClientId: 你的CLIENT_ID" \
-H "Amazon-Advertising-API-Scope: 你的PROFILE_ID" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/vnd.spCampaign.v3+json" \
-H "Accept: application/vnd.spCampaign.v3+json" \
-d '{"stateFilter":{"include":["ENABLED","PAUSED"]},"maxResults":100}'
为了方便复用,我们封装了一个 shell 工具:
# tools/ads_api.sh — source 后即可使用
# ads_refresh_token — 刷新 token
# ads_list_campaigns — 列出所有活跃 campaigns
# ads_list_keywords — 列出某 campaign 的关键词和 bid
# ads_request_report — 请求异步报告(ACOS、花费、销售等)
Claude Code 会自动 source 这个文件然后调用里面的函数。
四、你能用 API 做什么
4.1 实时拉取 Campaign 数据
你: 拉一下 US 站所有活跃的 SP campaigns
Claude Code: [调用 API] 找到 13 个 ENABLED campaigns:
Boys 3-5Y $30/day Manual
Girls 5-7Y $30/day Manual
...
比 Seller Central 快的地方:不需要等页面加载,不需要手动导航,直接拿到结构化数据。
4.2 验证 bid 和负面词
你: 检查 "Unisex 8-11Y" campaign 的关键词 bid 是否正确
Claude Code: [调用 Keywords API]
kids socks Exact $0.38 ENABLED
socks for kids Exact $0.44 ENABLED
...全部 21 个关键词已列出
4.3 拉取性能报告(ACOS、花费、销售)
这个用的是 V3 Reporting API,异步的:
你: 拉上周的 campaign ACOS 数据
Claude Code:
1. [请求报告] reportId: abc-123, 状态 PENDING
2. [轮询 30 秒一次] ...
3. [约 30 分钟后] 报告完成,下载中...
Campaign 花费 销售 ACOS
Girls 5-7Y $5.27 $22.99 22.9%
Boys 3-5Y $1.58 $13.88 11.4%
...
注意:V3 Reporting API 生成报告需要约 30 分钟,不是实时的。Claude Code 会自动在后台轮询等待。
4.4 搜索词分析
你: 拉 3/20-3/22 的搜索词报告
Claude Code: [请求 spSearchTerm 报告]
21 个搜索词,花费最高的:
"socks for toddler boys" $0.60 0 orders
"girls socks 4-6 years" $0.56 0 orders
...
建议:流量极度分散,每个词只有 1 click。
需要集中预算到转化词上。
五、可用的 API 端点速查
| 端点 | 用途 | 类型 |
|---|---|---|
/sp/campaigns/list | 列出 SP campaigns | 同步 |
/sp/keywords/list | 列出关键词和 bid | 同步 |
/sp/negativeKeywords/list | 广告组级负面词 | 同步 |
/sp/campaignNegativeKeywords/list | Campaign 级负面词 | 同步 |
/sp/adGroups/list | 列出广告组 | 同步 |
/reporting/reports | 请求性能报告 | 异步 (~30min) |
/sp/campaigns (PUT) | 修改 campaign 状态/预算 | 同步 |
/sp/keywords (PUT) | 修改关键词 bid | 同步 |
所有端点都需要这些 header:
Amazon-Advertising-API-ClientId: 你的 Client ID
Amazon-Advertising-API-Scope: 你的 Profile ID
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/vnd.spXxx.v3+json
Accept: application/vnd.spXxx.v3+json
六、Profile ID 怎么拿
Profile ID 是每个站点的唯一标识。用这个接口获取:
curl -s "https://advertising-api.amazon.com/v2/profiles" \
-H "Amazon-Advertising-API-ClientId: 你的CLIENT_ID" \
-H "Authorization: Bearer ACCESS_TOKEN"
返回的 JSON 里每个 profile 都有 profileId 和 countryCode,比如:
- US 站:
1234567890(marketplace: ATVPDKIKX0DER) - CA 站:
0987654321(marketplace: A2EUQ1WTGCTBG2)
七、安全注意事项
必须做的:
- 创建
.gitignore,排除所有包含 token 的文件:
.mcp.json
tools/.amazon_ads_token.json
*.token
- 不要把 Client Secret 和 Refresh Token 提交到任何公开仓库
- Refresh Token 权限很大(可以修改你的广告),保管好
建议做的:
- 把凭证存在独立文件里,代码通过环境变量或文件读取引用
- 定期检查 API 操作日志,确保只有预期的调用
八、实战效果
我们用这套方案管理一个童装品类的美国站广告(约 20 个 SP campaigns),实际体验:
| 操作 | 之前(手动) | 之后(API) |
|---|---|---|
| 查看全部 campaigns 状态 | 5 分钟(登录+导航+等加载) | 3 秒 |
| 验证 bid 调整是否生效 | 15 分钟(逐个 campaign 点进去看) | 10 秒 |
| 拉搜索词报告 | 手动下载 CSV + Excel 处理 | 一句话,自动下载分析 |
| 周度 ACOS 对比 | 30 分钟 | 2 分钟(含等报告生成) |
| 批量加负面词 | Bulk upload Excel | API 直接写入 |
最大的改变不是速度,而是频率 — 以前一周看一次数据,现在 AI 可以每天看,甚至每小时看。问题发现得更早,反应更快。
九、踩坑总结
- API 申请无邮件通知 — 提交后自己去 Advanced Tools Center 查状态
advertising::campaign_management已包含 reporting — 不需要单独的 reporting scope- V3 Reporting 不是实时的 — 报告生成需要约 30 分钟,要做好轮询机制
- amazon-ads-mcp 包有 bug (v0.2.18) — 建议直接用 curl 更稳定
- 7 天归因窗口 —
purchases7d和sales7d需要等 7 天才准确,刚调完 bid 别急着下结论 - Campaign List API 默认返回 ARCHIVED — 记得加
stateFilter过滤 - Campaign 级和广告组级负面词是不同的 endpoint — campaign 级用
/sp/campaignNegativeKeywords/list
十、下一步
这套方案目前覆盖了 SP (Sponsored Products) 广告。如果你还跑 SB (Sponsored Brands) 或 SD (Sponsored Display),API 同样支持,只是 endpoint 和 Content-Type 不同。
更进阶的玩法:
- 自动化周报:每周一自动拉数据,生成 ACOS 对比表
- 异常告警:某 campaign 的 ACOS 突然飙升,自动暂停并通知
- 竞价优化:根据转化率自动调整 bid(这个要慎重,建议先手动验证逻辑)
- 搜索词挖掘:自动发现高转化搜索词,建精准匹配广告组
如果你也在用 Claude Code 做跨境电商运营,欢迎交流。这条路我们刚走通,还有很多可以优化的空间。
本文基于 2026 年 3 月实际项目经验。Amazon API 的接口和审批流程可能随时变化,请以官方文档为准。