广告管理服务器

AdButler MCP Server 是一个通过AI助手管理AdButler广告账户的服务器,提供600+工具和9个预建工作流提示,适用于广告活动创建、报告生成和视频广告设置等场景。

  • by adbutler
  • TypeScript
  • 混合部署
  • 1 星标
  • 更新于
在 GitHub 查看 adbutler/mcp-server

使用说明

AdButler MCP服务器

从任何AI助手管理您的整个AdButler帐户——Claude、ChatGPT、Cursor、Windsurf、Cline和任何其他 模型上下文协议 客户。

此MCP服务器公开 完整的Butler Adv2 API --600多种工具,涵盖广告商、活动、区域、创意、广告位、VAST视频广告、程序化/RTB、报告、定位、草稿、合同、产品目录等,加上9个预先构建的工作流程提示,引导人工智能完成常见任务,如启动活动或设置零售媒体。

你可以问什么

“为百事可乐在加拿大的用户创建一个新的活动,终身预算为5000美元,并将其分配到我的主页横幅区域。”

“按点击率显示过去7天表现不佳的前10个广告项目。”

“设置一个VAST 4.2预售活动,包括一个30秒的可切换创意和三个配套横幅。”

“指导我创建一个新的程序化协议。”

“审核我的广告单元——哪些区域没有活动广告位?”

AI将这些转换为AdButler API调用的正确序列,运行它们,并向您显示结果。

安装

你有两个选择。 大多数用户想要托管版本 --无需设置,只需粘贴URL即可。

选项A——托管(推荐)

使用AdButler托管的MCP服务器。没有安装,没有Node,没有npm。

托管服务器讲两种现代语言 可流式传输的HTTP (/mcp)和遗产 上海证券交易所 (/sse)运输。新客户端应该更喜欢Streamable HTTP;SSE保持向后兼容性。

客户端 配置
克劳德桌面/代码 使用URL添加MCP服务器 https://mcp.adbutler.com/mcp (或 /sse 对于老客户)和页眉 Authorization: Bearer YOUR_ADBUTLER_API_KEY
光标 设置→ 特性→ 模型上下文协议→ 使用上面的URL+auth标头添加服务器
任何MCP客户端 流式HTTP: https://mcp.adbutler.com/mcp ·SSE: https://mcp.adbutler.com/sse -通过传递API密钥 Authorization: Bearer … 或 ?api_key=…

选项B——本地stdio(npm)

将服务器作为节点进程在本地运行。如果您想将API密钥排除在任何外部服务之外或针对自托管的AdButler运行,这将非常有用。

Claude 桌面版

增添 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "adbutler": {
      "command": "npx",
      "args": ["-y", "@adbutler/mcp-server"],
      "env": {
        "ADBUTLER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude 代码

claude mcp add adbutler --env ADBUTLER_API_KEY=your_api_key_here -- npx -y @adbutler/mcp-server

光标/风帆/克莱恩

添加到客户端的MCP配置中:

{
  "mcpServers": {
    "adbutler": {
      "command": "npx",
      "args": ["-y", "@adbutler/mcp-server"],
      "env": { "ADBUTLER_API_KEY": "your_api_key_here" }
    }
  }
}

获取AdButler API密钥

AdButler仪表板→ 设置→ API密钥 → 创建新密钥。这与AdButler v2 REST API使用的密钥相同。

认证

AdButler MCP适用于新客户和现有客户。您看到的内容取决于您是否已经配置了API密钥。

已经是AdButler的客户了吗?(现有API密钥)

使用其中之一:

选项1-在连接配置中设置API密钥(建议:跨会话持久存在)

在连接时传递密钥,每个会话都会自动进行身份验证——密钥永远不必在聊天中共享。

  • Claude 代码 — claude mcp add adbutler --transport http https://mcp.adbutler.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
  • Claude 桌面版 --编辑 claude_desktop_config.json → add headers: { "Authorization": "Bearer YOUR_API_KEY" } 服务器URL旁边
  • 光标 --MCP服务器设置→ 标头→ add Authorization: Bearer YOUR_API_KEY
  • claude.ai定制连接器 (不支持自定义标头)--使用URL表单: https://mcp.adbutler.com/mcp?api_key=YOUR_API_KEY
  • 任何客户 — Authorization: Bearer … 标题或 ?api_key=… 查询参数,on /mcp (流式HTTP)或 /sse (传统苏格兰和南方能源公司)

重新连接——所有600多种工具立即可用。

选项2——在聊天中配置(当前会话仅在托管上)

无需身份验证即可连接到托管的MCP,您将看到四个入职工具。然后在聊天中说:

“配置我的AdButler API密钥: your_api_key_here"

你的AI将调用 setup_api_key 工具,根据您的帐户验证密钥,并解锁所有AdButler工具。之后,您可能需要断开连接并重新连接以刷新客户端的工具列表。

⚠️ 在托管服务器上,以这种方式配置的密钥将持续 直到会话结束 --新的聊天、客户端重启或服务器端重新连接都会再次请求它。如果你发现自己反复将密钥粘贴到聊天中(并且你的人工智能警告你在对话中分享秘密),请切换到选项1:在连接设置中配置一次密钥,它就会持续存在。

疑难解答:“我的API密钥不会保持配置状态”

这意味着密钥是在针对托管服务器的聊天(选项2)中输入的,在那里它是故意会话范围的——托管服务器是多租户的,从不将密钥写入磁盘。修复方法是在客户端的连接配置中一次性设置(上面的选项1):Claude Code/Claude Desktop/Coursor的标头, ?api_key= claude.ai自定义连接器的URL参数。之后,重新连接并自动验证新聊天。

新加入AdButler?(还没有账号)

无需身份验证即可连接到托管的MCP。聊天将指导您使用以下工具完成免费试用注册 create_trial_account → 查看你的邮件→ verify_trial_email 与代码。API密钥是自动配置的。

本地stdio安装

如果您通过以下方式在本地运行 npx,set ADBUTLER_API_KEY 在客户端MCP配置的env块中(见上面的选项B)。设置工具也可以工作——在本地,密钥在会话之间会被记住。

包含什么

9个工作流提示

预构建的技能提示,指导人工智能完成端到端的完整工作流程。根据MCP提示调用它们(/launch-campaign 等等)。

提示 它做什么
launch-campaign 进行端到端的广告活动启动——广告商→ 运动→ 广告项目→ 创意→ 瞄准→ 安置
retail-media-setup 为电子商务网站设置赞助产品/零售媒体
reporting 生成具有正确维度和筛选器的自定义报告
vast-video 使用线性+伴随创意构建VAST视频广告
programmatic 配置程序化交易、投标人和需求来源
targeting 构建地理/平台/数据密钥/列表目标
contracts 创建IO合同并将其分配给活动
channels 将区域捆绑到一个频道中并分配活动
drafts 在上线之前,将完整的活动作为草稿进行阶段化

3个回退元工具(搜索、描述、调用)

当您需要一个没有特定工具包装的端点时,或者当用户询问 领域 (例如“优先级”、“频率上限”)而不是资源——三个逃生口工具填补了空白:

工具 它做什么
search_adbutler_api 关键字搜索完整的AdButler OpenAPI规范以匹配端点
describe_adbutler_api 获取一个端点的完整模式(参数、正文、响应)
call_adbutler_api 通过方法+路径调用任何端点,并自动应用会话的身份验证

这些补充(而不是取代)了下面的特定工具——当它们明显匹配时,LLM仍然更喜欢特定的工具。

整个AdButler API的600多个工具

域 工具 示例
展示广告 100+ list_advertisers, create_campaign, create_image_ad_item, create_native_ad_item, create_placement, create_schedule, create_campaign_assignment
VAST 2/3/4视频 156 vast_create_creative, vast_create_linear_media, vast_create_companion, vast_create_placement, vast_create_schedule,加上完整的VAST 4.2子资源覆盖
区域和出版 50+ create_zone, create_zone_catalog, create_zone_email, create_native_template, create_publisher,ORTB本地资产
定向 37 create_geo_target, create_platform_target, create_data_key, create_data_list, create_postal_code_target
报告 39 get_display_report, get_vast_report, get_event_logs、自定义报告配置、计划报告
程序化/RTB 25 create_demand_source, create_demand_endpoint, create_bidder, create_pmp_deal
产品目录 20 create_product_db_catalog, bulk_upload_products,广告项目↔ 目录项链接
草稿 48 舞台活动/广告项目/位置/时间表作为草稿;以原子方式发布
合同 43 插入订单、合同文件、签名请求、付款
帐户和安全 27 用户、角色、重定向域、信标签名密钥、SFTP连接
广告投放 2 serve_ad, live_website_preview

AdButler的100%覆盖率 v2 OpenAPI规范 (604/604个端点)。

遥测

这 托管 服务器在 mcp.adbutler.com 收集使用情况分析,以便我们了解哪些工具最受欢迎,确定改进的优先级,并诊断故障。我们根据工具调用捕获:

  • 工具名称(例如。 list_zones, create_campaign)--从不使用工具论证
  • 帐户ID(每个会话从以下来源派生一次 /self)
  • API-密钥指纹(SHA-256,截断为16个十六进制字符)-标识使用的密钥 没有 存储密钥本身
  • 传输(HTTP或SSE)、MCP客户端名称和版本(例如Claude Desktop)、呼叫持续时间、成功/错误状态
  • 关于错误:上游HTTP状态代码,一个分类错误类(例如。 forbidden, network),以及错误消息文本(截断为1000个字符)

我们 从不 收集:工具参数、响应主体、原始API密钥、IP地址、请求主体。仪器只看到MCP服务器或AdButler API产生的工具名称、时间和(故障时)错误消息。

自安装的副本——npm包、stdio、你自己的部署——收集零数据。 仪器仅在以下情况下才会启动 ANALYTICS_INGEST_URL 环境变量已设置,这仅适用于mcp.adbutler.com上的托管端点。

如果您希望退出托管服务器上的分析,请通过stdio运行自己的副本或自行托管SSE/HTTP服务器。

发展

贡献者的本地来源:

git clone https://github.com/adbutler/mcp-server
cd mcp-server
npm install
npm run build
ADBUTLER_API_KEY=your_key node dist/index.js

与MCP官方检查员一起检查:

npx @modelcontextprotocol/inspector node dist/index.js

资源

  • AdButler API文件 — https://api.adbutler.com/openapi.json
  • MCP协议 — https://modelcontextprotocol.io
  • 托管服务器状态 — https://mcp.adbutler.com/health
  • 问题/功能请求 — https://github.com/adbutler/mcp-server/issues

许可证

麻省理工学院