MCP App Store
by KeenEthics
Touchbud Play+ icon

Touchbud Play+

By Balázs Szaradics

Get New App Alerts

Overview

Touchbud Play+ is the full Touchbud Play toolbox in ChatGPT, for everyone who runs screens in several shops, restaurants, offices or receptions. One sign-in covers every company your Touchbud Play account belongs to; you just say which one. Besides screens, playlists and media it lets you invite and manage team members (administrators), change screen settings and restart a screen, create modules such as clocks and weather, set what a screen shows when someone touches it, schedule a playlist switch for later, add web pages and PDFs, read play statistics and the offline overview, switch your offline e-mail alarm, and edit the kiosk catalog - categories, products, prices, allergens and translations. In every company the plugin can do exactly what your role there allows (administrators everything, editors media, playlists, modules and catalog, everyone else read-only), and ChatGPT asks before anything is changed or deleted. The privacy notice lists what is processed and how long it is kept.

Tools

add_user

ChatGPT
Add a person to the company with a role: admin (everything incl. users), editor (media, playlists, modules), subscriber (read only) or clerk (ticket counter only). A new address gets an invitation e-mail to set a password; an existing account gets a notice and sees the company at its next sign-in. Members already in the company are refused. Needs admin rights. Ask the user to confirm before calling it.

add_web_page

ChatGPT
Add a public web page (https address) to the library as a NEW item; screens show the live page, the library keeps a screenshot as thumbnail. Put it in a playlist with update_playlist or show it on touch with set_device_interactive. Pages that refuse to be framed may stay blank on screens. Private addresses are refused. Ask the user to confirm before calling it.

api_reference

ChatGPT
The OpenAPI document of the Touchbud Play client API (routes, fields, limits). Static reference, read-only.

check_upload

ChatGPT
State of an upload link from request_upload_link: open (nothing uploaded yet - ask the user to finish, then call again), done (returns the media with its id), or expired. Read-only.

clear_device_cache

ChatGPT
Delete the downloaded files of an ONLINE screen's player; it downloads its content again and may show less until then. Refused while a previous command still runs or when the screen is offline. Ask the user to confirm before calling it.

create_catalog_category

ChatGPT
Create a kiosk catalog category: a name and the fields its items fill in (text, textarea, number, price, color, select with options, image, gallery, pdf, table). parent makes it a subcategory. Catalog modules showing the parent show it too; screens update by themselves. Ask the user to confirm before calling it.

create_catalog_item

ChatGPT
Add an item (a product, a menu entry) to a category of the kiosk catalog. A layout item fills the category's fields under their labels; an image, video or pdf item shows one asset. Screens update by themselves. Ask the user to confirm before calling it.

create_module

ChatGPT
Create a NEW module that renders content on screens. Types: clock, text, qr, countdown, headliner, splitflap, weather, airport-weather, fuel, menu-board. Fields per type - clock: use24h, showSeconds, showDate (booleans), style digital|analog; text: headline, body, fontFamily sans|serif|mono, size small|medium|large, align center|left, backgroundImage (https url); qr: headline, body, url (max 106 chars, required); countdown: headline, target 'YYYY-MM-DDTHH:mm' local time (required), doneText; headliner: hlText (up to 8 lines), hlPreset marquee|marquee5|diagonal|outline|pulse|neon|blink|zoom|wave|drop|flip|slide|type|ticker|spot, hlSpeed 1-10, hlFont sans|serif|mono|display, hlCaps; splitflap: sfText (rows up to 32 chars, 10 rows a page, blank line = next page, 8 pages), sfTheme black|white, sfCols 0-32 (0 auto), sfHold 2-60 s, sfSpeed 1-10, sfAlign center|left, sfCaps; weather: place (looked up) or wxLat + wxLon (required), wxName, wxTz (IANA), wxLang de|en|fr|hu, wxTheme sky|dark|light, wxUnits metric|imperial, wxDays 3-7, wxHourly; airport-weather: awIcao (required), place or wxLat + wxLon, awMetar (other station), awRunways ['09/27', '16/34:163'], awTaf, awModel, awLocal hu:NNNNN, wxTheme, wxLang, wxUnits, wxTz; fuel: fuName, fuIcao, fuItems [{g: grade, p: price or null, a: available, n: note}] up to 6, fuCurrency EUR|HUF|USD|CHF|CZK|PLN|RON|GBP|SEK, fuUnit l|USG, fuVat gross|net|all|none, fuUpdated YYYY-MM-DD, fuHours, fuPay, fuContact, fuTheme, fuLang, fuFeedUrl (https), fuRefreshMin 5-1440; menu-board: headline, columns 1-3, sections [{title, rows: [{name, description, price, badge}]}]; colours (backgroundColor, textColor, accent) are #hex. Afterwards add it to a playlist with update_playlist (addItems, media = the module id). Use idempotencyKey to make a retry safe.

create_playlist

ChatGPT
Create a NEW playlist from library media. Items play in order (or shuffled); each item may carry a date range, a daily time window and weekdays. It only creates the playlist; to show it on screens afterwards use set_playlist_devices or set_device_playlist. Use idempotencyKey to make a retry safe.

delete_catalog_category

ChatGPT
Delete a category. Refused while it has subcategories; refused while it has items unless force is true, which deletes the items too. Ask the user to confirm before calling it.

delete_catalog_item

ChatGPT
Delete an item from the kiosk catalog. Ask the user to confirm before calling it.

delete_media

ChatGPT
Permanently delete an image or video and its file. Refused (409) while playlists use it unless force is true, which removes it from those playlists first. dryRun shows what would happen without deleting. Ask the user to confirm before calling it.

delete_module

ChatGPT
Permanently delete a module. Refused (409) while playlists use it unless force is true, which removes it from them first; always refused while a screen shows it as interactive content. dryRun shows what would happen. Ask the user to confirm before calling it.

delete_pdf

ChatGPT
Delete a PDF and all its page images from the library. Refused while playlists use it unless force is true (then it is removed from them, needs playlist permission). Ask the user to confirm before calling it.

delete_playlist

ChatGPT
Permanently delete a playlist. Refused (409) while screens show it unless force is true, which detaches them first (they then show nothing). dryRun shows what would happen. Ask the user to confirm before calling it.

delete_web_page

ChatGPT
Delete a web page from the library. Refused while playlists use it unless force is true (then it is removed from them, needs playlist permission) and while a screen shows it as touch content. Ask the user to confirm before calling it.

device_screenshot

ChatGPT
Ask an ONLINE screen to capture what it shows right now; the picture is stored in the company's account and returned here (plus its URL). Takes up to 45 s; offline screens answer 409 - check list_devices first.

get_catalog_item

ChatGPT
One kiosk catalog item with all its values. Read-only.

get_device

ChatGPT
One screen by id. Read-only.

get_device_settings

ChatGPT
A screen's settings: heartbeat (minutes between check-ins: 5, 30, 60 or 240), rotation of the content (0, 90, 180, 270 = landscape, portrait, landscape-flipped, portrait-flipped), whether the debug overlay is shown, the interactive (touch) content and a scheduled playlist switch. Read-only.

get_media

ChatGPT
One library item by id. Read-only.

get_module

ChatGPT
One module with its settings (a summary for types that are edited in the admin). Read-only.

get_offline_alarm

ChatGPT
The signed-in person's offline alarm in the company: whether they get an e-mail when a screen stays offline, and after how many hours. Read-only.

get_overview

ChatGPT
The company at a glance: how many screens are online, offline (and which) or inactive, plus the most played media and playlist of the last 30 days. Read-only.

get_playlist

ChatGPT
One playlist by id with its items, schedules and screens. Read-only.

get_statistics

ChatGPT
How often and how long the screens showed each media in a date range (from / to YYYY-MM-DD, at most 92 days; default the last 30), with totals per screen, per playlist and per day and the kiosk taps. Optionally for one screen or one playlist. Days are the screens' local dates, media are counted by name, seconds are the configured display time per play. Read-only.

list_catalog_categories

ChatGPT
The kiosk catalog's categories (the CMS schemas): id, name, parent (subcategories), fields with key, label and type, picture, translations and how many items each has. Read-only.

list_catalog_items

ChatGPT
The kiosk catalog's items (products, entries) with their values under the field labels, type, barcode and translations; optionally of one category (id or exact name) or matching q (name part or exact barcode). Read-only.

list_catalog_styles

ChatGPT
The kiosk designs (made in the admin) a category or item may use, with id, name and kind (start, category, item). Read-only.

list_companies

ChatGPT
The companies this sign-in reaches, with the person's role and the permissions in each (id, name, role, scopes). Use an id or name from here as the company argument of the other tools. q filters by part of the name. Read-only.

list_devices

ChatGPT
All screens with id, name, online state (heartbeat within two hours), player version and the playlist they show. Read-only.

list_media

ChatGPT
The company's library with id, name, kind, url, thumbnail, duration and the playlists using them: images and videos by default; kind web, pdf (with the page count) or all for the rest. Modules are listed by list_modules. Read-only. To add: upload_media_file / upload_media_from_url / request_upload_link (images, videos), add_web_page, upload_pdf_file / upload_pdf_from_url.

list_modules

ChatGPT
The company's modules (clock, weather, split-flap board, menu board, headliner, ...) with id, name, type, whether the API can edit them and the playlists using them. A module id goes into a playlist like any media id. Read-only.

list_playlists

ChatGPT
All playlists with their items (display seconds, weekdays 1 = Monday ... 7 = Sunday, daily time window, date range) and the screens showing them. Read-only.

list_users

ChatGPT
The company's members with id, e-mail, name, role (admin, editor, subscriber, clerk) and whether the account is confirmed. Needs admin rights in the company. Read-only.

remove_user

ChatGPT
Remove a member from the company; they lose access at once and get an e-mail. When this was their ONLY company the whole account is deleted - run with dryRun first, it says so (deletesAccount). Refused for your own account, platform owners and the last admin. Needs admin rights. Ask the user to confirm before calling it.

rename_device

ChatGPT
Overwrite a screen's display name; what it shows stays unchanged.

rename_media

ChatGPT
Overwrite the display name of a library item; the file and its use in playlists stay unchanged.

restart_device

ChatGPT
Restart the player app of an ONLINE screen; the screen is blank for a few seconds. Refused while a previous command still runs or when the screen is offline. Ask the user to confirm before calling it.

schedule_device_playlist

ChatGPT
Let a screen switch to another playlist by itself at a set time (2 minutes to 30 days ahead), e.g. the evening menu at 17:00. startAt is 'YYYY-MM-DDTHH:mm' in timeZone (default Europe/Vienna; use the screen's location zone) or an ISO time with offset. One switch per screen: a new one replaces the scheduled one. playlist null cancels it. To switch now use set_device_playlist. Ask the user to confirm before calling it.

set_device_interactive

ChatGPT
What a screen shows when someone touches it: an image, video, web page or module from the library (list_media, list_modules; PDFs cannot). It closes after duration seconds without a touch and the playlist continues. touchHint draws an invitation to touch (pulse, ripple, touch; none hides it) at touchPos in touchSize. interactiveOnly: true makes the screen show only this content instead of a playlist (Android players only). content null turns it off. Options you leave out keep their current value. Ask the user to confirm before calling it.

set_device_playlist

ChatGPT
Make a screen show a playlist (replacing its current one), or detach it with playlist = null. Ask the user to confirm before calling it.

set_offline_alarm

ChatGPT
Turn the offline alarm on or off: an e-mail when a screen of the company stays offline for at least thresholdHours (1-168, default 4; checked hourly, one mail per offline episode). Without user it is the signed-in person's own alarm; with user (an id from list_users) an admin sets it for that member. Ask the user to confirm before calling it.

set_playlist_devices

ChatGPT
Make exactly these screens show the playlist: listed screens switch to it (replacing what they showed), screens not listed are detached from it. An empty list detaches every screen. Ask the user to confirm before calling it.

set_user_role

ChatGPT
Change a member's role (admin, editor, subscriber, clerk). Refused for your own account, for platform owners and for the company's last admin. Needs admin rights. Ask the user to confirm before calling it.

update_catalog_category

ChatGPT
Change a category: name, description, parent, picture, translations, style, or the fields. fields REPLACES the list: send every field to keep with its key (labels and types may change); a field left out is no longer shown (its values stay stored). Screens update by themselves. Ask the user to confirm before calling it.

update_catalog_item

ChatGPT
Change an item: name, values (only the fields you send change; null removes a value), translations, asset, barcode or style. It stays in its category. Screens update by themselves. Ask the user to confirm before calling it.

update_device_settings

ChatGPT
Change a screen's heartbeat, content rotation (rotation 0/90/180/270 or orientation landscape / portrait / landscape-flipped / portrait-flipped) or debug overlay. The player applies them within seconds, no restart. Only the fields you send change. dryRun shows before and after. Ask the user to confirm before calling it.

update_module

ChatGPT
Change a module's name or settings; only the fields you send change, the rest stays. Screens showing it (in playlists or as interactive content) switch to the new content. Fields per type - clock: use24h, showSeconds, showDate (booleans), style digital|analog; text: headline, body, fontFamily sans|serif|mono, size small|medium|large, align center|left, backgroundImage (https url); qr: headline, body, url (max 106 chars, required); countdown: headline, target 'YYYY-MM-DDTHH:mm' local time (required), doneText; headliner: hlText (up to 8 lines), hlPreset marquee|marquee5|diagonal|outline|pulse|neon|blink|zoom|wave|drop|flip|slide|type|ticker|spot, hlSpeed 1-10, hlFont sans|serif|mono|display, hlCaps; splitflap: sfText (rows up to 32 chars, 10 rows a page, blank line = next page, 8 pages), sfTheme black|white, sfCols 0-32 (0 auto), sfHold 2-60 s, sfSpeed 1-10, sfAlign center|left, sfCaps; weather: place (looked up) or wxLat + wxLon (required), wxName, wxTz (IANA), wxLang de|en|fr|hu, wxTheme sky|dark|light, wxUnits metric|imperial, wxDays 3-7, wxHourly; airport-weather: awIcao (required), place or wxLat + wxLon, awMetar (other station), awRunways ['09/27', '16/34:163'], awTaf, awModel, awLocal hu:NNNNN, wxTheme, wxLang, wxUnits, wxTz; fuel: fuName, fuIcao, fuItems [{g: grade, p: price or null, a: available, n: note}] up to 6, fuCurrency EUR|HUF|USD|CHF|CZK|PLN|RON|GBP|SEK, fuUnit l|USG, fuVat gross|net|all|none, fuUpdated YYYY-MM-DD, fuHours, fuPay, fuContact, fuTheme, fuLang, fuFeedUrl (https), fuRefreshMin 5-1440; menu-board: headline, columns 1-3, sections [{title, rows: [{name, description, price, badge}]}]; colours (backgroundColor, textColor, accent) are #hex. Ask the user to confirm before calling it.

update_playlist

ChatGPT
Change an existing playlist. To ADD media keep the current items and pass only the new ones in addItems (items already in the playlist with the same schedule are skipped). items REPLACES the whole list - use it only to reorder, remove or edit items, and always send every item that should remain. name and the shuffle/synchronized flags are overwritten when given. Screens are changed with set_playlist_devices. Ask the user to confirm before calling it.

update_web_page

ChatGPT
Give a web page of the library a new address (a new screenshot thumbnail is taken) or a new name. Playlists and screens using it follow. Ask the user to confirm before calling it.

upload_media_file

ChatGPT
Add an image or video the user ATTACHED IN THIS CHAT to the library as a NEW item - no link, no page. Use this whenever the user has attached the file; use request_upload_link only when there is no attachment. Images up to 12 MB (jpg, png, webp), videos up to 50 MB (mp4, webm).

upload_media_from_url

ChatGPT
Add a NEW image (jpg, png, webp, up to 12 MB) or video (mp4, webm, up to 50 MB) to the library from a PUBLIC http(s) URL the user gives you. The server downloads it; private addresses are refused. Each call adds another item. For a file attached in the chat use upload_media_file; for a file on the user's phone or computer use request_upload_link.

upload_pdf_file

ChatGPT
Add a PDF the user ATTACHED IN THIS CHAT to the library as a NEW item (up to 25 MB and 40 pages). Every page becomes an image; screens page through them, about 5 s each.

upload_pdf_from_url

ChatGPT
Add a PDF from a PUBLIC http(s) URL to the library as a NEW item (up to 25 MB and 40 pages). Every page becomes an image; screens page through them, about 5 s each. For a PDF attached in the chat use upload_pdf_file. Private addresses are refused. Ask the user to confirm before calling it.

whoami

ChatGPT
The Touchbud Play company, the signed-in account (or API key) and the permissions granted to this connection. Read-only.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps