Artifact Hub GitHub

Any AI tool can publish.
You review.
The work stays on your server.

Artifact Hub is a self-hosted alternative to claude.ai artifacts. Any MCP client can use it, from Claude to an agent you wrote yourself. The AI publishes versioned pages and design canvases. You and your team open them in the browser and comment on the page. The AI reads each comment and replies.

Self-host it View the source

MIT licensed. One Docker image, one SQLite file.

Northwind: pricing, onboarding, dashboard
Artifact Hub showing a pricing page board. A review comment is pinned to the Most popular tag and the agent's reply is open under it.

A comment pinned to the “Most popular” tag. The AI has already replied.

One review loop, shared with the AI

  1. Publish

    Ask your AI tool for a page or a design canvas. The result shows up in the hub as soon as it is done. Every change is saved as a new version, and you can go back to an earlier one.

  2. Comment

    Open the link, click any element and say what is wrong. The thread stays attached to that element, also on newer versions.

  3. Answer

    The AI reads the open comments, replies, fixes the page and marks the thread as resolved. It can also wait for new comments while you review.

Boards on a canvas

Boards sit side by side on an infinite wall. You can pan and zoom, focus one board, or present them in order. The owner edits in place with layers, properties and free placement, like in a design tool.

Every board is isolated from the rest of the app, so a page the AI wrote cannot reach your account or your other work.

Three boards on the Artifact Hub canvas: a pricing page, a mobile onboarding screen and a dashboard.

Click dummies you can test

Wire boards into a clickable prototype with plain attributes, or with the editor's Prototype panel. Hotspots go to another board with a fade or slide, and a back button returns. A menu, tab or card can have states for hover, press and open.

Selects, radios and checkboxes can drive those states. An action can depend on a field: go to the cart only if the e-mail is valid and the terms are checked. Dialogs, drawers, sheets and popovers open over a board, and the flow view draws every link between boards.

Four boards of a shop prototype on the canvas, joined by arrows: a solid arrow for a link between screens, a dashed one for a sheet that opens over a board.

Sharing, teams and access

Share links
View-only or comment links. Guests leave an e-mail, no account needed. Revoke a link any time.
Members and roles
Roles are owner, editor and commenter. Invite people by link. They sign in with a password, a passkey or GitHub.
Control what the AI may do
When you connect a tool, you choose what it may do: read, comment, publish and edit, or share. It never gets more rights than you have.
Workspaces and shared files
Group artifacts. Upload tokens.css or a font to a workspace once, and every board in it links to the same file.
Form states and checks
A select, radio or checkbox can switch a component state. A form can show an error until the e-mail is valid, with no script.
Interactive pages
Pages the AI builds can do more than look nice. A poll counts votes from everyone, and a notes page remembers what you typed.
Export and import
Boards as PNG, SVG, WebP or JPEG, whole artifacts as .zip. Imports exports from Claude Design.

It is yours

The database is one SQLite file in a volume you control. Accounts, share links and the access you gave your AI tools all live on your server, and no third-party service stores your work. The first account is the owner. After that, people join by invitation only.

Run it yourself

Docker
docker run -d --name artifact-hub -p 3000:3000 \
  -v artifact-hub:/data \
  -e NUXT_BASE_URL=https://hub.example.com \
  ghcr.io/czepter/artifact-hub:latest
From source
git clone https://github.com/czepter/artifact-hub.git
cd artifact-hub
npm install
npm run dev   # http://localhost:3000
  1. Open the hub and create the owner account on the sign-in page.
  2. Serve it over HTTPS and set NUXT_BASE_URL to the public address.
  3. In your AI tool, add https://hub.example.com/mcp as an MCP server (in Claude: a custom connector) and approve the consent screen.

Environment variables, rendering, workspaces and the full API are in the README and the reference.