主持人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配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %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代码
此服务器可以使用附带的MCP配置直接在VS代码中调试。
- 在VS Code中打开此项目
- 服务器通过以下方式自动配置调试
.vscode/mcp.json - 使用MCP扩展测试和调试服务器
示例命令
连接后,您可以让Claude控制ProPresenter:
状态和信息:
- “正在运行哪个版本的ProPresenter?”
- “显示所有屏幕的状态”
- “观众屏幕的现状如何?”
- “获取当前幻灯片信息”
演示文稿:
- “当前活动的演示文稿是什么?”
- “使用UUID\[UUID\]触发演示文稿”
- “转到下一张幻灯片”
- “转到第5张幻灯片”
- “播放演示时间线”
- “显示和弦表”
- “获取幻灯片3的缩略图”
公告:
- “目前正在发布什么公告?”
- “触发下一个公告提示”
- “显示公告时间线状态”
- “转到公告提示2”
音频和媒体:
- “列出所有音频播放列表”
- “显示音频播放列表\[id\]的内容”
- “播放活动播放列表中的下一首歌曲”
- “触发聚焦音频播放列表”
- “列出所有媒体播放列表”
- “触发播放列表\[playlist_id\]中的媒体项\[id\]”
播放列表:
- “列出所有演示文稿播放列表”
- “显示活动播放列表”
- “聚焦下一个播放列表”
- “触发焦点播放列表中的第一个项目”
- “创建一个名为“周日服务”的新播放列表”
捕获:
- “目前的捕获状态如何?”
- “开始录制”
- “停止捕获”
- “显示RTMP的可用捕获编码”
清楚:
- “清除公告层”
- “显示所有清除的组”
- “触发清除组\[id\]”
- “创建新的透明组”
图书馆:
- “列出我的所有库”
- “在库\[id\]中显示演示文稿”
- “从库\[library_id\]触发演示\[id\]”
看:
- “显示所有配置的外观”
- “现在直播的是什么样子?”
- “切换到外观\[id\]”
- “创建新外观”
宏:
- “列出所有宏”
- “触发宏\[id\]”
- “显示所有宏集合”
- “创建新宏”
道具:
- “列出所有道具”
- “触发器道具\[id\]”
- “清除道具\[id\]”
- “暂停道具\[id\]的自动清除”
- “列出所有道具收藏”
阶段:
- “显示当前阶段的消息”
- “显示舞台消息\[消息\]”
- “隐藏舞台消息”
- “列出所有舞台布局”
- “为屏幕\[screen_id\]设置舞台布局\[layout_id\]”
信息:
- “显示所有消息”
- “显示消息\[id\]”
- “隐藏消息\[id\]”
- “创建新邮件”
计时器:
- “列出所有计时器”
- “启动计时器\[id\]”
- “停止计时器\[id\]”
- “重置布道计时器”
- “创建倒计时器”
- “获取当前系统时间”
主题:
- “列出所有主题”
- “显示主题\[id\]的详细信息”
- “从主题\[theme_id\]获取主题幻灯片\[slide_id\]”
运输:
- “播放演示层”
- “暂停音频层”
- “在公告层向前跳过30秒”
- “转到演示文稿的末尾”
- “获取当前播放时间”
口罩:
- “列出所有面具”
- “显示掩码\[id\]的详细信息”
触发器:
- “触发下一个提示”
- “触发上一个媒体项目”
发展
构建
npm run build观看模式
npm run watchapi参考
此服务器实现了完整的ProPresenter API,文档位于https://openapi.propresenter.com/
API覆盖范围
- 总终点:231个REST API终结点
- API组27个功能组
- 客户端模块:18个TypeScript客户端类
- 工具定义:18个MCP工具模块
- 处理器模块:18个请求处理程序模块
- HTTP方法:完全支持GET、POST、PUT、DELETE操作
- 建筑:完成三层实施(客户端→ 工具→ 处理程序)
看 api/api.md 以获取完整的API文档,并按组组织所有231个端点。
故障排除
连接问题:
- 验证ProPresenter正在运行并且API已启用
- 检查URL和端口是否正确
- 确保没有防火墙阻止连接
- 如果启用了身份验证,请验证密码
服务器未启动:
- 确保您已使用以下工具构建了项目
npm run build - 检查是否安装了Node.js 18+
- 验证所有依赖项是否已安装
npm install

