README
🚀 propresenter-mcp
这是一个全面的模型上下文协议(MCP)服务器,可通过 ProPresenter API 对 ProPresenter 演示文稿进行完全控制。该服务器实现了完整的 ProPresenter API 规范,拥有 231 个端点,这些端点被组织成 27 个 API 组,并通过模块化的客户端类进行公开。
🚀 快速开始
🔍 官方 MCP 注册表
- https://registry.modelcontextprotocol.io/?q=alxpark%2Fpropresenter-mcp
📋 前提条件
- Node.js 18 或更高版本
- 启用 API 的 ProPresenter 7
- ProPresenter 正在运行且可在您的网络中访问
📦 安装指南
- 克隆此仓库或下载源代码。
- 安装依赖项:
npm install
- 构建项目:
npm run build
⚙️ 配置
服务器使用环境变量连接到 ProPresenter:
PROPRESENTER_URL- 您的 ProPresenter 实例的 URL(默认值:http://localhost:50000)PROPRESENTER_PASSWORD- API 密码(如果在 ProPresenter 中配置)
ProPresenter 设置
- 打开 ProPresenter 偏好设置。
- 转到“网络”选项卡。
- 启用“网络”并记录端口号(默认值:50000)。
- 可选择为 API 访问设置密码。
💻 使用示例
与 Claude Desktop 配合使用
将以下内容添加到您的 Claude Desktop 配置文件中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"propresenter": {
"command": "node",
"args": ["/absolute/path/to/propresenter-mcp/build/index.js"],
"env": {
"PROPRESENTER_URL": "http://localhost:50000",
"PROPRESENTER_PASSWORD": "your-password-if-needed"
}
}
}
}
将 /absolute/path/to/propresenter-mcp 替换为该项目的实际路径。
与 VS Code 配合使用
可以使用包含的 MCP 配置在 VS Code 中直接调试此服务器。
- 在 VS Code 中打开此项目。
- 服务器通过
.vscode/mcp.json自动配置为可调试。 - 使用 MCP 扩展来测试和调试服务器。
示例命令
连接后,您可以要求 Claude 控制 ProPresenter:
- 状态与信息:
- "当前运行的 ProPresenter 版本是什么?"
- "显示所有屏幕的状态"
- "观众屏幕的状态如何?"
- "获取当前幻灯片信息"
- 演示文稿:
- "当前活动的演示文稿是哪个?"
- "触发 UUID 为 [uuid] 的演示文稿"
- "转到下一张幻灯片"
- "转到第 5 张幻灯片"
- "播放演示文稿时间线"
- "显示和弦图表"
- "获取第 3 张幻灯片的缩略图"
- 公告:
- "当前活动的公告是哪个?"
- "触发下一个公告提示"
- "显示公告时间线状态"
- "转到公告提示 2"
- 音频与媒体:
- "列出所有音频播放列表"
- "显示音频播放列表 [id] 的内容"
- "播放活动播放列表中的下一首歌曲"
- "触发聚焦的音频播放列表"
- "列出所有媒体播放列表"
- "触发播放列表 [playlist_id] 中的媒体项 [id]"
- 播放列表:
- "列出所有演示文稿播放列表"
- "显示活动播放列表"
- "聚焦下一个播放列表"
- "触发聚焦播放列表中的第一个项目"
- "创建一个名为 'Sunday Service' 的新播放列表"
- 捕获:
- "当前的捕获状态如何?"
- "开始录制"
- "停止捕获"
- "显示可用的 RTMP 捕获编码"
- 清除:
- "清除公告层"
- "显示所有清除组"
- "触发清除组 [id]"
- "创建一个新的清除组"
- 库:
- "列出我所有的库"
- "显示库 [id] 中的演示文稿"
- "从库 [library_id] 中触发演示文稿 [id]"
- 外观:
- "显示所有配置的外观"
- "当前活动的外观是哪个?"
- "切换到外观 [id]"
- "创建一个新的外观"
- 宏:
- "列出所有宏"
- "触发宏 [id]"
- "显示所有宏集合"
- "创建一个新的宏"
- 道具:
- "列出所有道具"
- "触发道具 [id]"
- "清除道具 [id]"
- "暂停道具 [id] 的自动清除"
- "列出所有道具集合"
- 舞台:
- "显示当前的舞台消息"
- "显示舞台消息 [message]"
- "隐藏舞台消息"
- "列出所有舞台布局"
- "为屏幕 [screen_id] 设置舞台布局 [layout_id]"
- 消息:
- "显示所有消息"
- "显示消息 [id]"
- "隐藏消息 [id]"
- "创建一个新的消息"
- 计时器:
- "列出所有计时器"
- "启动计时器 [id]"
- "停止计时器 [id]"
- "重置布道计时器"
- "创建一个倒计时计时器"
- "获取当前系统时间"
- 主题:
- "列出所有主题"
- "显示主题 [id] 的详细信息"
- "从主题 [theme_id] 中获取主题幻灯片 [slide_id]"
- 传输:
- "播放演示文稿层"
- "暂停音频层"
- "在公告层上快进 30 秒"
- "转到演示文稿的结尾"
- "获取当前播放时间"
- 遮罩:
- "列出所有遮罩"
- "显示遮罩 [id] 的详细信息"
- 触发器:
- "触发下一个提示"
- "触发上一个媒体项"
🛠️ 开发
构建
npm run build
监听模式
npm run watch
📚 详细文档
此服务器实现了完整的 ProPresenter API,文档位于 https://openapi.propresenter.com/ 。
API 覆盖范围
- 总端点:231 个 REST API 端点
- API 组:27 个功能组
- 客户端模块:18 个 TypeScript 客户端类
- 工具定义:18 个 MCP 工具模块
- 处理程序模块:18 个请求处理程序模块
- HTTP 方法:完全支持 GET、POST、PUT、DELETE 操作
- 架构:完整的三层实现(客户端 → 工具 → 处理程序)
完整的 API 文档,包含按组组织的所有 231 个端点,请参阅 api/api.md。
🔧 故障排除
连接问题
- 验证 ProPresenter 是否正在运行且 API 已启用。
- 检查 URL 和端口是否正确。
- 确保没有防火墙阻止连接。
- 如果启用了身份验证,请验证密码。
服务器无法启动
- 确保您已使用
npm run build构建项目。 - 检查是否安装了 Node.js 18 或更高版本。
- 验证是否已使用
npm install安装所有依赖项。
Scan to join WeChat group