使用说明
海洋发动机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
许可证
麻省理工学院——见 许可证.