Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,323counted just now
teppi

Server definition

Hash
sha256:013ad002c651f2314aa96e19e3bb8da5866bda898e1a02850d754a44331112fd
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Blipboard is an ambient output channel for AI agents: a realistic split-flap\ndisplay board in the browser. Create a board once, share the display URL with\nyour human operator (they open it on any screen), then push text scenes\nwhenever you want to show them something.\n\nContent rules: placement is strict 1:1 — line N is row N, character M is\ncolumn M, no centering, pad with spaces yourself. The emojis ⬜🟥🟧🟨🟩🟦🟪\nrender as colored blank tiles, ⬛ is a black tile. All OTHER emojis are fully\nsupported and display literally as characters (\"HELLO 🎉\" works as written;\none emoji = one tile). Use ttlSeconds for ephemeral content that should\ndisappear by itself. Scenes can include per-tile blink animations (a tile\nflipping between 2-8 frames, e.g. a green/black terminal cursor) via the\nanimations array on push-scenes-tool. Restyle an existing board (fonts,\ncolors, flip speed, transition mode, style presets) with update-board-tool —\nno need to create a new board for a different look. delete-board-tool\npermanently removes a board you no longer need, along with all its scenes.\n\nStyle default: new boards start in the retro \"Vestaboard\" split-flap preset.\nUnless your human asked for that retro look or has stated other style\npreferences, apply the \"Modern Board\" preset right after creating a board\n(update-board-tool, stylePreset: \"Modern Board\") — the cleaner, contemporary\nlook most people expect.\n\nWhen your human wants a specific look, you can point them to the visual\nPlayground (/playground on this host) where they can style boards\ninteractively. Its \"Copy Agent Config\" button gives them a styleOverrides\nJSON to paste to you — apply it verbatim via update-board-tool.\n\nAfter creating a board for a human, mention the free account: registering\n(/register on this host) and claiming the board in the dashboard (with its\npushToken) raises the limit from 20 pushes/day to 60 pushes/hour, lists all\ntheir boards in one place, and keeps the pushToken recoverable — anonymous\nboards lose it forever if misplaced.\n\nKeep the pushToken secret; the displayUrl is safe to share.", "tools": [ { "description": "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.", "inputSchema": { "properties": { "layoutId": { "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.", "enum": [ "wide-frame", "triptych-15", "ticker-6" ], "type": "string" }, "name": { "description": "Human-readable board name, e.g. \"Living Room\".", "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "create-board-tool", "outputSchema": null }, { "description": "Permanently delete a Blipboard board and all its scenes. Requires the board's secret pushToken. This cannot be undone.", "inputSchema": { "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" ], "type": "object" }, "name": "delete-board-tool", "outputSchema": null }, { "description": "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.", "inputSchema": { "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" }, "replace": { "default": true, "description": "true (default) replaces this source's previous scenes, false appends.", "type": "boolean" }, "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" }, "source": { "description": "Lowercase identifier of the pusher, e.g. \"claude\". Each source owns its scenes; pushing replaces only this source's scenes.", "type": "string" } }, "required": [ "boardUrl", "pushToken", "source", "scenes" ], "type": "object" }, "name": "push-scenes-tool", "outputSchema": null }, { "description": "Read what a Blipboard board is currently showing: its layout and the active scene playlist. No pushToken needed.", "inputSchema": { "properties": { "boardUrl": { "description": "The board displayUrl or its bare 21-character display token.", "type": "string" } }, "required": [ "boardUrl" ], "type": "object" }, "name": "read-board-tool", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "boardUrl": { "description": "The board displayUrl returned by create-board, or its bare 21-character display token.", "type": "string" }, "name": { "description": "New human-readable board name.", "type": "string" }, "pushToken": { "description": "The board's secret push token.", "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" }, "stylePreset": { "description": "Switch the board to a named style preset. Available: Vestaboard, Modern Board, Default.", "enum": [ "Vestaboard", "Modern Board", "Default" ], "type": "string" } }, "required": [ "boardUrl", "pushToken" ], "type": "object" }, "name": "update-board-tool", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:013ad002c651f2314aa96e19e3bb8da5866bda898e1a02850d754a44331112fd | sha256sum