Display
Create a live canvas, connect any MCP-capable agent, and let it compose dashboards, charts, and diagrams on a shared screen in real time.
https://display.sh/Connect straight to this server’s public endpoint.
https://api.display.sh/mcpWe add this server to your workspace, walk through sign-in once, then open Studio with tools ready to run.
Last probed Sep 14, 2026 · api.display.sh
22tools discovered
Inspect Surface Capabilities
Inspect the live display session: connected surfaces (device classes, aspect, density), recommended render strategy, primary surface class, and a snapshot of the current canvas (`currentScene.revision` + `currentScene.summary`). Always call this before rendering. Set your visual document's meta.viewport to match the returned primaryViewport dimensions so the composition fills the surface exactly. If `currentScene.summary` is null the canvas is empty — render directly with `expectedRevision: curr
Get Current Scene
Get the scene currently on the session's canvas. Returns `revision`, `scene`, and `summary`. Read `revision` immediately before present_visual_document and pass it back as expectedRevision. Use `summary` to see what is already on the canvas — it lists every element's ID, type, and count without parsing the full scene graph — so you can fold existing content into a re-authored document. `summary` is null when the canvas is empty.
Get Viewer Url
Get the shareable, embeddable URL for this Display session. Share this link with anyone who should see the canvas — it opens in read-only embed mode with no control chrome, and is suitable for embedding in an <iframe>. The link is valid until the session expires.
Present Visual Document
Fallback render tool for novel compositions that none of the editorial primitives fits. Submits an AI-authored visual document (HTML/CSS/SVG, optionally with <canvas> via the Display runtime) that is rendered inside a sandboxed iframe. DO NOT reach for this when a primitive fits — present_sankey / present_barChart / present_lineChart / present_treemap / present_donut / present_timeline / present_flowchart take simple structured inputs and the server renders the full editorial composition. For a
Present Sankey
Render a Sankey-based editorial composition. Use for any thesis about flow / leakage / allocation / where-X-goes (money flows, energy flows, resource breakdowns, decision flows). You supply the data (thesis, flows.nodes, flows.links) and optional editorial slots (branchAnnotations, takeaway, rightPanel, asideMetric); the server renders the full HTML/SVG composition — headline, hero Sankey with annotations placed directly on each branch, optional side panel and metric callout, takeaway footer. No
Present Barchart
Render a bar-chart editorial composition. Use for any ranking / current-vs-target / side-by-side comparison thesis (top spending categories, cost vs. target, before vs. after). You supply the data (thesis, bars with values and optional targets) and optional editorial slots (takeaway, rightPanel, asideMetric); the server renders the full HTML/SVG composition — headline, hero bars with values and target ticks, optional side panel and metric callout, takeaway footer. No HTML authoring; no geometry
Present Treemap
Render a treemap editorial composition. Use for part-of-whole / dense category breakdowns where many items share a single total (where the money goes, what makes up a portfolio). You supply the data (thesis, items with values) and optional editorial slots (takeaway, rightPanel, asideMetric); the server packs cells with a squarified algorithm and labels each one with category + value + share. CONCURRENCY: replaces the surface, expectedRevision required (0 if empty).
Present Donut
Render a donut editorial composition. Use for single-composition shares (≤8 slices) or two-segment focus stories with a big centre metric. You supply the data (thesis, slices, optional centerLabel) and optional editorial slots; the server draws the donut, labels each slice's share, and places legend + values on the right. CONCURRENCY: replaces the surface, expectedRevision required (0 if empty).
Present Timeline
Render a timeline editorial composition. Use for chronological narratives — events along an axis with auto-laning to avoid collisions. You supply the data (thesis, events with numeric time positions, optional details and tones) and optional editorial slots; the server places markers, labels and connectors. CONCURRENCY: replaces the surface, expectedRevision required (0 if empty).
Present Flowchart
Render a flowchart editorial composition. Use for process / dependency / system maps — a layered DAG with rounded-rect nodes and bezier edges. You supply the data (thesis, nodes, edges with optional labels) and optional editorial slots; the server places nodes by layer (topological order) and draws curved edges between them. CONCURRENCY: replaces the surface, expectedRevision required (0 if empty).
Present Linechart
Render a line-chart editorial composition. Use for trends over a continuous axis (time series, cumulative curves, dose-response), multi-series comparisons (this year vs last year, control vs variant, A/B/C lines on one axis), or any thesis that's about a path through time. You supply the series (each with id, label, data points, optional tone/emphasis) and optional editorial slots (annotations pinned to specific data points, threshold reference lines, takeaway, rightPanel, asideMetric, axis labe
Present Markdown
Plain prose documents only — meeting notes, written summaries, explanations with no visual structure. Do NOT use for structured data, comparisons, timelines, metrics, infographics, or anything that benefits from layout — use present_visual_document instead.
Present Chart
Render one chart, OR a grid of several charts in one scene — pass the `charts: [{kind, title, data}, ...]` array and each becomes a panel in a responsive grid (2×2 dashboard, 1×4 strip, etc.). This is the right tool for any dashboard / small-multiples / N-charts-on-one-screen request — do NOT reach for present_visual_document to hand-author a multi-panel layout when the panels are bar/line/pie/area charts. Single-chart form is the legacy convenience: pass `kind` + `data`. Replaces the scene by d
Present Diagram
Mermaid auto-layout diagrams only. Use this ONLY when Mermaid's automatic layout is an advantage: sequence diagrams, ER diagrams, state machines, Gantt charts, git graphs, and class diagrams. For everything else — flowcharts, hierarchies, comparison layouts, spatial compositions, money flows, architecture overviews, or anything where you control placement — use present_visual_document instead, which produces larger, more readable, fully designed output. Pass replace:false to append.
Present Code
Convenience: render a code block with optional syntax highlighting. Pass replace:false to append to the current scene.
Clear Scene
Clear the canvas back to the empty waiting state.
List Display Sessions
List all Display sessions owned by your account, newest first. Returns session IDs, status, and viewerUrl for each active session. Requires an authenticated session — returns an error for anonymous sessions.
Get Display Session
Get details for a specific Display session by ID. The session must be owned by your account. Returns status, revision, surface count, and viewerUrl.
Create Session
Create a new named Display session. Returns its `sessionId` and `viewerUrl` — share the URL with the user so they can open it on a screen, and pass the `sessionId` to subsequent session-bound tool calls (present_visual_document, etc.) to render to this session. Requires authentication.
List Scene Revisions
List saved scene revisions for this session, newest first. Returns revision number, timestamp, and agent that wrote each revision — no scene data. Use export_scene_revision to retrieve a specific revision's scene. Requires an authenticated session.
Export Scene Revision
Get the full scene at a specific past revision. Returns the complete NormalizedScene — use this to inspect or compare what the canvas looked like at a particular point. Requires an authenticated session.
Restore Scene Revision
Restore the canvas to a previous revision. Loads the scene from history and applies it as a new revision — the canvas evolves forward, no data is deleted. Pass expectedRevision to guard against concurrent writes since you last read. Requires an authenticated session.
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsCreate a live canvas, connect any MCP-capable agent, and let it compose dashboards, charts, and diagrams on a shared screen in real time.
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
Operate Display? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
MCPBundles probed 22 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
Display may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
MCPBundles is an independent platform built on the open Model Context Protocol standard. Not affiliated with Anthropic PBC or Claude.