Works with AI agents over MCP

A live dashboard for anything that can send a request.

Paste one prompt into Claude, ChatGPT, Cursor or Claude Code. Your AI asks what you want to see, then builds the board, fills it with live numbers, charts and logs, and adds the buttons you need to act.

See the prompt
Build me a live dashboard with InstantGUI (https://instant-gui.com): a free web board that scripts, devices and AI agents create and update over plain HTTP. No signup, no API key.

First, ask me what I want to see: what it should track, where the data comes from, and which buttons I'd want (pause, restart, run now). Then:

1. Create the board (once):
curl -s -X POST https://instant-gui.com/api/v1/boards -H 'Content-Type: application/json' -d '{"title":"My dashboard"}'
→ {"board":{"id":"<board>",…},"editLink":"…","writeToken":"<token>"}
Keep board.id and writeToken; send "Authorization: Bearer <token>" on every call. Give me the editLink: it opens the board for me (anyone with it can edit, so don't post it publicly).
If I already gave you an edit link (…/b/<board>/join?key=<edit key>), skip this step and use the edit key as <token>.

2. Declare every widget in ONE call (this example is a shop; replace it with what I asked for). It is idempotent: send it again whenever the layout changes. Grid is 12 columns, rows ≈ 52px.
curl -s -X PUT https://instant-gui.com/api/v1/boards/<board>/spec -H 'Authorization: Bearer <token>' -H 'Content-Type: application/json' -d '{"title":"Shop live","widgets":[{"key":"revenue","type":"kpi","title":"Revenue today","layout":{"x":0,"y":0,"w":4,"h":3},"config":{"prefix":"$","icon":"wallet"},"data":{"value":4820}},{"key":"ads","type":"actions","title":"Ad campaign","layout":{"x":0,"y":3,"w":4,"h":2},"config":{"buttons":[{"id":"pause","label":"Pause ads","tone":"danger"},{"id":"resume","label":"Resume ads","tone":"success"}]}},{"key":"revenue-trend","type":"line","title":"Revenue per day ($)","layout":{"x":4,"y":0,"w":8,"h":5},"data":{"series":[{"name":"revenue","points":[["2026-10-08",4100],["2026-10-09",4390],["2026-10-10",4820]]}]}},{"key":"orders-log","type":"log","title":"Recent orders","layout":{"x":0,"y":5,"w":12,"h":4},"data":{"entries":[{"t":1760000000000,"text":"#1045 · $129.00 · Organic","level":"success"}]}}]}'
Widget types: kpi / stats (numbers), gauge / progress, line (trends), bar, pie, table, status (health), log, actions / button / toggle / slider (controls), markdown (one short headline at most). Use real data, not samples.

3. Keep it live: push by widget key whenever a value changes.
curl -s -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/revenue -H 'Authorization: Bearer <token>' -d '{"value": 5010}'
curl -s -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/revenue-trend -H 'Authorization: Bearer <token>' -d '{"append": {"revenue": 5010}}'
curl -s -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/orders-log -H 'Authorization: Bearer <token>' -d '{"append": "#1046 · $54.50 · Email"}'
Then write me the script or cron job that keeps pushing real values.

4. Check the design: curl -s https://instant-gui.com/api/v1/boards/<board>/lint -H 'Authorization: Bearer <token>'  and fix every warning.

5. Buttons: read what I clicked with curl -s https://instant-gui.com/api/v1/boards/<board>/widgets/ads -H 'Authorization: Bearer <token>' (data.lastAction), or set config.webhookUrl to get a POST on every click.

Rules: numbers and charts over text; most important widget top-left; title every widget with its unit ("Revenue today ($)"); always include the actions I'd want next.

Prefer tools over curl? Add the MCP server: https://instant-gui.com/api/mcp (Claude Code: claude mcp add --transport http instantgui https://instant-gui.com/api/mcp). Tools: apply_board_spec, push_data, lint_board.
Full reference (every widget, embeds, design rules): https://instant-gui.com/llms.txt and https://instant-gui.com/llms-full.txt

When it's live, send me the editLink.

No signup · Live in under a second · Or start from a template

instant-gui.vercel.app/b/k3x9q2m7ta Live

Revenue today

$4,210

CPU

42 %

Requests / s

Services

API · Worker
$

From zero to live in three steps

  1. 01Create a board

    One click. No account, no setup, no YAML. Sign in later to keep it.

  2. 02Add widgets

    KPIs, charts, gauges, tables, logs, status lights, buttons and more — drag to arrange.

  3. 03Push from your code

    Every widget has its own URL. Send JSON and the board updates for everyone, instantly.

Example
curl -X POST https://instant-gui.com/api/v1/boards/<board>/widgets/cpu \
  -H "Authorization: Bearer <token>" \
  -d '{"value": 73}'

Append chart points with {"append": {"cpu": 73}}, log lines with {"append": "Deploy done"}, or flip a status with {"status": "down"}. Read the docs →

Start from a template

Every template is a real, editable board with sample data — replace it with yours when you’re ready. Browse community templates →

Bot control panel

Run a trading or Telegram bot from your phone: status, log, P&L and controls.

8 widgets

Server monitor

CPU, memory, uptime and service health for a box or a fleet.

7 widgets

Business KPIs

Revenue, signups, conversion and sales — the numbers your team checks every morning.

9 widgets

Home & IoT sensors

Temperatures, humidity, a camera snapshot and switches for your devices.

6 widgets

Real-time by default

Updates stream to every open screen in about a second. No refresh, no polling setup.

Two-way controls

Buttons, toggles, sliders and inputs your scripts can read — or get a webhook the moment they change.

Great on your phone

Boards reflow into a clean single column. Check your bot from anywhere.

Share with a link

Public view links, private boards, edit links for collaborators, and a TV mode for wall screens.

Built for machines

A tiny REST API, a GET-only URL for IoT devices, JSON import/export and strict validation with clear errors.

AI-agent ready

Connect over MCP and let Claude, Cursor or your own agent build and update boards for you.

Get the MCP URL →

30 widgets, one simple API

Every widget validates what you send and tells you exactly what’s wrong if it doesn’t fit.

Metrics

  • KPI
  • Stat list
  • Gauge
  • Progress

Charts

  • Line chart
  • Bar chart
  • Pie / donut
  • Scatter
  • Radar
  • Tree / org chart

Data

  • Table
  • Live log
  • Checklist
  • Kanban board
  • Timeline
  • Team

Status

  • Status board
  • Indicator

Controls

  • Button
  • Action buttons
  • Toggle
  • Slider
  • Text input
  • Select

Content

  • Text
  • FAQ / accordion
  • Image
  • Embed

Time

  • Clock
  • Countdown

Your script reads the switches

Pause a trading bot, change a threshold or trigger a job from your phone. Scripts read the current value with one GET — or receive it on a webhook.

Example
import requests

state = requests.get(f"{BOARD}/widgets/trading", headers=AUTH).json()
if state["widget"]["data"]["on"]:
    place_orders()

Or just ask your AI agent

Add InstantGUI as an MCP server and your agent can create boards, add widgets and push data — then hand you the link.

Prompt
"Create an InstantGUI board for my homelab: CPU, memory and
 disk gauges, a status list for my 4 containers and a log.
 Then write the cron script that keeps it updated."

MCP server URL (Streamable HTTP): https://instant-gui.com/api/mcp

Claude Code
claude mcp add --transport http instantgui https://instant-gui.com/api/mcp

No token needed to connect — each board you create gets its own write token.

Config for Cursor, Claude Desktop and other clients →

Your first live board is one click away

Paste the prompt into your AI and tell it what you want to see. Free, no account — sign in only when you want to keep it.