# FusionSignage MCP MCP

> FusionSignage MCP connects your AI agent directly to your digital signage network. Manage every screen, playlist, and content schedule from natural conversation. You can list all screens, update configurations, build complex schedules, and assign media across hundreds of displays without ever touching a dashboard.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** digital-signage, screen-management, content-scheduling, playlist-management, media-display, remote-monitoring

## Description

Control your entire digital display system using only your words. Forget logging into multiple dashboards just to check if the lobby menu is running correctly or scheduling next week's promotion. This MCP lets you manage every aspect—from creating new playlists to setting up time-based content rotation for groups of screens—all through your AI client. It reads your intent and executes complex actions, whether that’s assigning a newly uploaded video asset to the reception area or deleting outdated media files from the library. Because this connection lives in the Vinkius catalog, you get instant access to sophisticated display control right alongside all your other enterprise tools. You simply tell your agent what needs to happen, and it handles the rest.

## Tools

### assign_playlist
Assigns a specific playlist to one or more digital screens.

### check_fusion_status
Verifies the current connectivity status of the signage network.

### create_playlist
Builds a new playlist using selected media files and defines their display order.

### create_schedule
Sets up a recurring or one-time content schedule across defined time windows.

### delete_media
Removes specific media files (images, videos) from the library permanently.

### delete_playlist
Deletes an entire playlist when it is no longer needed.

### get_media_item
Retrieves detailed information about a single media file, including its size and format.

### get_playlist
Gets the full details of an existing playlist, showing all contained media items.

### get_screen_status
Gets the current operational status (online/offline) and assigned content of a screen.

### get_screen
Retrieves specific configuration and status information for a single screen.

### list_groups
Retrieves a list of defined groups, allowing you to manage multiple screens together.

### list_media
Lists all media files currently stored in the library, along with their metadata.

### list_playlists
Retrieves a list of every playlist created on the network.

### list_schedules
Lists all currently active and saved content schedules by date and time.

### list_screens
Provides a comprehensive list of every screen connected to the system.

### update_playlist
Modifies an existing playlist, such as changing its name or adding new media items.

### update_screen
Changes the physical configuration settings of a specific screen unit.

## Prompt Examples

**Prompt:** 
```
Show all screens and highlight any that are offline.
```

**Response:** 
```
Your signage network has 12 screens. 10 online, 2 offline. ⚠️ Offline screens: 1) 'Lobby Display' (screen_003, last seen 2 hours ago, assigned: 'Welcome Playlist'). 2) 'Cafeteria Menu' (screen_008, last seen 45 min ago, assigned: 'Lunch Menu'). Online screens include: 'Reception TV' (screen_001, playing 'Corporate News'), 'Meeting Room A' (screen_002, playing 'Room Schedule'), and 8 others. Would you like to update the offline screen configurations or assign new playlists?
```

**Prompt:** 
```
Create a new promotional playlist with our latest media and assign it to all lobby screens.
```

**Response:** 
```
Media library: 34 files available. Latest uploads: 'spring_promo_2025.mp4' (15s, uploaded today), 'new_menu_banner.jpg', 'loyalty_program.mp4' (30s). Playlist created! ID: pl_892, Name: 'Spring Promo 2025', Items: 3 media files, Total duration: 55s loop. Assigned to 3 lobby screens: 'Lobby Display' (screen_003), 'Lobby Left' (screen_004), 'Lobby Right' (screen_005). All screens will update within 60 seconds. Would you like to create a schedule or update the playlist?
```

**Prompt:** 
```
Show all content schedules and the screen groups configured in our account.
```

**Response:** 
```
Active schedules: 4. 1) 'Business Hours' — Mon-Fri 8AM-6PM, plays 'Corporate News' on all lobby screens. 2) 'Lunch Menu' — Mon-Fri 11AM-2PM, plays 'Daily Menu' on cafeteria screens. 3) 'Weekend Mode' — Sat-Sun all day, plays 'Welcome Loop' on reception. 4) 'After Hours' — Mon-Fri 6PM-8AM, plays 'Security Info' on all screens. Screen groups: 1) 'Lobby' (3 screens). 2) 'Cafeteria' (2 screens). 3) 'Meeting Rooms' (5 screens). 4) 'External' (2 screens). Would you like to create a new schedule or modify a group?
```

## Capabilities

### Check Screen Status
Verify if any screen in your network is online or offline at a glance.

### Manage Content Library
Browse, inspect metadata for, and remove old images, videos, or web pages from the media library.

### Build Playlists
Create new content playlists, modify existing ones, or delete them entirely.

### Schedule Content Rotation
Set up time-based schedules that automatically rotate specific playlists across designated screens.

### Target Specific Displays
Group multiple screens together and push the same content update to all of them at once.

## Use Cases

### Emergency Messaging
A facility manager needs to post a temporary safety alert across all screens immediately. They ask their agent to 'Send the fire drill message now.' The agent calls `create_playlist` with the emergency content and then uses `assign_playlist` to push it to all relevant screens, overriding current schedules.

### Seasonal Promotions
The marketing team needs a new holiday campaign. They use their agent to 'Build a playlist using the 2025 images and set up a schedule for December 1st.' The agent calls `create_playlist` and then `create_schedule`, managing the entire rollout in two prompts.

### IT Troubleshooting
An administrator notices screens are showing old content. They ask their agent to 'Check screen 003 and see what it's running.' The agent calls `get_screen_status` to confirm the issue, then uses `update_screen` if a physical setting needs tweaking.

### Content Cleanup
An admin knows they have outdated menus and old videos. They ask their agent to 'List all media older than six months and delete it.' The agent calls `list_media`, filters the results, and executes `delete_media` for cleanup.

## Benefits

- Stop checking dashboards manually. Use `get_screen_status` to get an instant, consolidated view of all screen connectivity issues in one query.
- Coordinate marketing efforts instantly. You can use `create_playlist` with the latest assets and then assign it using `assign_playlist`, everything without manual steps.
- Save time on updates. Instead of updating dozens of screens individually, you can list content groups using `list_groups` and push changes to all of them at once.
- Audit your network history. Running `list_media` lets you quickly see every asset uploaded, which is crucial for IT compliance checks.
- Set it and forget it. Use `create_schedule` to automatically cycle through promotional content during business hours, so you don't have to worry about daily manual adjustments.

## How It Works

The bottom line is that once connected, you talk to your AI client, and it uses this MCP to perform complex actions on your signage network.

1. Subscribe to this MCP in Vinkius and provide your FusionSignage API Key.
2. Connect this MCP to your preferred AI client (like Cursor or Claude).
3. Tell your agent the task—for example, 'Check if screens 1 through 5 are online' or 'Create a new playlist with these three files'.

## Frequently Asked Questions

**How do I check if my digital signs are working with get_screen_status?**
You use `get_screen_status` to confirm connectivity and see what content is currently running. It tells you the screen's operational status (online/offline) and its current assigned playlist.

**Can I set up rotating schedules using create_schedule?**
Yes, `create_schedule` lets you define complex time-based rotations. You can specify that a certain playlist should run every Tuesday from 10 AM to 2 PM.

**What is the difference between list_media and get_media_item?**
`list_media` gives you an inventory of everything uploaded (like a catalog). `get_media_item` lets you pull specific metadata, like the file size or format, for one single asset.

**How do I make changes to existing content using update_playlist?**
You use `update_playlist` when you need to modify a playlist without recreating it. This allows you to swap out an old image for a new one or change the sequence order.

**I need to push content to all screens in a building; should I use list_groups first?**
Yes, running `list_groups` is smart. It lets you confirm the exact group names and IDs, making your subsequent commands more precise when assigning content or updates.

**If I need to clean up outdated assets, how should I use the `delete_media` function?**
You must first run list_media to verify which files you want gone. Then, using delete_media, specify the file ID and confirm deletion; this action is permanent, so double-check your targets.

**When setting up, how can I get complete configuration data for one specific display using `get_screen`?**
The get_screen function provides all deep details about a single display unit. It shows hardware IDs, network settings, and current assigned content, which is vital for troubleshooting setup issues.

**If I want to send a new campaign to just a few specific monitors, what is the correct way to use `assign_playlist`?**
You must provide both the playlist ID and the target screen IDs when calling assign_playlist. This ensures the content only appears on the intended displays, keeping other screens unaffected.

**Can I monitor which screens are online or offline in real time?**
Yes. Use `list_screens` to see all screens with their current online/offline status and assigned content. For a specific screen, use `get_screen_status` to check real-time connectivity and playback status. Use `get_screen` for detailed configuration including orientation and playlist assignment.

**Can I create a playlist and assign it to a screen?**
Yes. Use `create_playlist` with a JSON payload containing name and media items. Then use `assign_playlist` with the screen ID and playlist ID to push it to a display. Use `update_playlist` to modify content order or add new media, and `delete_playlist` to remove unused playlists.

**Can I schedule content to play at specific times?**
Yes. The `create_schedule` tool accepts a JSON configuration with time slots, playlist rotations, and screen assignments. Use `list_schedules` to view all active schedules. Combine with `list_groups` to manage multiple screens simultaneously through group assignments.