PluginBench
MCP Server
Active
MIT

io.github.alxpark/propresenter-mcp MCP Server

io.github.alxpark/propresenter-mcp

Control ProPresenter 7 presentations via Claude with 231 API endpoints across 27 functional groups.

What is the io.github.alxpark/propresenter-mcp MCP server?

The ProPresenter MCP server provides complete control over ProPresenter 7 presentations through the ProPresenter API. It exposes 231 REST endpoints organized into 27 API groups, enabling Claude to manage slides, announcements, audio, playlists, captures, macros, props, timers, and more. Connect to a running ProPresenter instance via environment variables and control presentations entirely through natural language.

This MCP server bridges Claude and ProPresenter 7, giving you programmatic control over presentations, media playback, stage displays, and live event management. Use it to automate slide navigation, trigger announcements and macros, manage playlists, control audio and video capture, display messages and timers, and switch looks—all via conversation with Claude. Essential for live event operators, worship leaders, and presenters who want hands-free presentation control.

How to install io.github.alxpark/propresenter-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • PROPRESENTER_URL
    required

    Your ProPresenter 7 API URL

  • PROPRESENTER_PASSWORD
    secret

    ProPresenteer API password if needed

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "propresenter-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@alxpark/propresenter-mcp"
      ],
      "env": {
        "PROPRESENTER_URL": "<YOUR_PROPRESENTER_URL>",
        "PROPRESENTER_PASSWORD": "<YOUR_PROPRESENTER_PASSWORD>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • Presentations — Trigger presentations, navigate slides, play timelines, and retrieve slide information and thumbnails
  • Announcements — Manage active announcements, trigger cues, and control announcement timeline status
  • Audio & Media Playlists — List and control audio playlists, play songs, and manage media playlist items
  • Presentation Playlists — List, focus, and trigger items in presentation playlists
  • Capture — Start/stop recording, check capture status, and configure RTMP encodings
  • Clear Groups — Manage and trigger clear groups to clear layers
  • Library — Browse libraries and trigger presentations from library collections
  • Looks — View configured looks and switch between live looks
  • Macros — List and trigger macros, manage macro collections
  • Props — List, trigger, and clear props; manage prop collections and auto-clear
  • Stage — Display and manage stage messages and stage layouts
  • Messages — Create, display, and hide messages
  • Timers — Create, start, stop, and reset timers; retrieve system time
  • Themes — List themes and retrieve theme slide details
  • Transport — Control playback (play, pause, skip) across presentation, audio, and announcement layers
  • Masks — List and view mask details
  • Triggers — Trigger next/previous cues and media items
  • Status & Information — Check ProPresenter version, screen status, and current slide/announcement information

Use cases

  • Automate slide navigation and presentation flow during live events without manual control
  • Trigger announcements, macros, and props on cue via voice commands to Claude
  • Control audio and media playback, including playlists and individual songs
  • Manage stage displays, messages, and timers for worship services or conferences
  • Switch between looks and themes dynamically based on presentation segments
  • Record and stream presentations via RTMP capture configuration

io.github.alxpark/propresenter-mcp MCP server FAQ

What is the ProPresenter MCP server?

It's an MCP server that connects Claude to ProPresenter 7, exposing 231 API endpoints across 27 functional groups. You can control presentations, slides, announcements, audio, macros, props, timers, and more entirely through conversation.

Is it free?

Yes, the server is open-source and free. You only need ProPresenter 7 (which you likely already have) and Node.js 18+.

How do I install it in Claude Desktop?

Clone the repository, run `npm install` and `npm run build`, then add the server to your Claude Desktop config file (`claude_desktop_config.json`) with the path to the built index.js and your ProPresenter URL and password as environment variables.

What authentication is required?

You need ProPresenter 7 running with the API enabled (Network tab in preferences). Optionally set an API password in ProPresenter; pass it via the `PROPRESENTER_PASSWORD` environment variable.

Can I use this with Cursor?

Yes, you can configure it in Cursor using the same MCP server setup as Claude Desktop, pointing to the built server and providing ProPresenter connection details.

What do I need to get started?

Node.js 18+, ProPresenter 7 with API enabled, and the ProPresenter instance running and accessible on your network (default port 50000).

README (reference)

Source of truth, from the repository.

propresenter-mcp

A comprehensive Model Context Protocol (MCP) server that provides complete control over ProPresenter presentations via the ProPresenter API. This server implements the full ProPresenter API specification with 231 endpoints organized into 27 API groups and exposed through modular client classes.

Official MCP Registry

Prerequisites

  • Node.js 18 or higher
  • ProPresenter 7 with API enabled
  • ProPresenter running and accessible on your network

Installation

  1. Clone this repository or download the source code

  2. Install dependencies:

npm install
  1. Build the project:
npm run build

Configuration

The server connects to ProPresenter using environment variables:

  • PROPRESENTER_URL - The URL of your ProPresenter instance (default: http://localhost:50000)
  • PROPRESENTER_PASSWORD - The API password (if configured in ProPresenter)

ProPresenter Setup

  1. Open ProPresenter preferences
  2. Go to the Network tab
  3. Enable "Network" and note the port number (default: 50000)
  4. Optionally set a password for API access

Usage

With Claude Desktop

Add this to your Claude Desktop configuration file:

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"
      }
    }
  }
}

Replace /absolute/path/to/propresenter-mcp with the actual path to this project.

With VS Code

This server can be debugged directly in VS Code using the included MCP configuration.

  1. Open this project in VS Code
  2. The server is automatically configured for debugging via .vscode/mcp.json
  3. Use the MCP extension to test and debug the server

Example Commands

Once connected, you can ask Claude to control ProPresenter:

Status & Information:

  • "What version of ProPresenter is running?"
  • "Show me the status of all screens"
  • "What's the status of audience screens?"
  • "Get the current slide information"

Presentations:

  • "What presentation is currently active?"
  • "Trigger the presentation with UUID [uuid]"
  • "Go to the next slide"
  • "Go to slide number 5"
  • "Play the presentation timeline"
  • "Show me the chord chart"
  • "Get a thumbnail of slide 3"

Announcements:

  • "What announcement is currently active?"
  • "Trigger the next announcement cue"
  • "Show me the announcement timeline status"
  • "Go to announcement cue 2"

Audio & Media:

  • "List all audio playlists"
  • "Show me the contents of audio playlist [id]"
  • "Play the next song in the active playlist"
  • "Trigger the focused audio playlist"
  • "List all media playlists"
  • "Trigger media item [id] in playlist [playlist_id]"

Playlists:

  • "List all presentation playlists"
  • "Show me the active playlist"
  • "Focus the next playlist"
  • "Trigger the first item in the focused playlist"
  • "Create a new playlist called 'Sunday Service'"

Capture:

  • "What's the current capture status?"
  • "Start recording"
  • "Stop the capture"
  • "Show me available capture encodings for RTMP"

Clear:

  • "Clear the announcements layer"
  • "Show me all clear groups"
  • "Trigger the clear group [id]"
  • "Create a new clear group"

Library:

  • "List all my libraries"
  • "Show presentations in library [id]"
  • "Trigger presentation [id] from library [library_id]"

Looks:

  • "Show me all configured looks"
  • "What look is currently live?"
  • "Switch to look [id]"
  • "Create a new look"

Macros:

  • "List all macros"
  • "Trigger macro [id]"
  • "Show me all macro collections"
  • "Create a new macro"

Props:

  • "List all props"
  • "Trigger prop [id]"
  • "Clear prop [id]"
  • "Pause auto-clear for prop [id]"
  • "List all prop collections"

Stage:

  • "Show me the current stage message"
  • "Display stage message [message]"
  • "Hide the stage message"
  • "List all stage layouts"
  • "Set stage layout [layout_id] for screen [screen_id]"

Messages:

  • "Show me all messages"
  • "Display message [id]"
  • "Hide message [id]"
  • "Create a new message"

Timers:

  • "List all timers"
  • "Start timer [id]"
  • "Stop timer [id]"
  • "Reset the sermon timer"
  • "Create a countdown timer"
  • "Get the current system time"

Themes:

  • "List all themes"
  • "Show me details of theme [id]"
  • "Get theme slide [slide_id] from theme [theme_id]"

Transport:

  • "Play the presentation layer"
  • "Pause the audio layer"
  • "Skip forward 30 seconds on the announcement layer"
  • "Go to the end of the presentation"
  • "Get the current playback time"

Masks:

  • "List all masks"
  • "Show me details of mask [id]"

Triggers:

  • "Trigger the next cue"
  • "Trigger the previous media item"

Development

Build

npm run build

Watch Mode

npm run watch

API Reference

This server implements the complete ProPresenter API documented at https://openapi.propresenter.com/

API Coverage

  • Total Endpoints: 231 REST API endpoints
  • API Groups: 27 functional groups
  • Client Modules: 18 TypeScript client classes
  • Tool Definitions: 18 MCP tool modules
  • Handler Modules: 18 request handler modules
  • HTTP Methods: Full support for GET, POST, PUT, DELETE operations
  • Architecture: Complete three-layer implementation (clients → tools → handlers)

See api/api.md for complete API documentation with all 231 endpoints organized by group.

Troubleshooting

Connection Issues:

  • Verify ProPresenter is running and the API is enabled
  • Check that the URL and port are correct
  • Ensure no firewall is blocking the connection
  • Verify the password if authentication is enabled

Server Not Starting:

  • Make sure you've built the project with npm run build
  • Check that Node.js 18+ is installed
  • Verify all dependencies are installed with npm install

Related MCP servers

MCP server for downloading, uploading, and deleting Jira Cloud attachments by ID.

0
Python
MIT
View repository →
CLClickHouse logo

Read-only MCP server for ClickHouse metadata, parameterized queries, and plan analysis.

0
Python
MIT
View repository →

Local RAG MCP for markdown documentation. Retrieval only; host synthesizes answers.

0
Python
MIT
View repository →

Read-only-by-default SQL Server: schema, parameterized SELECT, execution plans; writes opt-in.

6
C#
MIT
View repository →

MCP server that fronts any OpenAPI service: discover operations from its spec and call them

0
Python
MIT
View repository →

Deprecated; use io.github.alyiox/mcp-walmart-ads.

1
Python
MIT
View repository →