跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 OTTO Sponsored Product Ads,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
OTTO Market 的 Sponsored Product Ads:广告活动、推广的 SKU (目标)、关键词和出价,以及面向 otto.de 广告主的 SPA 报告 (按广告活动和商品的 KPI、CSV 报告)。使用带广告 scope 的 OAuth 2.0 客户端凭证。
试试这样问
OTTO Sponsored Product Ads 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → OTTO Sponsored Product Ads、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
OTTO Sponsored Product Ads + Cursor
OTTO Market 的 Sponsored Product Ads:广告活动、推广的 SKU (目标)、关键词和出价,以及面向 otto.de 广告主的 SPA 报告 (按广告活动和商品的 KPI、CSV 报告)。使用带广告 scope 的 OAuth 2.0 客户端凭证。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
OTTO_ADS_CLIENT_ID, OTTO_ADS_CLIENT_SECRET
步骤 1 — 获取凭证
设置大约需要 5 分钟。你需要一个已投放 Sponsored Product Ads 的 OTTO Market 合作伙伴账号,以及 OTTO Partner Connect 中的一个应用。不需要用户登录:连接器使用客户端凭证。
- 在 OTTO Partner Connect 中为你自己的账号创建一个应用 (或打开你已经用于 Partner API 的应用),并启用 Sponsored Product Ads 接口。
- 复制该应用的 client id 和 client secret。secret 只在创建时显示一次;如果已经找不到,请在 OTTO Partner Connect 中轮换。
- 把 client id 粘贴到
OTTO_ADS_CLIENT_ID,secret 粘贴到OTTO_ADS_CLIENT_SECRET。AnythingMCP 会以advertising-servicesscope 执行 OTTO 的客户端凭证流程;令牌有效期 30 分钟,过期后会自动重新获取。 - 安装连接器并运行
otto_ads_list_campaigns:它会列出你的广告活动及其状态、类型和预算。
与 OTTO Market 连接器分开:Sponsored Product Ads 有自己的 OAuth scope。订单、商品、库存和退货仍在 OTTO Market 连接器中处理;把广告分开后,没有广告接口的应用在那里也能继续使用。
可读取的内容:广告活动的状态、类型 (AUTOMATIC 或 MANUAL)、预算、预算类型、投放节奏和起止日期;推广的 SKU (目标) 及其出价;每个目标的关键词及其匹配类型、正向或否定和出价;按广告活动和按 SKU 的 KPI (浏览量、点击量、花费、归因销售额、下单 SKU 数、点击率、单次点击费用和广告支出回报率);以及按广告活动、按关键词 (包含买家实际输入的搜索词) 和按商品的 CSV 报告。
金额以欧分为单位:预算、出价和花费以 {"amount": 160, "currency": "EUR"} 的形式返回,即 1.60 欧元。出价和预算的最低金额为 20 (0.20 欧元)。报告中的 TOTAL_COSTS 和 TOTAL_SALES 列也是欧分。
出价在两个地方:AUTOMATIC 广告活动按目标 (SKU) 出价,MANUAL 广告活动按正向关键词出价。否定关键词 (不出价) 两种都适用,并且属于某一个目标:要在整个广告活动中排除某个搜索词,AI 会把它加到每个目标上。
报告:KPI 最多覆盖最近 90 天,且从不包含当天;不指定日期时,OTTO 使用最近 7 天。OTTO 会把点击后 14 天内的销售额归因到广告,包括同一品牌的其他商品,所以最近几天的数据还会变化。生成 CSV 报告时,AI 先提交请求,用 otto_ads_get_report_status 查询直到状态为 READY,再用 otto_ads_download_report 下载。文件保留 24 小时。请求报告不会改变任何广告活动。
每次修改前都会询问:otto_ads_create_campaign、otto_ads_update_campaign、otto_ads_add_targets、otto_ads_update_target_bids、otto_ads_add_keywords 和 otto_ads_update_keywords 会改变正在投放的广告并产生花费。AI 会向你展示广告活动、目标或关键词以及欧元金额,和你确认金额,等你同意后才执行。写入是异步的:OTTO 返回一个变更请求,AI 用 otto_ads_get_change_request 跟踪,直到状态为 ACCEPTED 或 REJECTED (附原因)。
安装时关闭:otto_ads_delete_keywords。它会删除某个目标下的 1 到 50 个关键词,且无法撤销;很多时候降低出价是更好的选择。管理员可以有意开启它。
限制:OTTO 在 24 小时内最多允许 200 份报告,所有报告类型合计,即使报告不改变任何内容也会计入。每个广告活动同一时间只能有一个待处理的变更请求。列表按页返回,每页最多 1000 条,AI 用 nextCursor 翻页。查询变更请求时,AI 每次都会多等一会儿 (1 秒、2 秒、4 秒),以避免 429。
常见错误:如果令牌被拒绝,说明 client id 或 secret 有误,或者应用没有启用 Sponsored Product Ads 接口:请在 OTTO Partner Connect 中检查该应用。409 表示同一广告活动还有另一个变更在等待处理。类似 "Invalid status transition PAUSED to PAUSED" 的拒绝表示广告活动已经是该状态。KPI 返回 404 "Data not found" 表示该广告活动在此期间没有展示;下载时 404 表示报告尚未就绪,410 表示已过期。
该连接器不会读取订单、商品、库存或退货 (这些由 OTTO Market 连接器负责),不会显示当天或 90 天以前的数据,也不会删除广告活动或目标。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 Cursor 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Cursor 从 ~/.cursor/mcp.json 读取 MCP 服务器。添加以下条目:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- 在 AnythingMCP 的 MCP Servers → 你的服务器 → API keys 中创建 MCP API 密钥,并用它替换
YOUR_MCP_API_KEY。 - 保存文件并重启 Cursor。
- 打开 Cursor → Settings → MCP,确认
anythingmcp已列出并处于已连接状态。 - 开始对话,智能体现在可以调用
OTTO Sponsored Product Ads的工具。
可用工具
| Tool | What it does |
|---|---|
otto_ads_list_campaigns | List Sponsored Product Ads campaigns: campaignId, name, status (PENDING, WAITING, ACTIVE, PAUSED, ENDED, CANCELED), campaignType (AUTOMATIC… |
otto_ads_get_campaign | Read one campaign: status, type, budget (euro cents), budgetType, pacing and dates |
otto_ads_list_targets | List the targets (advertised SKUs) of a campaign with targetId, sku and bid |
otto_ads_get_target | Read one target (advertised SKU) of a campaign with its bid |
otto_ads_list_keywords | List the keywords of one target: keywordId, keyword, matchType (EXACT, PHRASE, BROAD), keywordType (POSITIVE or NEGATIVE) and bid (euro… |
otto_ads_get_change_request | Status of an asynchronous write: PENDING, ACCEPTED or REJECTED |
otto_ads_get_campaign_kpis | KPIs of one campaign for a date range: views, clicks, costs, attributed sales, ordered SKUs, click-through rate, cost per click and return… |
otto_ads_get_product_kpis | KPIs of one SKU inside one campaign for a date range, the same metrics as the campaign KPIs plus totalSalesSeller (attributed sales of… |
otto_ads_request_campaign_report | Start a CSV campaign report across campaigns and days |
otto_ads_request_keyword_report | Start a CSV keyword report: performance per keyword and per actual search term, the basis for new negative keywords and bid changes |
otto_ads_request_product_report | Start a CSV product report: performance per advertised SKU |
otto_ads_get_report_status | Status of a requested report: IN_PROGRESS, READY or FAILED (request a new one after FAILED). report_type must match the tool that requested… |
otto_ads_download_report | Download a READY report as CSV text. 404 means it is not ready yet, 410 that it expired (files are kept 24 hours) |
otto_ads_create_campaign | Create a campaign |
otto_ads_update_campaign | Change a campaign: status (ACTIVE, PAUSED, WAITING), budget (euro cents), pacing, name, start or end date |
otto_ads_add_targets | Add SKUs to a campaign |
otto_ads_update_target_bids | Change target bids in an AUTOMATIC campaign |
otto_ads_add_keywords | Add keywords to one target |
otto_ads_update_keywords | Change the bid (euro cents) or matchType of existing keywords of one target |
otto_ads_delete_keywords | Delete 1 to 50 keywords of one target by keywordId |
示例提示
- “最近 30 天里,我的哪个 OTTO 广告活动广告支出回报率最高?每个活动分别花了多少欧元?”
- “暂停广告活动 Gartenmöbel Sommer。先查一下它当前的状态,OTTO 接受变更后告诉我。”
- “把我的自动广告活动 Bettwäsche 中 SKU BL-4711 的出价提高到 0.80 欧元。修改前先给我看旧出价和新出价。”
- “请求一份最近 30 天的关键词报告,列出花了钱却没有带来销售的搜索词,作为否定关键词的候选。”
- “创建一个自动广告活动 Winterjacken,每日预算 25 欧元,均匀投放,下周一开始,并添加 SKU JK-100 和 JK-200,出价各 0.50 欧元。”
FAQ
Cursor 免费套餐支持自定义 MCP 服务器吗? 支持,Hobby、Pro 和 Business 套餐均可使用 MCP。
下一步
这份指南对你有帮助吗?