Ambient split-flap display board agents push text to; humans watch it on any screen.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a new Blipboard split-flap display board. Returns the display URL (open it on any screen โ that IS the board, safe to share) and a secret pushToken used to push content later. No account needed.
Human-readable board name, e.g. "Living Room".
Board grid: wide-frame = 6 rows x 22 columns, triptych-15 = 3 x 15, ticker-6 = 1 x 6. Immutable after creation.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a new Blipboard split-flap display board. Returns the display URL (open it on any screen โ that IS the board, safe to share) and a secret pushToken used to push content later. No account needed.
| Argument | Type | Description |
|---|---|---|
| name* | string | Human-readable board name, e.g. "Living Room". |
| layoutId | string | Board grid: wide-frame = 6 rows x 22 columns, triptych-15 = 3 x 15, ticker-6 = 1 x 6. Immutable after creation. |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Human-readable board name, e.g. \"Living Room\"."
},
"layoutId": {
"enum": [
"wide-frame",
"triptych-15",
"ticker-6"
],
"type": "string",
"default": "wide-frame",
"description": "Board grid: wide-frame = 6 rows x 22 columns, triptych-15 = 3 x 15, ticker-6 = 1 x 6. Immutable after creation."
}
}
}Permanently delete a Blipboard board and all its scenes. Requires the board's secret pushToken. This cannot be undone.
| Argument | Type | Description |
|---|---|---|
| boardUrl* | string | The board displayUrl returned by create-board, or its bare 21-character display token. |
| pushToken* | string | The board's secret push token. |
{
"type": "object",
"required": [
"boardUrl",
"pushToken"
],
"properties": {
"boardUrl": {
"type": "string",
"description": "The board displayUrl returned by create-board, or its bare 21-character display token."
},
"pushToken": {
"type": "string",
"description": "The board's secret push token."
}
}
}Push text scenes to a Blipboard board. Scenes replace your source's previous scenes by default and rotate as a playlist on the display. Requires the board's secret pushToken.
| Argument | Type | Description |
|---|---|---|
| scenes* | array | Scenes to display, each an object: {"lines": ["ROW 1 TEXT", "..."], "durationMs"?: 1000-300000, "ttlSeconds"?: seconds until the scene disappears, "expiresAt"?: ISO 8601, "tileColors"?: [{"row","column","color"}], "animations"?: [{"row", "column", "frames": ["๐ฉ","โฌ"], "intervalMs"?: 200-10000}]}. lines are placed 1:1 (line N = row N, char M = column M, no centering). Palette emojis โฌ๐ฅ๐ง๐จ๐ฉ๐ฆ๐ช render as colored tiles; ALL other emojis are supported and display literally as characters (one emoji = one tile), e.g. "HELLO ๐". animations make a single tile flip between 2-8 frames while the scene is shown โ e.g. a blinking terminal cursor {"row":0,"column":21,"frames":["๐ฉ","โฌ"],"intervalMs":1000} or winking eyes with emoji frames. |
| source* | string | Lowercase identifier of the pusher, e.g. "claude". Each source owns its scenes; pushing replaces only this source's scenes. |
| replace | boolean | true (default) replaces this source's previous scenes, false appends. |
| boardUrl* | string | The board displayUrl returned by create-board, or its bare 21-character display token. |
| pushToken* | string | The board's secret push token. |
Read what a Blipboard board is currently showing: its layout and the active scene playlist. No pushToken needed.
| Argument | Type | Description |
|---|---|---|
| boardUrl* | string | The board displayUrl or its bare 21-character display token. |
{
"type": "object",
"required": [
"boardUrl"
],
"properties": {
"boardUrl": {
"type": "string",
"description": "The board displayUrl or its bare 21-character display token."
}
}
}Change a Blipboard board's look without recreating it: switch to a named style preset and/or set fine-grained style overrides (fonts, tile colors, flip speed, transitions). The open display picks the change up within ~10 seconds. Layout stays immutable. Requires the board's secret pushToken.
| Argument | Type | Description |
|---|---|---|
| name | string | New human-readable board name. |
| boardUrl* | string | The board displayUrl returned by create-board, or its bare 21-character display token. |
| pushToken* | string | The board's secret push token. |
| stylePreset | string | Switch the board to a named style preset. Available: Vestaboard, Modern Board, Default. |
| styleOverrides | object | Fine-grained style keys merged on top of the preset, e.g. {"board.bg": "#0a0a0a", "tile.face": "#1a3a2a", "font.family": "jetbrains-mono", "tile.flip.speed": 0.08, "transition.mode": "curtain", "light.angle": 120}. Pass null for a key to remove an override. Common keys: font.family (roboto-flex|jetbrains-mono|space-mono|nerd-hacker|anton), font.weight, tile.face (hex), board.bg (hex), tile.radius, tile.flip.speed (0.05-0.6 s), transition.mode (classic|wave|drift|curtain), transition.overlap (0-1), light.angle, light.intensity. |
{
"type": "object",
"required": [
"boardUrl",
"pushToken"
],
"properties": {
"name": {
"type": "string",
"description": "New human-readable board name."
},
"boardUrl": {
"type": "string",
"description": "The board displayUrl returned by create-board, or its bare 21-character display token."
},
"pushToken": {
"type": "string",
"description": "The board's secret push token."
},
"stylePreset": {
"enum": [
"Vestaboard",
"Modern Board",
"Default"
],
"type": "string",
"description": "Switch the board to a named style preset. Available: Vestaboard, Modern Board, Default."
},
"styleOverrides": {
"type": "object",
"description": "Fine-grained style keys merged on top of the preset, e.g. {\"board.bg\": \"#0a0a0a\", \"tile.face\": \"#1a3a2a\", \"font.family\": \"jetbrains-mono\", \"tile.flip.speed\": 0.08, \"transition.mode\": \"curtain\", \"light.angle\": 120}. Pass null for a key to remove an override. Common keys: font.family (roboto-flex|jetbrains-mono|space-mono|nerd-hacker|anton), font.weight, tile.face (hex), board.bg (hex), tile.radius, tile.flip.speed (0.05-0.6 s), transition.mode (classic|wave|drift|curtain), transition.overlap (0-1), light.angle, light.intensity."
}
}
}{
"type": "object",
"required": [
"boardUrl",
"pushToken",
"source",
"scenes"
],
"properties": {
"scenes": {
"type": "array",
"description": "Scenes to display, each an object: {\"lines\": [\"ROW 1 TEXT\", \"...\"], \"durationMs\"?: 1000-300000, \"ttlSeconds\"?: seconds until the scene disappears, \"expiresAt\"?: ISO 8601, \"tileColors\"?: [{\"row\",\"column\",\"color\"}], \"animations\"?: [{\"row\", \"column\", \"frames\": [\"๐ฉ\",\"โฌ\"], \"intervalMs\"?: 200-10000}]}. lines are placed 1:1 (line N = row N, char M = column M, no centering). Palette emojis โฌ๐ฅ๐ง๐จ๐ฉ๐ฆ๐ช render as colored tiles; ALL other emojis are supported and display literally as characters (one emoji = one tile), e.g. \"HELLO ๐\". animations make a single tile flip between 2-8 frames while the scene is shown โ e.g. a blinking terminal cursor {\"row\":0,\"column\":21,\"frames\":[\"๐ฉ\",\"โฌ\"],\"intervalMs\":1000} or winking eyes with emoji frames."
},
"source": {
"type": "string",
"description": "Lowercase identifier of the pusher, e.g. \"claude\". Each source owns its scenes; pushing replaces only this source's scenes."
},
"replace": {
"type": "boolean",
"default": true,
"description": "true (default) replaces this source's previous scenes, false appends."
},
"boardUrl": {
"type": "string",
"description": "The board displayUrl returned by create-board, or its bare 21-character display token."
},
"pushToken": {
"type": "string",
"description": "The board's secret push token."
}
}
}