blipboard
Ambient split-flap display board agents push text to; humans watch it on any screen.
Should I use this
Quality & Safety
Findings (5)
- LOWin create-board-tool
- LOWin push-scenes-tool
- LOWin read-board-tool
- LOWin update-board-tool
- LOWin delete-board-tool
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"blipboard": {
"url": "https://blip-board.app/mcp"
}
}
}Remote endpoints
https://blip-board.app/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟡create-board-tool(name, layoutId)
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.
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Human-readable board name, e.g. \"Living Room\".",
"type": "string"
},
"layoutId": {
"description": "Board grid: wide-frame = 6 rows x 22 columns, triptych-15 = 3 x 15, ticker-6 = 1 x 6. Immutable after creation.",
"default": "wide-frame",
"enum": [
"wide-frame",
"triptych-15",
"ticker-6"
],
"type": "string"
}
},
"required": [
"name"
]
}⚪push-scenes-tool(boardUrl, pushToken, source, scenes, replace)
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.
Input Schema
{
"type": "object",
"properties": {
"boardUrl": {
"description": "The board displayUrl returned by create-board, or its bare 21-character display token.",
"type": "string"
},
"pushToken": {
"description": "The board's secret push token.",
"type": "string"
},
"source": {
"description": "Lowercase identifier of the pusher, e.g. \"claude\". Each source owns its scenes; pushing replaces only this source's scenes.",
"type": "string"
},
"scenes": {
"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.",
"type": "array"
},
"replace": {
"description": "true (default) replaces this source's previous scenes, false appends.",
"default": true,
"type": "boolean"
}
},
"required": [
"boardUrl",
"pushToken",
"source",
"scenes"
]
}🟢read-board-tool(boardUrl)
Read what a Blipboard board is currently showing: its layout and the active scene playlist. No pushToken needed.
Input Schema
{
"type": "object",
"properties": {
"boardUrl": {
"description": "The board displayUrl or its bare 21-character display token.",
"type": "string"
}
},
"required": [
"boardUrl"
]
}🟡update-board-tool(boardUrl, pushToken, name, stylePreset, styleOverrides)
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.
Input Schema
{
"type": "object",
"properties": {
"boardUrl": {
"description": "The board displayUrl returned by create-board, or its bare 21-character display token.",
"type": "string"
},
"pushToken": {
"description": "The board's secret push token.",
"type": "string"
},
"name": {
"description": "New human-readable board name.",
"type": "string"
},
"stylePreset": {
"description": "Switch the board to a named style preset. Available: Vestaboard, Modern Board, Default.",
"enum": [
"Vestaboard",
"Modern Board",
"Default"
],
"type": "string"
},
"styleOverrides": {
"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"
]
}🔴delete-board-tool(boardUrl, pushToken)
Permanently delete a Blipboard board and all its scenes. Requires the board's secret pushToken. This cannot be undone.
Input Schema
{
"type": "object",
"properties": {
"boardUrl": {
"description": "The board displayUrl returned by create-board, or its bare 21-character display token.",
"type": "string"
},
"pushToken": {
"description": "The board's secret push token.",
"type": "string"
}
},
"required": [
"boardUrl",
"pushToken"
]
}Recommended Prompts
read-board-toolread-board-toolCommunity
Evidence