ProPresenter API控制服务器

一个全面的模型上下文协议(MCP)服务器,通过ProPresenter API提供对演示文稿的完全控制。

  • by alxpark
  • TypeScript
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 alxpark/propresenter-mcp

使用说明

主持人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在您的网络上运行并可访问

安装

  1. 克隆此存储库或下载源代码

  2. 安装依赖项:

npm install
  1. 构建项目:
npm run build

配置

服务器使用环境变量连接到ProPresenter:

  • PROPRESENTER_URL -ProPresenter实例的URL(默认值: http://localhost:50000)
  • PROPRESENTER_PASSWORD -API密码(如果在ProPresenter中配置)

ProPresenter设置

  1. 打开ProPresenter首选项
  2. 转到“网络”选项卡
  3. 启用“网络”并记下端口号(默认值:50000)
  4. 为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代码中调试。

  1. 在VS Code中打开此项目
  2. 服务器通过以下方式自动配置调试 .vscode/mcp.json
  3. 使用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 watch

api参考

此服务器实现了完整的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