lsgs-mcp-server
v1.0.2
Published
直播字幕生成服务(live subtitle generation service)提供的MCP服务
Readme
LSGS MCP Server
直播字幕生成服务(Live Subtitles Generation Service)提供的 MCP(Model Context Protocol)服务。
项目简介
LSGS MCP Server 是一个基于 Model Context Protocol 的服务,为直播流提供多种语言的实时字幕生成、处理、观看功能。通过 MCP 协议,AI 助手可以直接调用直播字幕相关的各种功能,包括直播流管理、字幕处理、AI 校正等。
使用基本流程
- 提供可以播放的原始流地址,创建任务
- 选择字幕语言、配置字幕输出延迟时间等,然后启动任务
- 等待字幕生成、延迟输出,之后即可使用返回的播放地址观看包含实时字幕的直播
- 直播过程中可查看、编辑已生成但尚未输出的字幕
- 直播结束后停止或删除任务
主要功能
直播流管理
- 📋 获取直播流列表
- 🔍 获取单个直播流详情
- ➕ 添加新的直播流
- ✏️ 更新直播流配置
- 🗑️ 删除直播流
- ▶️ 启动直播流字幕处理
- ⏹️ 停止直播流字幕处理
字幕处理
- 📝 获取已生成但未输出的直播流字幕
- ✏️ 编辑已生成但未输出的直播流字幕
- 📄 配置默认 AI 校正参考文稿
- 🤖 批量添加 AI 校正参考文稿
- 🗑️ 删除 AI 校正参考文稿
监控与日志
- 📈 获取运行历史记录
技术栈
- Node.js >= 20
- @modelcontextprotocol/sdk - MCP 协议实现
- Zod - 数据验证
- ES Modules - 现代 JavaScript 模块系统
安装与配置
1. 安装依赖
npm install2. 环境配置
创建环境变量配置文件或设置以下环境变量:
# 必需配置
export ACCESS_ID="your_access_id"
export ACCESS_KEY="your_access_key"
# 可选配置(默认值)
export BACKEND_URL="https://lps-live-stream-proc.xxx.cn"3. 运行服务
# 开发模式
npm start
# 或直接运行
node app_stdio.js使用方法
作为 MCP 服务器
LSGS MCP Server 通过 stdio 传输协议运行,可以被支持 MCP 的 AI 客户端调用。
MCP服务配置(NPX启动)
{
"mcpServers": {
"lsgs-mcp-server": {
"command": "npx",
"args": [
"-y",
"lsgs-mcp-server"
],
"env": {
"ACCESS_ID": "<YOUR_ACCESS_ID>",
"ACCESS_KEY": "<YOUR_ACCESS_KEY>",
"BACKEND_URL": "<YOUR_BACKEND_URL>"
}
}
}
}认证
认证信息通过环境变量提供:
ACCESS_ID:访问IDACCESS_KEY:访问密钥
在启动服务前,请确保设置了这些环境变量。
获取 API 密钥
请参考 奥点云 APAAS 平台 API 密钥获取指南 获取您的 ACCESS_ID 和 ACCESS_KEY。
可用的 MCP 工具
直播流管理工具
| 工具名称 | 功能描述 | 主要参数 |
|---------|---------|---------|
| live_stream_list | 获取直播流列表 | pageSize, pageIndex, title, running |
| live_stream_detail | 获取单个直播流详情 | streamId |
| add_live_stream | 添加新的直播流 | streamUrl, title, enableAiCorrectSubtitles |
| update_live_stream | 更新直播流配置 | streamId, title, subtitlesDelay, languages |
| delete_live_stream | 删除直播流 | streamId |
| start_live_stream | 启动直播流处理 | streamId |
| stop_live_stream | 停止直播流处理 | streamId |
字幕处理工具
| 工具名称 | 功能描述 | 主要参数 |
|---------|---------|---------|
| get_live_stream_subtitles | 获取直播流字幕 | streamId |
| update_live_stream_subtitles | 更新直播流字幕 | streamId, startTime, endTime, text |
| upload_reference_file | 上传参考文本 | streamId, fileContent |
| add_ai_correct_reference | 添加 AI 校正参考文稿 | streamId, referenceList |
| del_ai_correct_reference | 删除 AI 校正参考文稿 | streamId, referenceList |
监控工具
| 工具名称 | 功能描述 | 主要参数 |
|---------|---------|---------|
| get_live_stream_running_history | 查询任务运行日志 | streamId |
| about | 获取服务信息 | 无 |
示例用法
添加直播流
// 通过 MCP 客户端调用
const result = await mcpClient.callTool('add_live_stream', {
streamUrl: 'rtmp://example.com/live/stream',
title: '我的直播',
enableAiCorrectSubtitles: true,
subtitlesDelay: 2,
startImmediately: true
});获取字幕
const subtitles = await mcpClient.callTool('get_live_stream_subtitles', {
streamId: 'stream_123'
});响应格式
所有工具调用都返回统一的 JSON 格式:
{
"success": true,
"data": {
// 具体数据
}
}错误响应:
{
"success": false,
"error": "错误信息"
}项目结构
live_stream_proc_mcp/
├── app_stdio.js # MCP 服务器主文件
├── backend.js # 后端 API 调用封装
├── config.js # 配置管理
├── package.json # 项目依赖和脚本
├── README.md # 项目文档
├── doc/
│ └── api.md # API 接口文档
└── test/
├── test-stdio.js # 测试文件
└── test-stdio-simple.js开发指南
添加新的工具
- 在
backend.js中添加新的 API 方法 - 在
app_stdio.js中注册对应的 MCP 工具 - 使用 Zod 定义输入参数验证模式
- 实现错误处理和响应格式化
测试
# 运行测试
node test/test-stdio.js配置说明
环境变量
| 变量名 | 必需 | 默认值 | 描述 |
|--------|------|--------|------|
| ACCESS_ID | ✅ | - | 访问 ID,用于身份验证 |
| ACCESS_KEY | ✅ | - | 访问密钥,用于身份验证 |
| BACKEND_URL | ❌ | https://lps-live-stream-proc.xxx.cn | 后端服务地址 |
支持的语言
update_live_stream 工具的 languages 参数支持以下语言代码:
| 语言代码 | 语言名称 | 语言代码 | 语言名称 |
|---------|---------|---------|---------|
| zh | 中文 | ar | 阿拉伯文 |
| en | 英文 | vi | 越南文 |
| ja | 日文 | th | 泰文 |
| ko | 韩文 | ug | 维吾尔文 |
| de | 德文 | bo | 藏文 |
| fr | 法文 | default | 原始识别文本 |
| ru | 俄文 | | |
| es | 西班牙文 | | |
许可证
本项目采用 MIT 许可证。
注意: 使用本服务需要有效的 ACCESS_ID 和 ACCESS_KEY,请确保在环境变量中正确配置这些认证信息。
