讓 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 的介面和審批流程可能隨時變化,請以官方文件為準。