Microservice Control Panel (MCP)
一个整合并管理来自字节跳动巨量引擎广告平台的API的平台,为电商流量获取场景提供统一的访问接口。
README
MCP (微服务控制面板)
项目概述
MCP是一个集成巨量API并对外提供服务的平台。该项目旨在简化API的管理、监控和使用,为开发人员和业务提供一站式服务解决方案。特别适合引流电商业务场景。
主要功能
- 巨量引擎API集成:集成巨量引擎广告平台的API,提供统一访问接口
- 广告账户管理:查询广告账户信息、获取账户列表
- 广告数据报表:支持多维度数据查询,包括广告主报表、小时报表和自定义报表
- 项目和广告管理:获取项目列表和广告列表,支持多种过滤条件
- 灵活的认证机制:Access-Token管理,支持按广告账户设置和管理Token
- 完善的API文档:详细的接口说明、参数定义和使用示例
- 错误处理和日志:提供错误码和详细日志,方便调试和问题定位
集成API
已计划集成的API
- 巨量引擎开放平台
- 广告账户服务API - 文档链接
- 主要功能:查询广告账户信息、获取账户列表、获取广告性能数据等
- 已实现接口:
GET /api/oceanengine/ad-accounts/{account_id}- 获取广告账户详情GET /api/oceanengine/ad-accounts- 获取广告账户列表GET /api/oceanengine/ad-accounts/{account_id}/performance- 获取广告关键指标(展示、点击、转化、消耗等)GET /api/oceanengine/ad-accounts/{account_id}/hourly-report- 获取广告主按小时统计的报表数据POST /api/oceanengine/ad-accounts/{account_id}/custom-report- 获取自定义报表GET /api/oceanengine/ad-accounts/{account_id}/report/advertiser- 获取广告主报表GET /api/oceanengine/ad-accounts/{account_id}/projects- 获取项目列表GET /api/oceanengine/ad-accounts/{account_id}/promotions- 获取广告列表POST /api/ad-accounts/{account_id}/token- 设置账户的Access-TokenGET /api/ad-accounts/{account_id}/token- 检查账户的Access-Token状态DELETE /api/ad-accounts/{account_id}/token- 删除账户的Access-Token
技术栈
- 后端:Node.js/Express
- API调用:Axios
- 容器化:Docker
- API网关:Kong/Nginx
项目结构
/
├── app/ # 应用主目录
│ ├── controllers/ # 控制器
│ ├── models/ # 数据模型
│ ├── services/ # 服务
│ ├── routes/ # 路由
│ └── utils/ # 工具函数
├── config/ # 配置文件
├── docs/ # 文档
├── scripts/ # 部署和维护脚本
├── tests/ # 测试文件
└── docker/ # Docker相关文件
开发与部署
环境要求
- Node.js 16+
- Docker (用于容器化部署)
环境变量配置
在项目根目录创建一个 .env 文件,可参考 .env.example:
# 服务器配置
PORT=3000
NODE_ENV=development
# 巨量引擎API Token
OCEANENGINE_ACCESS_TOKEN=your_access_token_here
# 日志级别
LOG_LEVEL=debug
本地开发
# 安装依赖
npm install
# 启动开发服务器
npm run dev
测试
# 运行单元测试
npm test
生产部署
# 构建Docker镜像
docker build -t mcp-server .
# 运行容器
docker run -d -p 3000:3000 --env-file .env --name mcp-api mcp-server
API文档
API文档请参考 docs/api.md
引流电商应用场景
本项目特别适合引流电商业务场景,提供了以下功能:
- 获取广告账户基本信息:包括账户ID、名称、状态、余额等
- 批量获取账户列表:用于管理多个广告账户
- 获取广告关键指标:包括展示量、点击量、转化量、点击率、转化率等,帮助引流电商评估广告效果
- 获取广告主小时报表:按小时查看广告表现,及时调整策略
- 自定义报表:根据需求定制报表,支持多维度分析
路线图
- [x] 项目初始化
- [x] 基础框架搭建
- [x] API管理实现
- [x] 巨量引擎广告账户服务API集成
- [x] 获取账户信息接口
- [x] 获取账户列表接口
- [x] 获取广告关键指标接口
- [x] 获取广告主小时报表接口
- [x] 获取自定义报表接口
- [x] 获取广告主报表接口
- [x] 获取项目列表接口
- [x] 获取广告列表接口
- [x] 巨量引擎广告账户服务API集成
- [x] 认证管理
- [x] Access-Token 管理接口
- [ ] 用户认证与授权
- [ ] 服务监控模块
- [ ] 高级特性
- [ ] 缓存机制
- [ ] 请求限流
- [ ] 错误重试
- [ ] 单元测试覆盖
- [x] 完整API文档
贡献指南
- Fork 该仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。