关于 propresenter-mcp
propresenter-mcp 是通过 ProPresenter API 控制 ProPresenter 7 的 MCP 服务,面向需要管理演示内容的 MCP 客户端。它将演示文稿、媒体、播放等 API 功能提供为工具。
主要功能
- 01覆盖 231 个 ProPresenter API 端点
- 02包含 27 个功能组
- 03控制演示文稿和播放列表
- 04控制音频、媒体与公告
- 05管理屏幕、计时器和舞台消息
适用场景
- 01演示时切换幻灯片
- 02管理音频和媒体播放列表
- 03查看屏幕与录制状态
- 04控制计时器、外观和宏
MCP 相关
该服务将 ProPresenter API 操作作为 MCP 工具提供给 MCP 客户端。它通过 URL 和可选的 API 密码连接正在运行的 ProPresenter 实例。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
177收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
propresenter-mcp
一款功能全面的 Model Context Protocol(MCP)服务,可通过 ProPresenter API 完整控制 ProPresenter 演示文稿。该服务实现了完整的 ProPresenter API 规范,包含 231 个端点,分为 27 个 API 组,并通过模块化客户端类提供功能。
官方 MCP Registry
前置条件
- 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 偏好设置
- 前往 Network 选项卡
- 启用“Network”,并记下端口号(默认: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
API 参考
此服务实现了 https://openapi.propresenter.com/ 上记录的完整 ProPresenter API。
API 覆盖范围
- 端点总数:231 个 REST API 端点
- API 分组:27 个功能分组
- 客户端模块:18 个 TypeScript 客户端类
- 工具定义:18 个 MCP 工具模块
- 处理程序模块:18 个请求处理程序模块
- HTTP 方法:全面支持 GET、POST、PUT、DELETE 操作
- 架构:完整的三层实现(客户端 → 工具 → 处理程序)
请参阅 api/api.md,查看按分组整理的全部 231 个端点的完整 API 文档。
故障排除
连接问题:
- 确认 ProPresenter 正在运行且已启用 API
- 检查 URL 和端口是否正确
- 确保防火墙未阻止连接
- 如果已启用身份验证,请确认密码正确
服务无法启动:
- 确保已使用
npm run build构建项目 - 检查是否已安装 Node.js 18+
- 使用
npm install确认已安装所有依赖项
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。