使用 Amazon 广告 API 的 Model Context Protocol (MCP) SDK 构建基于AI的广告应用程序
由 Openbridge 热情打造
</div>可以将 MCP(模型上下文协议)视为一个在AI模型与外部系统(如Amazon Ads)之间进行翻译的角色。每个MCP工具就像一个遥控按钮,告诉AI如何与Amazon Ads互动。没有MCP工具,AI将不知道如何“与”Amazon Ads交流。
有了MCP工具:
👉 简而言之:MCP工具 = 让AI能够与 Amazon Ads API 安全交互的工具箱。
Amazon Ads API MCP SDK 是一个开源实现,提供了创建基于AI的广告工具、聊天机器人和自动化服务的强大基础。
MCP 服务器对已发布的 Amazon Ads API 提供了广泛的覆盖。每个都对应于 Amazon Ads API 中的一组操作。这包括新的 Amazon Ads API v1 的活动管理服务,导出,Amazon 营销云等等。
以下是一些代表性的 Amazon API 服务列表:
我们推荐使用 🐳 Docker 安装 Amazon Ads API MCP:
docker pull openbridge/amazon-ads-mcp
复制环境模板
cp .env.example .env
编辑 .env 文件以设置您的配置
使用 Docker Compose 启动服务器
docker-compose up -d
服务器将在 http://localhost:9080 上可用
查看日志
docker-compose logs -f
停止服务器
docker-compose down
有关完整的安装说明,包括验证、升级和开发者设置,请参阅 安装指南。
Amazon Ads 要求所有对 API 的调用都需要授权。如果您不确定这意味着什么,您应该阅读 Amazon 文档:
有两种途径连接到 API;
如果您有自己的 Amazon Ads API 应用,或者想要创建一个,过程如下所述。
Client ID 和 Client Secrethttps://your-server.com/auth/callbackhttp://localhost:8000/auth/callback一旦您的应用被 Amazon 安全并批准,您需要客户端 ID 和密钥:
# Amazon Ads API 凭证(必需)
AMAZON_AD_API_CLIENT_ID="your-client-id"
AMAZON_AD_API_CLIENT_SECRET="your-client-secret"
确保这些信息在您的 .env 文件中。同时,确保您在同一个 .env 中将授权方法设置为 direct:
AUTH_METHOD=direct
为了授权您的连接到 Amazon,您需要作为最终用户完成 OAuth 流程。首先,您需要设置您的区域。授权发生在区域级别,不设置区域可能会导致失败。服务器默认为 na 区域。您可以手动设置区域使用工具 set_active_region。
set_active_regionna | eu | fe示例提示:"将我的当前区域设置为 eu"
要连接到 Amazon Ads API,您使用 MCP 工具来启动您的 OAuth 流程
start_oauth_flow在这个例子中,您会被提示点击链接,该链接会在浏览器窗口中打开,并要求在 Amazon 进行审批。
<img src="images/step2.png" alt="步骤 2" style="max-width: 600px;">在浏览器窗口中,Amazon 会提示您批准连接请求。
<img src="images/step3.png" alt="步骤 3" style="max-width: 600px;">如果一切顺利,您将看到成功响应。您可以关闭浏览器窗口并回到客户端。如果看到其他内容,请尝试重新执行流程并确认所有配置元素正确无误
<img src="images/step4.png" alt="步骤 4" style="max-width: 600px;">要确认您的 MCP 服务器已连接到 Amazon Ads API,请检查您的 OAuth 状态
check_oauth_status现在您可以开始与 Amazon Ads API 系统交互了!
您可以配置您的客户端,例如 Claude,通过提供有效的访问令牌来进行身份验证。这对于服务账户、长期 API 密钥、CI/CD、身份验证由其他方式管理的应用程序或其他非交互式身份验证方法最为合适。
作为 Ads API 合作伙伴应用提供商,Openbridge 提供了一个通往 Amazon Ads API 的现成网关。您登录到您的 Openbridge 账户,分配一个令牌,然后在客户端配置中设置您的令牌(见下文)。
首先,设置 Openbridge 作为身份验证方法:
AUTH_METHOD=openbridge
这就是服务器配置的内容。要访问服务器,您需要配置客户端,如 Claude Desktop,直接传递令牌。(参见 示例 MCP 客户端:连接 Claude Desktop)
您的 Amazon 授权存储在 Openbridge 中。您客户端的第一步是请求当前的身份:"列出我的远程身份"。接下来,您会告诉 MCP 服务器使用这些身份之一:"将我的远程身份设置为 <>"。然后您可以询问 MCP 列出与该账户关联的所有 Amazon Ad 配置文件。如果没有看到列出的广告商,设置不同的身份。
要激活,您需要设置一个逗号分隔的包来加载。例如,要激活 profiles 和 amc-workflow,设置您的包环境如下:
AMAZON_AD_API_PACKAGES="profiles,amc-workflow"以下是服务器中可用的工具包列表:
profilescampaign-manageaccounts-manager-accountsaccounts-ads-accountsaccounts-portfoliosaccounts-billingaccounts-account-budgetsaudiences-discoveryreporting-version-3brand-benchmarksbrand-metricsstores-analyticssponsored-productssp-suggested-keywordssponsored-brands-v4sponsored-brands-v3sponsored-displaydsp-measurementdsp-advertisersdsp-audiencesdsp-conversionsdsp-target-kpi-recommendationsamazon-attributionaudience-insightsforecastsbrand-store-managementpartner-opportunitiestactical-recommendationspersona-buildercreative-assetschange-historydata-provider-datadata-provider-hashedproducts-metadataproducts-eligibilityunified-pre-moderation-resultsmoderation-resultsamazon-marketing-streamlocationsexports-snapshotsmarketing-mix-modelingreach-forecastingamc-administrationamc-workflowamc-rule-audienceamc-ad-audience您会注意到有些被分成更小的组合。例如,Amazon Marketing Cloud 有多个包;amc-ad-audience,amc-administration,amc-rule-audience 和 amc-workflow。这样做是为了创建效率和优化,减少许多AI客户端中的上下文限制。
Amazon Ads MCP 工具具有前缀(如 cp_ 表示 Campaign Performance 或 amc_ 表示 Amazon Marketing Cloud),以帮助组织特定的 Ads API 操作。
示例前缀:
cp_ → 活动/广告 APIamc_ → 与 AMC 相关的 APIdsp_ → DSP APIsd_ → 赞助展示ams_ → Amazon 营销流这将转化为与可用 API 操作相匹配的工具集合:
活动管理 (cp_)
cp_listCampaigns — 列出所有活动cp_getCampaign — 获取特定活动cp_createCampaign — 创建新活动cp_updateCampaign — 更新活动cp_archiveCampaign — 归档活动赞助产品 (sp_)
sp_listProductAds — 列出产品广告sp_createKeywords — 创建关键词sp_updateBids — 更新关键词出价sp_getNegativeKeywords — 获取否定关键词AMC 工作流 (amc_)
amc_listWorkflows — 列出 AMC 工作流amc_executeWorkflow — 运行工作流amc_getWorkflowStatus — 检查工作流状态用户会看到这样的工具:
"列出我的 Amazon Ads 活动"
→ Claude 使用:cp_listCampaigns
"创建一个 AMC 工作流"
→ Claude 使用:amc_createWorkflow
"导出我的赞助产品广告数据"
→ Claude 使用:export_createAdExport
根据 Amazon 的说法:配置文件在 Amazon Ads API 中起着关键作用,确定给定调用的管理范围。配置文件ID是访问特定市场中广告商数据和服务所需的基本凭证。
您可能不知道授权授予您访问哪些配置文件。您可以列出所有可访问的广告配置文件:
ac_listProfiles响应包括配置文件详细信息:
假设您的列表包含配置文件ID 1043817530956285。您可以通过获取配置文件详细信息来确认这是您想要使用的配置文件。
ac_getProfile1043817530956285 的详细信息"假设这是您想要使用的配置文件,您需要 设置 Amazon 要求用于 API 调用的配置文件:
set_active_profile1043817530956285"当您设置配置文件时,它决定了:
配置文件ID将在会话期间在后台设置。如果您想切换到新的配置文件,请重复此过程。
大多数对 Amazon Ads API 的调用都需要一个区域。每个 广告商配置文件ID 都与特定区域/市场的广告账户相关联。
区域是广告商配置文件的一部分。当您使用 set_active_profile 设置广告商配置文件时,它会自动设置与配置文件相关的区域。
set_active_profile示例提示:"将我的活动广告商配置文件设置为 111111111111"
由于配置文件ID 111111111111 基于 na,区域将根据配置文件区域设置。
Amazon Ads MCP 服务器包括管理 API 区域的工具,作为默认值和动态设置,允许您在不重启服务器的情况下在北美 (na)、欧洲 (eu) 和远东 (fe) 区域之间切换。
| 区域代码 | 名称 | API 端点 |
|---|---|---|
na | 北美 | https://advertising-api.amazon.com |
eu | 欧洲 | https://advertising-api-eu.amazon.com |
fe | 远东 | https://advertising-api-fe.amazon.com |
当您设置一个区域时,系统会自动:
重要提示:避免区域不匹配:如果您尝试设置与您的广告商配置文件无关的区域,Ads API 将拒绝您的请求。例如,如果配置文件ID与 na 关联,而您手动将区域设置为 eu,则会导致 API 请求失败。
如果您不确定设置了哪个区域,可以检查区域
get_active_region示例提示:"我的当前活动区域是什么?"
导航到连接器设置
在浏览器中打开 Claude 并导航到设置页面。您可以通过点击个人资料图标并从下拉菜单中选择“设置”来访问此页面。进入设置后,在侧边栏中找到并点击“连接器”部分。这将显示您当前配置的连接器,并提供添加新连接器的选项。
编辑您的 Claude Desktop 配置文件:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
Linux:~/.config/Claude/claude_desktop_config.json
在此示例中,我们将展示如何