这跟卖家有什么关系?

如果你已经在亚马逊(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 IDClient 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 相应提升。