42 articles
Learn how to set up, publish, and optimize your HipDeck workspace.
HipDeck provides a workspace-scoped Model Context Protocol (MCP) server that allows compatible AI clients to interact with your digital signage resources. Once connected, an authorized agent can inspect what is playing across your screens, work with playlist drafts, and assign content, all within the boundaries you set.
With the HipDeck MCP server, an authorized AI agent can:
The server always uses the authenticated workspace associated with the API key. Agents cannot supply an arbitrary workspace ID, which helps prevent cross-workspace access.
The server uses the MCP Streamable HTTP transport. MCP clients should send an authenticated JSON-RPC initialization request rather than opening the endpoint in a browser.
Create a workspace-scoped public API key from Workspace → Developers in HipDeck, then configure the complete key as bearer authentication in your MCP client:
Authorization: Bearer hd_live_...
Never paste an API key into a normal chat message, public documentation, or an untrusted GPT. Store it in the MCP client's secure authentication or secret field.
The API key determines:
Use only the scopes required by the intended operations:
A tool call fails when the API key does not include the scope required for that operation.
Returns the authenticated API key and workspace context, including the key ID, key name, workspace ID, environment, and scopes.
Requires workspaces:read.
Lists screens in the authenticated workspace.
Optional inputs: limit, cursor.
Requires screens:read.
Returns online status and telemetry for a specific screen.
Required input: screenId.
Requires screens:read.
Returns the current playback state and assignment for a specific screen.
Required input: screenId.
Requires screens:read.
Lists published playlists.
Optional inputs: limit, cursor, includeContent.
Requires playlists:read.
Returns the editable canonical playlist draft and its current integer version.
Required input: playlistId.
Requires playlists:read.
Creates an unpublished canonical playlist draft.
Required inputs: document, confirm. The confirm value must be true only after the intended draft has been reviewed.
Requires playlists:write.
Replaces an existing playlist draft.
Required inputs: playlistId, document, expectedVersion, confirm. The expectedVersion must match the current playlist draft version.
Requires playlists:write.
Publishes the current playlist draft. Publishing makes content externally visible.
Required inputs: playlistId, expectedVersion, confirm.
Requires playlists:publish.
Assigns a published playlist, schedule, or sequence to a screen.
Required inputs: screenId, assignment, confirm. Optional input: expectedVersion.
Requires screens:write.
Every mutation requires an explicit confirm input. The AI agent should set confirm to true only after:
Publishing a playlist and assigning content to a screen are externally visible operations and should always require clear user approval.
Playlist drafts use optimistic version control. Before updating or publishing a playlist:
Do not retry using the stale version. This prevents an AI agent from overwriting changes made by another user or process.
ChatGPT does not automatically discover arbitrary MCP servers from the public internet. To connect HipDeck:
Availability of custom connectors and developer mode depends on the ChatGPT account, workspace configuration, plan, and administrator permissions.
Useful read-only requests include:
Requests that should require confirmation include:
If the MCP client cannot initialize: