LPS MCP 服务(mlps-mcp-server)
一个基于 LPS(直播分发系统)实现的 MCP 服务。
关于LPS
LPS(直播分发系统)的核心功能:支持把客户的推流或拉流分发至任意支持RTMP协议的国内外直播平台,最终实现一处推流处处观看的效果。支持RTMP、SRT、HLS、FLV、WEBRTC等多种直播推流/播放协议。
关于本服务
本服务基于LPS,以”工程”为核心,提供对直播推流、拉流、分发的管理和直播质量数据获取等能力,统一暴露为 MCP 工具以便客户端调用。
运行环境
- Node.js 20+(推荐与 Dockerfile 一致使用 Node 22)
- NPM 9+
依赖(关键):
@modelcontextprotocol/sdkzod
安装与启动
本地运行
npm install
npm run start
# 或
node app_stdio.js
MCP服务配置(NPX启动)
{
"mcpServers": {
"lps-mcp-server": {
"command": "npx",
"args": [
"-y",
"lps-mcp-server"
],
"env": {
"ACCESS_ID": "<YOUR_ACCESS_ID>",
"ACCESS_KEY": "<YOUR_ACCESS_KEY>"
}
}
}
}
认证
认证信息通过环境变量提供:
ACCESS_ID:访问IDACCESS_KEY:访问密钥
在启动服务前,请确保设置了这些环境变量。
获取 API 密钥
请参考 奥点云 APAAS 平台 API 密钥获取指南 获取您的 ACCESS_ID 和 ACCESS_KEY。
工具列表
? 工程管理工具
| 工具名称 | 功能 | 必需参数 | 说明 |
|---|---|---|---|
project_list |
获取工程列表 | 无 | 支持分页和搜索 |
project_create |
创建工程 | title |
创建新工程 |
project_start |
启动工程 | id + projectId |
需要两个参数 |
project_stop |
停止工程 | id + projectId |
需要两个参数 |
project_delete |
删除工程 | id + projectId |
需要两个参数 |
project_modify |
修改工程 | projectId + title |
修改工程标题 |
project_get_info |
获取工程详情 | projectId |
查询工程信息 |
? 分发管理工具
| 工具名称 | 功能 | 必需参数 | 说明 |
|---|---|---|---|
publish_to_add |
添加分发 | projectId + url |
添加分发地址 |
publish_to_modify |
修改分发 | projectId + publishToId + url |
修改分发配置 |
publish_to_remove |
删除分发 | projectId + publishToId |
删除指定分发 |
publish_to_start |
启动分发 | projectId + publishToId |
启动指定分发 |
publish_to_stop |
停止分发 | projectId + publishToId |
停止指定分发 |
publish_to_start_all |
启动所有分发 | projectId |
启动所有分发 |
publish_to_stop_all |
停止所有分发 | projectId |
停止所有分发 |
publish_to_remove_all |
删除所有分发 | projectId |
删除所有分发 |
publish_to_get_detail |
获取分发详情 | projectId |
获取分发详情 |
? 数据分析工具
| 工具名称 | 功能 | 必需参数 | 说明 |
|---|---|---|---|
analytics_fluency_history |
获取流畅度历史 | projectId |
推流流畅度数据 |
analytics_fps_history |
获取帧率历史 | projectId |
推流帧率数据 |
analytics_bitrate_history |
获取码率历史 | projectId |
推流码率数据 |
? 拉流管理工具
| 工具名称 | 功能 | 必需参数 | 说明 |
|---|---|---|---|
pull_stream_set |
设置拉流地址 | projectId + url |
设置拉流地址 |
pull_stream_remove |
删除拉流地址 | projectId |
删除拉流地址 |
pull_stream_get |
查询拉流地址 | projectId |
查询拉流地址 |
ℹ️ 其他工具
| 工具名称 | 功能 | 必需参数 | 说明 |
|---|---|---|---|
about |
获取工具相关信息 | 无 | 工具相关信息 |
重要参数说明
关键参数关系
- id: 平台分配ID,用于工程操作时标识具体工程
- projectId: 工程ID,用于标识工程
参数组合要求
⚠️ 特别注意: 启动/停止/删除工程时需要同时提供 id 和 projectId 两个参数
使用示例
创建并启动工程
// 步骤1: 创建工程
{
"name": "project_create",
"arguments": {
"title": "我的直播工程"
}
}
// 步骤2: 获取工程列表(获取id和projectId)
{
"name": "project_list",
"arguments": {}
}
// 步骤3: 启动工程(需要同时提供id和projectId)
{
"name": "project_start",
"arguments": {
"id": "从步骤2获取的id值",
"projectId": "从步骤2获取的projectId值"
}
}
添加分发地址
{
"name": "publish_to_add",
"arguments": {
"projectId": "工程ID",
"url": "rtmp://example.com/live/stream",
"serviceName": "example",
"liveName": "stream"
}
}
常见问题
Q: 为什么启动工程时需要同时提供id和projectId?
A: 这是系统设计的要求:
projectId用于标识具体的工程id是平台分配的唯一标识符- 两个参数配合使用确保操作的准确性和安全性
Q: 如何获取正确的参数值?
A:
- 使用
project_list工具获取工程列表 - 从返回结果中提取
id和projectId字段 - 在后续操作中同时使用这两个值
作者:陈鹏 创建时间:2025-08-22 14:35
最后编辑:陈鹏 更新时间:2025-09-04 10:51
最后编辑:陈鹏 更新时间:2025-09-04 10:51