Create data-rich artifacts with Claude, Cursor, Gemini, Codex
Your agent builds something in a folder and deploys it to a live URL in seconds. Real people open it on their phones, use it, and what they do flows back to the agent that built it.
claude mcp add --transport http super-artifacts \
https://api.superart.page/mcpOne MCP URL, one consent click, and your agent publishes at a URL a reviewer opens on a phone.
Any artifact made from trackers
A live trackers demonstration plays here. Placeholder for now — the demo artifact slots in when it is recorded.
A form a visitor fills over time, and the history builds behind it — declared as measurements, so the units are checked at the edge.
Build me a workout tracker that collects sets, weight and reps, and shows my history. Deploy it and send me the link.Getting Started
The first artifact an agent publishes after pairing. It carries its own runtime, so the agent interviews the person, fills in twelve slots, and publishes — writing no HTML. Shows the whole arc: they ask, you build, it is live, it collects, it comes back to you.
Build me a Getting Started page from the Super Artifacts `getting-started` template. 1. Call `super_get_template` with slug `getting-started` and read its guidance. **The runtime already exists — you are not writing HTML.** 2. Interview me first, in **one message**: what to call me and what I do, what I already run, the first thing I'd want built, anything I'd want to track or collect from other people, and whether I'll read this on a phone. 3. Fill the slots from my answers. Do not invent entries for tools I did not mention — leave `stack` out entirely rather than guessing. 4. Publish with `super_publish_from_template`: - `template` — `getting-started` - `slug` — something that names what you are offering me, not the act of introducing yourself. Not `getting-started`, not `hello`. - `values` — the filled slots. - `dataset` — a key of your choosing for this artifact. The series is fixed by the template and must not be overridden. 5. Give me the URL and the account handle it published to, in two lines. 6. When I have answered the question on it, call `super_get_responses` and tell me what I picked. If you have a shell instead of MCP, step 4 is one request: `POST {api}/deploy/from-template` with the same fields and your key in the `Authorization` header.Live Questionnaire
Mentimeter-style: a host asks, an audience answers on their phones, and the room watches the result build. Submit-then-refresh in this version — live streaming is not in phase 1.
Build me a live questionnaire from the Super Artifacts `live-questionnaire` template. 1. Call `super_get_template` with slug `live-questionnaire` and follow the guidance before writing any HTML. 2. Build a compatibility sample from the template's `sample` data and show me that first — both views, the phone one and the projected one. 3. Once I confirm, fill in the real questions. 4. Publish with `super_publish`, passing the template's declaration as `policy` and `template: { slug: "live-questionnaire", version: 1 }` as metadata. 5. Give me two URLs if the host view is a separate route, and tell me plainly that results update on refresh rather than live.Pull Request Video Overview
A strip of key changes, each its own short video with a seekable chapter list. One artifact per pull request, a new version each time the agent has more to show. Reviewers comment against the beat on screen.
Build me a pull request video overview from the Super Artifacts `pr-video-overview` template. 1. Call `super_get_template` with slug `pr-video-overview`. Read `spec.renderer` first: **the player already exists and you are not writing HTML.** 2. Split the pull request into **key changes** — one per thing a reviewer should know about, not one per commit. Record a short video for each, and note the beats inside it as chapters with their offsets *within that file*. 3. Fill the manifest described by `spec.renderer.manifestShape` and inject it into the renderer's `<script id="manifest">` block. 4. Publish it in one `super_publish` call: - `html` — the filled renderer. - `files` — one entry per recording, `{"path": "<the file name that change names>", "content": "<base64 of the mp4 bytes>", "contentType": "video/mp4"}`. Base64 the real bytes; a URL or a `data:` URI is refused, and `index.html` does not go in this list because it comes from `html`. - `policy` — `spec.declaration`, unchanged. Without it the player renders its comment box and has nowhere to put what a reviewer writes. - `template` — `{"slug": "pr-video-overview", "version": 3}`. 5. Give me the URL. Publishing again for the same pull request should reuse the same slug so it lands as a new version rather than a second link. 6. When reviewers have commented, call `super_get_responses` and summarise what they said, grouped by change and chapter. Keep each file under the per-file size limit the deploy reports. A recording that is too long is two key changes, not one bigger file.Slideshow
A deck a visitor advances through — keyboard, swipe and click — with a contents view and a progress indicator. Collects nothing by default.
Build me a slideshow from the Super Artifacts `slideshow` template. 1. Call `super_get_template` with slug `slideshow` and follow the guidance it returns before writing any HTML. 2. Build a compatibility sample from the template's own `sample` data and show it to me first. 3. Once I confirm, fill the slots with the real content. 4. Publish with `super_publish`, passing `template: { slug: "slideshow", version: 1 }` as metadata. This deck collects nothing, so send no `policy`. 5. Give me the URL.Survey
A finishable set of questions with a single submit, per-question validation, and a thank-you state. Answers land in a declared schema the agent reads back.
Build me a survey from the Super Artifacts `survey` template. 1. Call `super_get_template` with slug `survey` and follow the guidance before writing any HTML. 2. Build a compatibility sample from the template's `sample` data and show me that first. 3. Once I confirm, replace the questions with the real ones and extend the declaration so every question has a matching field — keeping `dataset.series` as `survey`. 4. Publish with `super_publish`, passing that declaration as `policy` and `template: { slug: "survey", version: 1 }` as metadata. 5. Give me the URL, and read the answers back with `super_get_responses` when I ask.Workout Tracker
Enter sets over time and see the history build. Declares load and reps as measures in base units, so a month of separate trackers answers as one question.
Build me a workout tracker from the Super Artifacts `workout-tracker` template. 1. Call `super_get_template` with slug `workout-tracker` and follow the guidance before writing any HTML. 2. Build a compatibility sample from the template's `sample` data and show me that first — including the empty state. 3. Once I confirm, fill in the real exercises and the unit I lift in. 4. Publish with `super_publish`, passing the template's declaration as `policy` and `template: { slug: "workout-tracker", version: 1 }` as metadata. Keep `dataset.series` as `workout` so this week aggregates with the others. 5. Give me the URL.
- Claude Code
claude mcp add --transport http super-artifacts https://api.superart.page/mcp - CoCodex
codex mcp add super-artifacts --url https://api.superart.page/mcp - Cursor
Add a remote MCP server named super-artifacts at https://api.superart.page/mcp. - Claude Desktop
Add a custom connector named Super Artifacts pointing at https://api.superart.page/mcp, then sign in. - Gemini CLI
Add the MCP server at https://api.superart.page/mcp and run its OAuth login. - AsAny skill agent
curl -sS https://superartifacts.app/skill/SKILL.md and follow it; set SUPER_ARTIFACTS_KEY in the environment.
Your first artifact is one conversation away
Connect an agent, describe what you want, and it is live at a URL a reviewer opens on a phone.
Get started for free