lcps-mcp-server
v1.0.7
Published
奥点云活动导播台工程MCP服务
Downloads
18
Maintainers
Readme
奥点云活动导播台工程 MCP 服务
这是一个用于管理奥点云活动导播台工程的 MCP (Model Context Protocol) 服务,提供了完整的 CRUD 操作功能。支持通过 npx 直接运行,无需安装。
✨ 功能特性
- 🎬 创建活动导播台工程 - 创建新的导播台工程
- 🚀 开启活动导播台工程 - 启动指定的导播台工程
- 🛑 关闭活动导播台工程 - 停止指定的导播台工程
- ⏰ 延期活动导播台工程 - 延长工程的使用时长
- 🗑️ 删除活动导播台工程 - 删除指定的导播台工程
- 📋 获取活动导播台工程列表 - 获取所有工程列表
- 🎛️ 获取活动导播台中控页面 - 获取中控页面访问链接
- 🔐 获取LCPS认证Token - 获取LCPS认证Token
- 📡 设置信道参数 - 批量设置信道参数(视频比例、输入源、缓冲时间)
- 📡 设置输出地址 - 配置导播台输出流参数
- 🔄 信道切换 - 快速切换导播台的信道
- 🔗 获取信道推流地址 - 获取指定信道的推流地址
- 🎨 设置垫片配置 - 为信道设置垫片(过渡画面)
- 🔧 命令行参数支持 - 支持通过参数传入认证信息
- 🌍 环境变量支持 - 支持通过环境变量配置
- 🔐 自动认证 - 支持自动获取和解析认证信息
🚀 快速开始
方法1:使用 npx 直接运行(推荐)
# 使用参数
npx lcps-mcp-server --access-id "xxx" --access-key "xx" --domain "jstest.aodianyun.cn"
# 指定版本运行
npx [email protected] --access-id "xx" --access-key "xx" --domain "jstest.aodianyun.cn"
方法2:全局安装后使用
# 全局安装
npm install -g lcps-mcp-server
# 运行服务
lcps-mcp-server --access-id "xxxx" --access-key "xxxxxx"
# 安装指定版本
npm install -g [email protected]方法3:本地安装
# 安装依赖
npm install lcps-mcp-server
# 运行服务
npx lcps-mcp-server --access-id "xxxx" --access-key "xxxx"
# 安装指定版本
npm install [email protected]📋 命令行参数
| 参数 | 短参数 | 说明 | 必需 | 默认值 |
|------|--------|------|------|--------|
| --access-id | -i | 奥点云访问ID | ✅ | - |
| --access-key | -k | 奥点云访问密钥 | ✅ | - |
| --base-url | -u | API基础URL | ❌ | http://apaas-api.jstest.aodianyun.cn |
| --domain | -d | 奥点云域名 | ❌ | jstest.aodianyun.cn |
| --help | -h | 显示帮助信息 | ❌ | - |
🌍 环境变量支持
您也可以通过环境变量设置配置:
# Linux/macOS
export AODIANYUN_ACCESS_ID="xxxx"
export AODIANYUN_ACCESS_KEY="xxxxxx"
export AODIANYUN_BASE_URL="http://apaas-api.jstest.aodianyun.cn"
export AODIANYUN_DOMAIN="jstest.aodianyun.cn"
# Windows PowerShell
$env:AODIANYUN_ACCESS_ID="xxx"
$env:AODIANYUN_ACCESS_KEY="xxxxx"
$env:AODIANYUN_BASE_URL="http://apaas-api.jstest.aodianyun.cn"
$env:AODIANYUN_DOMAIN="jstest.aodianyun.cn"
# Windows CMD
set AODIANYUN_ACCESS_ID=xxxxx
set AODIANYUN_ACCESS_KEY=xxxxxx
set AODIANYUN_BASE_URL=http://apaas-api.jstest.aodianyun.cn
set AODIANYUN_DOMAIN=jstest.aodianyun.cn📝 使用示例
查看帮助
npx lcps-mcp-server --help🔧 MCP 工具说明
1. 创建活动导播台工程
工具名: create_active_lcps_project
参数:
title(string): 工程标题inputNum(number): 信源数目 (4, 5, 6, 7, 8)resolution(string): 分辨率 (720p, 1080p)useHours(number): 使用时长(小时),默认1小时subType(string): 固定值 "alcps"remarks(string, 可选): 备注信息(可选,默认自动生成resolution和inputNum的组合)
功能: 创建新的活动导播台工程,返回工程ID
2. 开启活动导播台工程
工具名: open_active_lcps_project
参数:
projectId(number): 工程IDuseHours(number): 使用时长(小时),默认1小时,最小值为1
功能: 开启指定的导播台工程,返回LCPS地址
3. 关闭活动导播台工程
工具名: close_active_lcps_project
参数:
projectId(string): 工程IDsubType(string): 固定值 "alcps"
功能: 关闭指定的导播台工程
3.5. 延期活动导播台工程
工具名: delay_active_lcps_project
参数:
projectId(number): 工程IDuseHours(number): 延期时长(小时),最小值为1
功能: 对指定工程进行延期,延长使用时长
4. 删除活动导播台工程
工具名: delete_active_lcps_project
参数:
projectId(string): 工程IDsubType(string): 固定值 "alcps"
功能: 删除指定的导播台工程
5. 获取活动导播台工程列表
工具名: get_active_lcps_project_list
参数:
num(number): 每页数目,默认10,最大100page(number): 页数,默认1subType(string): 固定值 "alcps"
返回数据:
- 工程列表详细信息
- 总工程数量
- 每个工程的状态、创建时间等信息
6. 获取活动导播台中控页面
工具名: get_active_lcps_control_page
参数:
projectId(number): 工程IDsubType(string): 固定值 "alcps"
返回数据:
- 中控页面访问链接
- 认证信息(ID和SecretKey)
7. 获取LCPS认证Token
工具名: get_lcps_auth_token
参数:
id(string): LCPS实例IDsecretKey(string): LCPS密钥pathname(string): 认证路径,默认为"/getToken"projectId(number, 可选): 工程ID(用于自动获取认证信息)subType(string): 固定值 "alcps"
功能: 获取LCPS认证Token,支持自动解析认证信息
返回数据:
- 认证Token信息(validate, timestamp, rand)
- 解析出的认证参数
8. 设置信道参数
工具名: set_channel
参数:
lcpsAddr(string): LCPS地址(支持带http/https协议或不带协议的格式)channel(number): 信道号(1-16,对应API的0-15)keepRatio(boolean, 可选): 是否保持视频比例playURL(array, 可选): 拉流地址数组inputType(string): 输入类型,默认"拉流"allowPublishForce(boolean): 是否允许强制发布,默认falsefirstBufferTime(number): 首次缓冲时间(秒),默认0maxBufferTime(number): 最大缓冲时间(秒),默认1smoothMode(boolean): 平滑模式,默认falseenableLowLatency(boolean): 启用低延迟,默认falseid(string, 可选): LCPS实例ID(从get_active_lcps_control_page获取)secretKey(string, 可选): LCPS密钥(从get_active_lcps_control_page获取)projectId(number, 可选): 工程ID(用于自动获取认证信息)
功能: 一次性设置多个信道参数,包括视频比例、输入源和缓冲时间
支持的lcpsAddr格式:
http://mcx0emt6-20250710143054-1011.lcps.jstest.aodianyun.cnhttps://mcx0emt6-20250710143054-1011.lcps.jstest.aodianyun.cnmcx0emt6-20250710143054-1011.lcps.jstest.aodianyun.cn
执行的操作:
- 设置视频保持比例(如果提供keepRatio参数)
- 切换输入源(如果提供playURL参数)
- 设置缓冲时间(always执行)
9. 设置导播台输出地址
工具名: set_output_address
参数:
lcpsAddr(string): LCPS地址(从open_active_lcps_project返回的lcpsAddr)publishURL(array): 推流地址数组formatIndex(number): 格式索引,默认0notRestart(boolean): 是否不重启,默认falseenable(boolean): 是否启用,默认trueplayURL(string): 播放地址,默认为空videoSize(string): 视频尺寸,默认"1920x1080"videoBitrate(string): 视频码率,默认"3000k"videoCBR(boolean): 视频CBR模式,默认falseqmin(number): 最小量化参数,默认2qmax(number): 最大量化参数,默认1024gop(number): GOP大小,默认3audioBitrate(string): 音频码率,默认"128k"audioOnly(boolean): 仅音频模式,默认falseenableDelayPublish(boolean): 启用延迟发布,默认falsedelayPublishTime(number): 延迟发布时间(秒),默认120delayPublishURL(array): 延迟发布地址数组,默认为空publishToLPS(boolean): 发布到LPS,默认falsevideoRecord(boolean): 视频录制,默认falselossless(boolean): 无损模式,默认falsehdr(boolean): HDR模式,默认falsepixfmt(string): 像素格式,默认"yuv420"hdrtype(string): HDR类型,默认"HLG"id(string, 可选): LCPS实例ID(从get_active_lcps_control_page获取)secretKey(string, 可选): LCPS密钥(从get_active_lcps_control_page获取)projectId(number, 可选): 工程ID(用于自动获取认证信息)
功能: 配置导播台输出流参数,支持多种编码和发布选项
10. 信道切换
工具名: switch_channel
参数:
lcpsAddr(string): LCPS地址(从open_active_lcps_project返回的lcpsAddr,支持带http协议)channel(number): 信道号(1-16,对应API的0-15)id(string, 可选): LCPS实例ID(从get_active_lcps_control_page获取)secretKey(string, 可选): LCPS密钥(从get_active_lcps_control_page获取)projectId(number, 可选): 工程ID(用于自动获取认证信息)
功能: 快速切换导播台的信道,支持自动认证
10.5. 获取信道推流地址
工具名: get_channel_publish_url
参数:
lcpsAddr(string): LCPS地址(从open_active_lcps_project返回的lcpsAddr,支持带http协议)channel(number): 信道号(1-16,对应API的0-15)
功能: 根据LCPS地址和信道号生成推流地址(RTMP格式)
说明: 推流地址格式为 rtmp://{lcpsAddr}/live/{channel-1},其中channel会自动转换为API需要的格式(减1)
11. 设置垫片配置
工具名: set_gasket_config
参数:
lcpsAddr(string): LCPS地址(从open_active_lcps_project返回的lcpsAddr,支持带http协议)channel(number): 信道号(1-16,对应API的0-15)url(string): 垫片地址title(string, 可选): 垫片标题,默认为"垫片"thumbnail(string, 可选): 垫片封面图id(string, 可选): LCPS实例ID(从get_active_lcps_control_page获取)secretKey(string, 可选): LCPS密钥(从get_active_lcps_control_page获取)projectId(number, 可选): 工程ID(用于自动获取认证信息)
功能: 为指定信道设置垫片(过渡画面),支持自定义标题和封面图
🔐 API 接口说明
鉴权规则
所有请求都需要在请求头中包含以下参数:
X-AccessId: 系统分配的访问者身份标识X-TimeStamp: 时间戳(1970年1月1日0点到当前的秒数)X-SignatureNonce: 随机字符串X-Signature: 签名(MD5加密)
签名生成规则
stringToSign = X-AccessId + "\n" + X-AccessKey + "\n" + X-SignatureNonce + "\n" + X-TimeStamp + "\n" + body
X-Signature = md5(stringToSign) // 32位小写LCPS认证
对于LCPS相关操作,需要额外的认证头:
x-validate: 认证验证值x-timestamp: 认证时间戳x-rand: 认证随机数
📊 返回格式
所有接口都返回统一的格式:
{
"flag": 100, // 状态码(100:成功;!=100:失败)
"flagString": "success", // 提示信息
"data": { // 返回数据(可选)
"id": 411 // 工程ID等
}
}⚠️ 注意事项
- 安全性:不要在命令行中暴露敏感信息,建议使用环境变量
- 网络:确保网络可以访问奥点云API
- 权限:确保accessId和accessKey有足够的权限
- 版本:确保使用最新版本的Node.js
- 认证:LCPS操作需要正确的认证信息,支持自动获取
- 域名:支持自定义域名配置,默认为jstest.aodianyun.cn
🔍 故障排除
常见错误
缺少参数
❌ 缺少必要的配置参数解决:提供
-i和-k参数网络错误
API请求出错解决:检查网络连接和API地址
鉴权失败
flag: 401解决:检查accessId和accessKey是否正确
版本兼容性
npx: command not found解决:使用指定版本运行
npx [email protected]LCPS认证失败
LCPS认证失败解决:检查工程ID和认证信息是否正确
🛠️ 开发
本地开发
# 克隆项目
git clone <repository-url>
cd lcps-mcp-server
# 安装依赖
npm install
# 开发模式
npm run dev
# 运行测试
npm test构建
npm run build📄 许可证
MIT License
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📞 支持
如果遇到问题,请:
- 运行
npx lcps-mcp-server --help查看帮助 - 检查网络连接
- 验证API凭据
- 查看控制台错误信息
- 尝试指定版本运行
npx [email protected]
