Skip to main content
Glama
Revel Digital MCP Server

Revel Digital MCP Server

Official
by RevelDigital

Revel Digital MCP Server

An MCP (Model Context Protocol) server that provides AI assistants with access to the Revel Digital REST API for digital signage management.

What is MCP?

The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. MCP allows AI assistants to access real-time data and perform actions through standardized interfaces.

Related MCP server: dSIPRouter MCP Server

How it Works with Revel Digital

This MCP server exposes the Revel Digital REST API as tools that AI assistants can use to manage your digital signage infrastructure. Through natural language commands, you can:

  • Manage devices, content, and playlists

  • Monitor system status and performance

  • Configure schedules and automation

  • Access analytics and reporting data

This enables conversational control of your digital signage network, making complex management tasks as simple as describing what you want to accomplish.

Installation

Prerequisites

  • Node.js 20.0.0 or higher

  • A Revel Digital account with API access

  • API key or OAuth2 credentials for authentication

Installing in Claude Desktop

  1. Install the MCP server globally:

    npm install -g @reveldigital/reveldigital-mcp-server
  2. Configure Claude Desktop by editing your configuration file:

    On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    On Windows: %APPDATA%\Claude\claude_desktop_config.json

  3. Add the server configuration:

    {
      "mcpServers": {
        "revel-digital": {
          "command": "npx",
          "args": ["@reveldigital/reveldigital-mcp-server"],
          "env": {
            "API_KEY_APIKEYINHEADER": "your-api-key-here"
          }
        }
      }
    }
  4. Restart Claude Desktop to load the new MCP server.

Installing in Other AI Clients

Continue.dev

  1. Install the package: npm install -g @reveldigital/reveldigital-mcp-server

  2. Add to your Continue configuration in .continue/config.json:

    {
      "mcpServers": [
        {
          "name": "revel-digital",
          "command": "npx @reveldigital/reveldigital-mcp-server",
          "env": {
            "API_KEY_APIKEYINHEADER": "your-api-key-here"
          }
        }
      ]
    }

Cody by Sourcegraph

  1. Install globally: npm install -g @reveldigital/reveldigital-mcp-server

  2. Configure in your Cody settings to include the MCP server with appropriate environment variables.

Custom Integration

For other AI clients that support MCP, use these connection details:

  • Command: npx @reveldigital/reveldigital-mcp-server

  • Transport: stdio

  • Environment Variables: Set API_KEY_APIKEYINHEADER with your API credentials

Authentication Setup

You'll need to obtain API credentials from your Revel Digital account:

  1. Log into your Revel Digital dashboard

  2. Navigate to Account Information > Developer API

  3. Generate an API key

  4. Use the key in your MCP server environment configuration

Once configured, you can start asking your AI assistant to help manage your digital signage network!

Developer Documentation

For complete API reference, authentication details, and advanced configuration options, visit the official Revel Digital developer documentation:

🔗 https://developer.reveldigital.com

The developer portal includes:

  • Complete REST API documentation

  • Authentication and security guidelines

  • Code examples and SDKs

  • Integration best practices

This documentation will help you understand the full capabilities of the Revel Digital API that this MCP server exposes to your AI assistant.

Available Tools

63 tools
deletedeviceB

Delete a device.

Inputs: id (required).

deletedevicegroupD

Group must be empty.

Inputs: id (required).

deletemediaC

Delete media asset.

Inputs: id (required).

deletemediagroupD

Group must be empty.

Inputs: id (required).

deleteplaylistC

Delete a playlist.

Inputs: id (required).

deleteplaylistgroupC

Group must be empty.

Inputs: id (required).

deletescheduleC

Delete a schedule.

Inputs: id (required).

deleteschedulegroupC

Group must be empty.

Inputs: id (required).

deletetemplateB

Delete a template.

Inputs: id (required).

deletetemplategroupC

Group must be empty.

Inputs: id (required).

getaccountC

Gets account details.

Inputs: no named parameters.

getdevicebyidB

Gets a device by ID.

Inputs: id (required).

getdevicegroupsC

Gets device groups in the account.

Inputs: id, page, take, tree.

getdevicepingdataC

Gets device ping data by registration key.

Inputs: registrationKey (required).

getdevicesB

Gets all devices in an account.

Inputs: id, page, take, org_id, +5 more.

getmediaC

Gets all media in an account.

Inputs: id, page, take, group_id, +1 more.

getmediabyidC

Gets media item by ID.

Inputs: id (required).

getmediagroupsC

Gets media groups.

Inputs: id, page, take, tree.

getorganizationsD

Gets organizations.

Inputs: no named parameters.

getpingdataC

Gets device ping data by registration key.

Inputs: key.

getplaylistbyidB

Gets a playlist by ID.

Inputs: id (required).

getplaylistgroupsC

Gets playlist groups in the account.

Inputs: id, page, take, tree.

getplaylistsC

Gets all playlists in an account.

Inputs: id, page, take, group_id, +1 more.

getreportbyidC

Returns a list of reports available for export.

Inputs: id.

getschedulebyidB

Gets a schedule by ID.

Inputs: id (required).

getschedulegroupsB

Gets schedule groups in the account.

Inputs: id, page, take, tree.

getschedulesC

Gets schedules in an account.

Inputs: id, page, take, group_id, +2 more.

getsnapshotA

Gets current snapshot of the device screen. Image is returned as a JPEG image.

Inputs: registrationKey (required), base64.

gettemplatebyidC

Gets a template by ID.

Inputs: id (required).

gettemplategroupsC

Gets template groups in the account.

Inputs: id, page, take, tree.

gettemplatesC

Gets all templates in an account.

Inputs: id, page, take, group_id, +1 more.

getuserbyidB

Gets a user by ID.

Inputs: id (required).

getusersC

Gets all users in an account.

Inputs: id, page, take.

patchdeviceA

Patch a device. Patch allows partial updates by targeting specific properties of the device. Uses the JSON Patch syntax (http://jsonpatch.com)

Inputs: id (required), requestBody.

patchmediaC

Patch a media item. Patch allows partial updates by targeting specific properties of the schedule. Uses the JSON Patch syntax (http://jsonpatch.com)

Inputs: id (required), requestBody.

patchplaylistA

Patch a playlist. Patch allows partial updates by targeting specific properties of the playlist. Uses the JSON Patch syntax (http://jsonpatch.com)

Inputs: id (required), requestBody.

patchscheduleA

Patch a schedule. Patch allows partial updates by targeting specific properties of the schedule. Uses the JSON Patch syntax (http://jsonpatch.com)

Inputs: id (required), requestBody.

postdeviceC

Registers a new device.

Inputs: requestBody, activation_code.

postdevicecommandsC

Sends a collection of commands to a specific device.

Inputs: id (required), requestBody.

postdevicegroupC

Create a new device group.

Inputs: requestBody.

postdevicescommandsB

Sends a collection of commands to devices.

Inputs: requestBody.

posteventB

Create an event associated with a device.

Inputs: id (required), requestBody.

postmediabyfilenameD

POST body should contain raw binary media file

Inputs: group_id (required), file_name (required), name, shared, +4 more.

postmediagroupC

Create a new media group.

Inputs: requestBody.

postmediaimportC

Import a file from a URL.

Inputs: url, group_id.

postmediamultipartC

POST body must be in multipart/form-data format

Inputs: requestBody.

postplaylistC

Create a new playlist.

Inputs: requestBody.

postplaylistgroupB

Create a new playlist group.

Inputs: requestBody.

postreportadhawkC

Returns Adhawk dataset based on the provided post parameters.

Inputs: requestBody.

postreportexportC

Generate and export a report.

Inputs: requestBody, exclude_body.

postscheduleC

Creates a new schedule.

Inputs: requestBody.

postschedulegroupB

Create a new schedule group.

Inputs: requestBody.

posttemplategroupB

Create a new template group.

Inputs: requestBody.

putaccountC

Updates an account.

Inputs: requestBody.

putdeviceC

Updates a device.

Inputs: id (required), requestBody.

putdevicegroupC

Updates a device group.

Inputs: id (required), requestBody.

putmediaC

Update media asset properties.

Inputs: id (required), requestBody.

putmediagroupB

Updates a media group.

Inputs: id (required), requestBody.

putplaylistC

Put a playlist. Replaces a playlist with the one provided.

Inputs: id (required), requestBody.

putplaylistgroupC

Updates a playlist group.

Inputs: id (required), requestBody.

putscheduleC

Update schedule.

Inputs: id (required), requestBody.

putschedulegroupC

Updates a schedule group.

Inputs: id (required), requestBody.

puttemplategroupC

Updates a template group.

Inputs: id (required), requestBody.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.4/5.0

    Scored across 63 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, but there is a clear duplicate between 'getpingdata' and 'getdevicepingdata', both retrieving ping data by registration key. Other tools are well-separated.

    Naming Consistency4/5

    Overall verb_noun pattern is consistent (get, post, put, patch, delete), but minor inconsistencies exist such as mixed singular/plural (e.g., 'getmedia' vs 'getmediabyid') and variations like 'postdevicecommands' vs 'postdevicescommands'.

    Tool Count1/5

    With 63 tools, the count is extremely high, exceeding the typical 3-15 range and falling into the 50+ extreme category, which can be overwhelming for an agent and suggests overly fine-grained operations.

    Completeness2/5

    The tool set covers many resources but has significant gaps: no account deletion, no organization CRUD beyond get, no user creation/update/delete, and limited event management beyond posting a single event.

    Related MCP Connectors

    Related MCP Servers