这跟卖家有什么关系?

如果你已经在亚马逊(Amazon)投放 Sponsored Products/Sponsored Brands 广告,肯定知道关键词和搜索词(search term)优化是日常必做的事。传统上我们都是每周手动下载搜索词报告、筛选无效词、调价,然后再导入 Bulk Sheet。现在有了 MCP(Model Context Protocol),AI 可以直接连通亚马逊广告 API,自动完成报告抓取、负向词筛选、关键词调价甚至执行改动。把这套自动化搬进你的独立站/店铺运营,等于是把每周几小时的手工工作压缩到几分钟,省的人力成本直接转化为更快的 ROAS 提升。

前置条件

  • 拥有亚马逊广告(Amazon Advertising)开发者账号并开通 API 权限。
  • 能够使用 OpenAI 或 Anthropic(Claude)等大模型的最新版(ChatGPT、Claude)并拥有对应的 API Key。
  • 一台可以运行 Python 脚本的服务器或本地电脑(推荐使用 venv 虚拟环境)。
  • 基础的 Python 编程经验(会安装库、运行脚本即可)。

分步操作

1. 注册并获取亚马逊广告 API 访问凭证

  1. 登录 Amazon Advertising Console,进入 “Developer Settings”。
  2. 创建新 “App”,记下 Client ID、Client Secret。
  3. 在 “OAuth 2.0” 中为你的账号生成 Refresh Token(后续脚本会用它换取 Access Token)。
  4. 把上述四个字段保存到本地 .env 文件,格式如:
    AMZ_CLIENT_ID=xxxx
    AMZ_CLIENT_SECRET=xxxx
    AMZ_REFRESH_TOKEN=xxxx

2. 搭建 MCP 代理层(Model Context Protocol)

MCP 本质上是一个中间件,让大模型可以直接调用外部 API。我们这里使用开源的 Semantic Kernel(微软语义内核)配合 sk-toolkit 实现。

  1. 在服务器上创建项目文件夹并初始化虚拟环境:
    mkdir amz-mcp && cd amz-mcp
    python -m venv venv
    source venv/bin/activate
  2. 安装依赖:
    pip install semantic-kernel openai anthropic requests python-dotenv
  3. 新建 mcp_config.py,内容示例:
    import os
    from dotenv import load_dotenv
    
    load_dotenv()
    AMZ_CLIENT_ID = os.getenv("AMZ_CLIENT_ID")
    AMZ_CLIENT_SECRET = os.getenv("AMZ_CLIENT_SECRET")
    AMZ_REFRESH_TOKEN = os.getenv("AMZ_REFRESH_TOKEN")
    OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")  # 或 ANTHROPIC_API_KEY
    
  4. 编写 amz_api.py,封装获取 Access Token、请求搜索词报告、执行负向词和出价修改的函数(代码略,参考官方 API 文档)。
  5. 在 mcp_toolkit.py 中注册两个工具:
    • get_search_term_report() – 返回最近 7 天的搜索词报告(CSV 转 JSON)。
    • apply_negative_keywords(keywords:list) – 调用亚马逊 Bulk API 添加负向词。
    • adjust_bid(keyword:str, new_bid:float) – 单关键词即时调价。
  6. 启动 Kernel 并加载工具:
  7. from semantic_kernel import Kernel
    from mcp_toolkit import get_search_term_report, apply_negative_keywords, adjust_bid
    
    kernel = Kernel()
    kernel.import_skill(get_search_term_report, "amz")
    kernel.import_skill(apply_negative_keywords, "amz")
    kernel.import_skill(adjust_bid, "amz")
    

3. 编写 Prompt 并让模型自动化执行

下面是一套实测有效的 Prompt 模板,直接复制到 prompt.txt,模型会先抓报告、再筛选负向词、最后执行。

你是亚马逊广告优化专家,使用已连接的 MCP 工具完成以下步骤:
1. 调用 amz.get_search_term_report(),获取最近 7 天的搜索词数据。
2. 对每条记录计算 ACOS = (spend / sales) * 100。
3. 选出满足以下任一条件的搜索词作为负向词:
   - ACOS > 80% 且 转化率 < 0.5%;
   - spend > $20 且 sales = 0;
   - 关键词出现次数 < 5 且 过去 30 天无任何点击。
4. 将筛选出的关键词列表传入 amz.apply_negative_keywords(keywords)。
5. 对表现好的关键词(ACOS < 30% 且 转化率 > 2%)进行出价提升 10%,调用 amz.adjust_bid(keyword, new_bid)。
6. 输出本次操作的摘要(负向词数量、调价关键词数量、预计节省 spend)。

把 Prompt 放进 run.py:

from semantic_kernel import Kernel
from mcp_toolkit import *   # 已在前一步注册

kernel = Kernel()
kernel.import_skill(get_search_term_report, "amz")
kernel.import_skill(apply_negative_keywords, "amz")
kernel.import_skill(adjust_bid, "amz")

prompt = open("prompt.txt").read()
result = kernel.run(prompt)
print(result)

运行 python run.py,模型会在几秒钟内完成整个流程,并在终端打印操作摘要。

4. 设置定时任务,实现每日自动化

  1. 在 Linux 主机上编辑 crontab:
    crontab -e
  2. 添加每日 02:00 执行的任务行:
    0 2 * * * /path/to/venv/bin/python /path/to/amz-mcp/run.py >> /var/log/amz_mcp.log 2>&1
  3. 保存后,系统会在每晚自动抓取报告、负向词、调价,几乎不产生额外人工成本。

5. 监控与报表(可选)

如果想要把每日执行结果推送到 Slack 或 Telegram,只需在脚本末尾调用对应的 Webhook:

import requests
SLACK_WEBHOOK = os.getenv("SLACK_WEBHOOK")
payload = {"text": result}
requests.post(SLACK_WEBHOOK, json=payload)

避坑提醒

  • API 调用频率限制:亚马逊广告 API 对每个账号每天的请求次数有限,建议把报告抓取和批量操作合并在一次请求里,避免触发 429 错误。
  • 负向词阈值要适度:过于激进的负向词筛选会导致流量骤降,建议先在测试广告组(Test Campaign)里跑 1 周,确认 ACOS 改善后再全站推广。
  • 出价调幅控制:模型默认 10% 提升,实际操作中可根据品类利润率自行调低(如 5%),防止因竞价过高导致 ACoS 反弹。
  • 日志与回滚:每次调价或负向词添加后,都应记录下 API 返回的 operationId,出现误删时可通过亚马逊后台手动恢复。

你现在就该做的 3 件事

  • 获取亚马逊广告 API 凭证(Client ID、Client Secret、Refresh Token),并在本地保存到 .env。
  • 部署 MCP 脚本:按照上述步骤安装依赖、配置 mcp_config.py、复制 Prompt 模板并测试一次手动运行。
  • 设置每日定时任务(cron)并把执行结果推送到你的团队沟通工具,确保自动化真正落地。

完成以上三步后,你的 Amazon PPC 负向词和关键词调价将实现“几秒钟完成、每日自动化”,人力成本基本为零,ACOS 通常能下降 10%~20%,ROAS 相应提升。