Inspo
Design references from real production websites for coding agents building UI
A browser viewer where a coding agent posts diagrams, diffs and sketches and reads your comments on them
By Modem TypeScript Local · stdio, Streamable HTTP Developer toolsDesign
61 popularity score ★ 633 ↓ 550/wk
Opens the app, which asks before it adds the server.
claude mcp add --transport http sideshow http://localhost:8228/mcp{
"mcpServers": {
"sideshow": {
"url": "http://localhost:8228/mcp"
}
}
}{
"servers": {
"sideshow": {
"type": "http",
"url": "http://localhost:8228/mcp"
}
}
}[mcp_servers.sideshow]
url = "http://localhost:8228/mcp"gemini mcp add --scope user --transport http sideshow http://localhost:8228/mcpOpens the app, which asks before it adds the server.
claude mcp add sideshow -- npx -y sideshow mcp{
"mcpServers": {
"sideshow": {
"command": "npx",
"args": [
"-y",
"sideshow",
"mcp"
]
}
}
}{
"mcpServers": {
"sideshow": {
"command": "npx",
"args": [
"-y",
"sideshow",
"mcp"
]
}
}
}{
"servers": {
"sideshow": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sideshow",
"mcp"
]
}
}
}[mcp_servers.sideshow]
command = "npx"
args = ["-y", "sideshow", "mcp"]gemini mcp add --scope user sideshow npx -- -y sideshow mcpSIDESHOW_URL |
Optional: Address of the sideshow viewer the MCP server talks to; http://localhost:8228 by default. |
|---|---|
SIDESHOW_TOKEN |
Optional: Shared token, sent as a bearer token, for a viewer that requires one (such as a deployed instance). |
SIDESHOW_AGENT |
Optional: Agent name shown on sessions; claude-code by default. |
SIDESHOW_SESSION |
Optional: Existing session id to post into, instead of creating a new session. |
SIDESHOW_HOST |
Optional: Viewer server: address to listen on; every interface when unset. |
PORT |
Optional: Viewer server: port to listen on; 8228 by default. |
sideshow is a small Node web app with an MCP server attached. A coding agent working in a terminal publishes posts to it, and you watch them appear in a browser tab. Each post is made of one or more parts: sandboxed HTML the agent writes, markdown, a unified or split diff, ANSI terminal output, a step timeline of an agent run, an uploaded image, a mermaid diagram, a collapsible JSON tree, or highlighted source code. The viewer supplies the styling, so the agent sends only the content. That is the project's case for spending fewer output tokens than a hand-built HTML page would.
You can comment under any post in the browser. The agent picks those comments up with wait_for_feedback, then answers in the thread or revises the post. Posts from one agent conversation are grouped into a session.
The MCP server (`sideshow mcp`, over stdio) does no rendering itself. Every tool call is an HTTP request to a running sideshow viewer, which is http://localhost:8228 unless SIDESHOW_URL points somewhere else, such as a Cloudflare Workers deployment. The viewer also serves MCP over HTTP at /mcp. The same package gives you a CLI, a Pi extension and a Claude Code plugin.
The docs name eight MCP tools. The v0.14.0 stdio server (mcp/server.ts) registers 18: the eight named, deprecated aliases (publish_surface, update_surface, list_surfaces, publish_snippet, update_snippet), and send_test_post, add_surface, edit_surface, remove_surface and reorder_surfaces for changing single parts of a post. In that file, wait_for_feedback waits 120 seconds by default.
| Runtime | Node.js 22+ |
|---|
Node 22.18 or newer. The sideshow viewer has to be running before the MCP server is useful: start it with `npx sideshow serve` (port 8228 by default, set by PORT), or deploy it to Cloudflare Workers and set SIDESHOW_URL. Rendering a post as a PNG needs a Workers deployment with Cloudflare's Browser Rendering binding. The Claude Code plugin needs Claude Code 2.1.105 or newer.
If no viewer is reachable at SIDESHOW_URL, every tool returns an error asking the user to start one. The 'open as image' (PNG) action is disabled on the local Node server because it needs Cloudflare Browser Rendering. publish_surface, update_surface, list_surfaces and the html-only snippet tools are deprecated aliases. The terminal (TUI) viewer, sideshow-term, is alpha and its makers call its APIs unstable. The share-as-markdown export links to html parts instead of including their markup.
It suits developers who run Claude Code, Codex, opencode or Pi in a terminal and want the agent to show architecture diagrams, UI mockups or diffs in a browser, then comment on them. It is a display and feedback channel only: it does not read your code, run commands or open web pages. If you want an agent to drive a browser or test pages, use a browser-automation server instead. It runs on your own machine unless you deploy the viewer to Cloudflare yourself.
publish_postupdate_postlist_postsget_postwait_for_feedbackreply_to_userupload_assetget_design_guidesend_test_postadd_surfaceedit_surfaceremove_surfacereorder_surfacespublish_surfaceupdate_surfacelist_surfacespublish_snippetupdate_snippet