广告数据协议服务

为字节跳动国内广告平台(巨量广告/巨量千川/本地推/星图)提供的MCP服务器,支持AI代理查询广告主账户、广告活动和性能报告,并在明确启用时调整广告状态和预算。

  • by virgoC0der
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 virgoC0der/go-mcp

使用说明

海洋发动机mcp

A. 模型上下文协议 (MCP)服务器 Ocean Engine (巨量引擎) --ByteDance的国内广告平台/ 巨量千川 / 本地推 / 星图). It lets AI agents query advertiser accounts, campaigns, 广告和绩效报告,并在明确启用时调整活动 状态和预算——通过标准MCP接口。

为什么存在这种情况。 “通用Go MCP SDK”问题已解决: 官方的 modelcontextprotocol/go-sdk (由谷歌维护)以及 mark3labs/mcp-go 拥有这个空间。开放式利基市场是 垂直 MCP服务器。谷歌广告和Meta 广告已经有MCP服务器(TikTok广告有几个),但是 海洋发动机-- 中国国内平台——没有。 这个项目填补了这一空白 建造 在...之上 官方SDK,而不是重新实现协议。

状态

早期但功能齐全。MCP层完全工作(通过 内存传输和stdio烟雾测试);Ocean Engine客户端实现 API营销终点文件。访问实时API需要一个有效的 access_token 从 海洋发动机开放式平台.

安装

go install github.com/virgoC0der/go-mcp/cmd/oceanengine-mcp@latest

或者从源代码构建:

make build   # produces ./bin/oceanengine-mcp

配置

服务器是通过环境变量配置的。

认证 --选择两种模式之一:

静态令牌 (您管理刷新自己):

变量 描述
OCEANENGINE_ACCESS_TOKEN 来自Ocean Engine开放平台的OAuth访问令牌

自动刷新 (推荐--访问令牌持续约1天):提供应用程序凭据 以及刷新令牌,服务器在到期之前透明地刷新。海洋 发动机 每次刷新时旋转刷新令牌,因此服务器会跟踪 这是它一生中最新的一次。

变量 必填 描述
OCEANENGINE_APP_ID 是 开发者应用ID(数字)
OCEANENGINE_APP_SECRET 是 开发者应用程序机密
OCEANENGINE_REFRESH_TOKEN yes OAuth刷新令牌(有效期约30天)
OCEANENGINE_ACCESS_TOKEN 没有 当前访问令牌(如果您有新的)
OCEANENGINE_ACCESS_TOKEN_EXPIRES_IN no 剩余寿命(秒);首次使用时省略刷新

自动刷新模式在以下情况下激活 OCEANENGINE_APP_ID, OCEANENGINE_APP_SECRET 和 OCEANENGINE_REFRESH_TOKEN 都设置好了;否则,服务器将回退到 静态 OCEANENGINE_ACCESS_TOKEN.

在重启过程中保持旋转刷新令牌:嵌入 包裹、通行证 oceanengine.WithOnRefresh(...) 到 NewRefreshingTokenSource 到 接收每个新的令牌对并将其存储。

其他选项:

变量 必填 描述
OCEANENGINE_BASE_URL 没有 API主机覆盖(默认为 https://api.oceanengine.com)
OCEANENGINE_ENABLE_WRITES 否 设置为 1/true 注册变异工具(默认情况下为关闭)

与MCP客户端一起使用

{
  "mcpServers": {
    "oceanengine": {
      "command": "oceanengine-mcp",
      "env": { "OCEANENGINE_ACCESS_TOKEN": "your-token" }
    }
  }
}

工具

读取工具(始终可用):

工具 海洋发动机端点 目的
oceanengine_get_advertiser_info GET /2/advertiser/info/ 按广告商ID列出的帐户信息
oceanengine_list_campaigns GET /2/campaign/get/ list campaigns (广告组), paginated
oceanengine_list_ads GET /2/ad/get/ list ads (广告计划), paginated
oceanengine_get_report GET /2/report/ad/get/ 按日期范围/维度列出的绩效报告

写入工具(仅当 OCEANENGINE_ENABLE_WRITES 它们会使活体发生变异 账户

工具 海洋发动机端点 目的
oceanengine_update_campaign_status POST /2/campaign/update/status/ 启用/禁用/删除活动
oceanengine_update_campaign_budget POST /2/campaign/update/budget/ 设定竞选预算

建筑

cmd/oceanengine-mcp     entrypoint: reads env, runs MCP over stdio
internal/mcpserver      registers tools on the official go-sdk; no protocol code
internal/oceanengine    thin Marketing API client (auth, envelope, endpoints)

Ocean Engine客户端故意设计得很薄,依赖性很低。拓宽 在端点覆盖之后,它的方法可以得到更大社区的支持 软件开发工具包 bububa/oceanengine 不触碰 MCP工具层。

路线图

  • ~~ OAuth令牌刷新~~✅ done(自动刷新令牌源)
  • 千川 (前川)电子商务广告终端
  • 更广泛的报告维度/指标和异步报告导出
  • 可选的 bububa/oceanengine 后端实现完全端点覆盖

关于存储库名称的注释

该项目目前位于 go-mcp 由于历史原因,存储库。 预定的家是一个专门的 oceanengine-mcp 存储库--重命名存储库 (保留星星和历史)相应地更新导入路径。

发展

make test    # go test ./...
make vet     # go vet ./...
make build   # build the binary

许可证

麻省理工学院——见 许可证.