mcpField
A
AIGUI

AIGUI

Local
liliang-cn.github.ioMedia & Design0Updated 3w ago

About AIGUI

AIGUI is an MCP server for coding agents that renders charts, diagrams, mathematical visuals, 3D scenes, and more as images or interactive pages. It also checks drawings, can derive topologies from deployment files, and supports custom block types.

Key features

  1. 01Render charts, diagrams, and 3D scenes
  2. 02Open interactive pages and export files
  3. 03Edit pages and read user comments
  4. 04Generate topologies from deployment configs
  5. 05Add custom drawing blocks

Use cases

  1. 01Visualizing data and technical concepts
  2. 02Reviewing infrastructure from deployment manifests
  3. 03Refining a generated page from user feedback

MCP support

AIGUI exposes drawing, page editing, export, topology, and feedback tools through an MCP server. It can run over stdio for MCP clients or be embedded programmatically.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"liliang-cn-aigui": {
"command": "npx",
"args": [
"-y",
"@ai-gui/mcp"
]
}
}
}
Run commandnpx -y @ai-gui/mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@ai-gui/mcp0.49.0

Tools

7

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
blocksarrayNoBlock names to get the syntax for, e.g. ["chart", "scene"]. Omit for the list.
localeenumNoLanguage of the guidance. Default en.en | zh-CN

Details

From the project README

@ai-gui/mcp

npm license CI

Let your coding agent draw. An MCP server — and the engine of the AIGUI plugin for Claude Code and Codex — that turns charts, diagrams, maths, 3D scenes, molecules, orbits, dashboards and step-by-step infrastructure topologies into PNGs the agent can check, or a live page in your browser.

A failover topology, drawn and played by the agent

Live demos · Source · All packages

Install

Claude Code — the plugin also brings the skills that tell the agent when a picture beats text:

/plugin marketplace add liliang-cn/aigui
/plugin install aigui@aigui

Codex:

codex plugin marketplace add liliang-cn/aigui
codex plugin add aigui@aigui

Any MCP client — run aigui-mcp over stdio:

npm install -g @ai-gui/[email protected]
claude mcp add aigui -- aigui-mcp

Requires Node.js 18.11+. The first drawing downloads a headless browser (about 100 MB, once); everything runs locally, with no account or API key.

What it draws

Chart3D scene
MoleculeOrbits

21 block types: ECharts charts (3D too), Mermaid, KaTeX, dashboards and data walls, 3D scenes, molecules from SMILES, orbits and collisions, topologies whose steps play, knowledge graphs, geometry, function plots, optics, mechanics, labelled figures, candlesticks, tables and more. Nine of them render straight to PNG; all of them draw in a page.

Tools

ToolWhat it does
aigui_guideLists the blocks, or returns the exact syntax for the ones named — read before writing a block.
aigui_renderDraws the blocks in a markdown string as PNGs, returned to the agent and saved to disk.
aigui_openOpens the whole answer as a live page: charts to hover, 3D to turn, topologies and walls that play.
aigui_editChanges part of a page by find-and-replace, without sending the whole answer again.
aigui_exportSaves a page as PNG, PDF, one self-contained HTML file, or a GIF / WebM of it playing.
aigui_topologyDraws a system from its docker-compose file or Kubernetes manifests.
aigui_feedbackReads the comments the user left on a page's blocks.

Why it can be trusted

  • Numbers come from your files. Pass data: {"sales": "/abs/path/sales.csv"} and write {"$data":"sales","column":"revenue"} in the chart — or pick, sum, count, max, min, avg. The figures are read from the file, never retyped by the model, and the result names the file behind each block.
  • Every drawing is checked. A headless browser looks for labels on top of each other, text cut off or under 9 px, poor contrast and crowded charts, and tells the agent to fix them before you see anything.
  • Topologies from real config. aigui_topology reads what is actually deployed, not what the model remembers.
  • Local. Pictures go to ~/.cache/aigui/images, pages to ~/.cache/aigui/pages, listed newest first in pages/index.html. A page loads nothing from the network.

Custom blocks

Add your own block type in three files — no build step, no fork:

npx @ai-gui/cli plugin new ticket   # writes ~/.config/aigui/plugins/ticket/
FileWhat it is
aigui.jsonName, fences, a one-line description, whether it may render to PNG
plugin.jsA plain browser script registering an AIGuiPlugin: (globalThis.__aiguiPacks ??= {}).ticket = (theme, still) => [...]. Its HTML is sanitized like any plugin's.
spec.mdThe rules the model follows to write the block

It then appears in aigui_guide as [custom] and draws in pages, PNGs and exports. Blocks installed when a session starts are named in the tool descriptions too: in a measured run, agents used a custom block in 9 of 9 sessions with that, against 5 of 9 without. A broken folder is skipped with its reason; a name that collides with a built-in block is refused.

Comments from the page

While the session runs, pages are served on 127.0.0.1 (a port the system picks) with a Comment button: pick a block, say what should change, send. The agent reads it with aigui_feedback and edits the page. Only the pages directory is served.

Configuration

VariableEffect
AIGUI_OUT_DIRWhere pictures and pages go. Default ~/.cache/aigui (XDG_CACHE_HOME honoured).
AIGUI_NO_OPEN=1Write pages without opening them.
AIGUI_OPEN_IMAGES=1Also open aigui_render's PNGs in the image viewer — the plugins set it, since a terminal cannot show images.
AIGUI_PLUGIN_DIRWhere custom blocks live. Default ~/.config/aigui/plugins.
AIGUI_NO_BROWSER_DOWNLOAD=1Skip the headless-browser download; draw with an installed Chrome or Edge.
AIGUI_BROWSER_CHANNELPin a browser: chromium, chrome or msedge.

Programmatic use

import { createServer, callTool, renderToContent, writePage } from "@ai-gui/mcp"

createServer() returns the McpServer unconnected, for a host with its own transport; callTool(name, args) runs one tool directly.

License

MIT © Liang Li

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.