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+

依赖(关键):

安装与启动

本地运行

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:访问ID
  • ACCESS_KEY:访问密钥

在启动服务前,请确保设置了这些环境变量。

获取 API 密钥

请参考 奥点云 APAAS 平台 API 密钥获取指南 获取您的 ACCESS_IDACCESS_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,用于标识工程

参数组合要求

⚠️ 特别注意: 启动/停止/删除工程时需要同时提供 idprojectId 两个参数

使用示例

创建并启动工程

// 步骤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:

  1. 使用 project_list 工具获取工程列表
  2. 从返回结果中提取 idprojectId 字段
  3. 在后续操作中同时使用这两个值
作者:陈鹏  创建时间:2025-08-22 14:35
最后编辑:陈鹏  更新时间:2025-09-04 10:51