The spec is the product

Agents still cannot draw. We give them a spec that is the image — and a page that is the spec.

A small JSON spec becomes a chart, a whole dashboard, or a Page on the internet. Same spec, same bytes, forever. No headless browser. Humans open the URL. Agents fetch the .json twin. The fingerprint is on the page.

Local MCP is free forever — charts and dashboards on your machine, no key. A public Page or hosted chart URL uses a key. Free Pages last 7 days and carry a watermark; paid Pages stay. Hosted links are unlisted, not private — anyone with the URL (and the .json twin) can see it.

SlickFast's own live pulse dashboard — real npm downloads, GitHub stats, CI health and commit activity, updating automatically
This image is live. Our real numbers right now — npm, CI, commits. Nobody re-uploads it. Charts and boards in the gallery ↓
Pages

A Page is a whole web document from one spec.

This homepage is not one. A SlickFast Page is: headline, words, charts, layout — published to a URL. The button below takes you to a real one. On that address, add .json for the twin (the recipe). The fingerprint at the bottom of the Page must match it. Free Pages last 7 days and show a watermark. Paid Pages stay. The link is unguessable, not private — anyone who has it can open the Page and the twin.

1 · Picture
The spec is the thing

Data and design in one JSON. The engine draws it. Same spec, same picture, byte for byte, forever.

2 · Page
A whole web document

Hero, prose, charts. Publish it. Humans get a URL — the link above is one of those.

3 · Twin
That URL + .json

Not an export. The twin is the page. Fetch it, check it, remix it.

4 · Fingerprint
The hash on the Page

Visible in the chrome. If it matches the twin, nothing changed. If it doesn’t, something did.

Live examples

Open the Page. Add .json. Look at the bottom.

Each of these is a real Page. The fingerprint in the chrome must match the twin.

Try it

A chart needs no key. A public Page does.

Connect local MCP, then ask. Hosted MCP (claude.ai and cloud agents): paste mcp.slickfast.com — that path is metered like the API.

On your machine — no key

After MCP is connected:

“Show me the SlickFast gallery.”

“Render a bar chart of Q1: Jan 42, Feb 58, Mar 71.”

Or call get_started, then news.

On the internet — SF- key

Publish needs a key (free tier is fine):

“Publish a SlickFast Page with that chart, a headline, and a short note.”

You get a URL. Add .json. Free Pages last 7 days and show a watermark. Paid Pages stay.

Live Charts

Embed once, update forever.

A live chart is a permanent image URL whose numbers update on their own. Create it once, embed it anywhere an image works — README, dashboard, email — then push new data whenever it changes. Every copy, everywhere, updates. SVG median in the public bench is about 15 microseconds; that is the engine clock, not the network.

SlickFast's own live pulse dashboard — real npm downloads, GitHub stats, CI health and commit activity, updating automatically
This image is live. These are our real numbers, right now — npm downloads, CI, commits — refreshed automatically by a 20-line script. Nobody re-uploads this image. Yours can do this.

The whole trick, in three lines:
1 · Create — one call stores your chart and returns its permanent URL.
2 · Push — your script (or your AI agent) sends fresh numbers whenever they change.
3 · Done — every embed of that URL shows the latest data within seconds of a push. Viewers need no key, and views are never metered — unlimited audience on every plan.

The agent is the sensor. Tell an agent "watch our signups and keep the chart current." If an agent can see it, your chart can show it, live.

The Pulse Deck — a live instrument panel where every gauge, odometer and chart moves every 3 seconds: latency probes, Wikipedia's edit stream, the ISS, markets
The Pulse Deck. Every needle moves every 3 seconds — latency probes, Wikipedia's live edit stream, the ISS, markets. One image URL doing all of it.

Dashboards are dynamic tiling. Every board on this page is one JSON spec — a list of tiles, each tile a chart, each chart a span.

Why it matters

A document an agent publishes should be checkable.

Most tools draw a picture and throw the recipe away. SlickFast keeps the recipe. The spec is the chart. A pagespec is a public page. The hash is on the page. The twin is at .json. That is the whole trick — verifiable documents, not a screenshot of a hidden browser.

Pricing

Simple plans, metered in renders.

A render is one chart, one dashboard, or one Page draw. CDN-cached — one render can serve any number of views.

Using SlickFast with your agent? That's free.

The local MCP runs on your machine — free forever, unlimited renders, all 47 types, no account, no card, nothing sent anywhere. The plans below are for the hosted API and our MCP server: public chart URLs, live charts, and Pages. If you never need a public URL, you never need a plan.

Free

$0/mo
250 renders/mo · 5 live charts
  • All 47 types + dashboards
  • SVG & PNG output
  • Shareable chart URLs, CDN-cached
  • 5 live charts — views free & unlimited
  • 5 Pages at a time — 7 days + watermark
  • No card required
MOST POPULAR

Pro

$29/mo
10,000 renders/mo · 25 live charts
  • Everything in Free
  • 25 live charts + watermark removed
  • 25 Pages — permanent
  • Room for real agent workloads
Get Pro

Scale

$79/mo
50,000 renders/mo · 100 live charts
  • Everything in Pro
  • 100 live charts, watermark-free
  • 100 Pages — permanent
  • Built for fleets of agents
Get Scale

What counts as a render? Only drawing a new chart or Page. Each unique draw counts once — after that, every view of its URL is served from cache, free and uncounted. A million people can look at the same chart and your meter ticks once. You pay when we draw — not every time someone looks. Change the data and that's a new render; a chart may occasionally re-render (first views from a new region, or after long inactivity) — a few extra ticks, not per-view billing.

Live charts: creating one or pushing new data counts as a render — but views are free and unlimited on every tier. Your audience is never metered. Quotas reset monthly; if you hit yours, creates and pushes pause but your embeds keep serving the last data. Live charts belong to your account — rotate keys freely, your charts follow you.

Unlisted ≠ private. Live charts, Pages, and share URLs use hard-to-guess links — anyone with the link can view them, and Pages expose a .json twin. Don’t host secrets. Details: Privacy.

Need more than 50k renders? Write to feedback@slickfast.com. Want the engine inside your own product? See commercial licensing.

Install

Three doors: local MCP, our MCP server, or the API.

Local renders on your machine via npx — no clone, no build, nothing leaves the machine. Hosted MCP is the same tools over a URL. The API turns a spec into a public image URL.

Local MCP

Claude Desktop · Claude Code · Cursor — config, restart
{
  "mcpServers": {
    "slickfast": {
      "command": "npx",
      "args": ["-y", "@slickfast/mcp"]
    }
  }
}
npx -y @slickfast/mcp — no clone, no global install. Charts on the machine need no key.

Our MCP server

claude.ai · cloud agents — paste the URL
https://mcp.slickfast.com/mcp
Same tools as local. Metered on the same plans as the API. Sign in with a key, free tier, or demo.

API — the URL is the chart

Bearer key · SVG & PNG
SPEC='{"type":"bar","data":{"labels":["Q1","Q2","Q3"],
       "series":[{"values":[12,19,8]}]}}'

curl "https://api.slickfast.com/chart.png?spec=$(jq -rn --arg s "$SPEC" '$s|@uri')" \
  -H "Authorization: Bearer sf_your_key" \
  --output chart.png
Keys start with sf_. Bearer, X-API-Key, or ?key=. /chart.svg returns vector.

One-click installs

Add SlickFast MCP to Cursor Install SlickFast MCP in VS Code

Where does the config go?

Try this first

Once it's connected:

"Call get_started, then show me the gallery, then render a dashboard with an MRR tile, a funnel, and a heatmap."

Smaller first step: "render a bar chart of last quarter's revenue", or "what's new — call news".

Not seeing it? Quick fixes
  • Restart the app after editing the config — MCP servers only load at startup.
  • Needs Node.js (v18+). Check with node -v; install from nodejs.org if it's missing.
  • First run is slownpx downloads the package once, then every run is instant.
  • The JSON must be valid — one stray comma breaks the whole config. Paste the block exactly.
  • Still stuck? Open an issue — we read every one.
License

Free and open source.

SlickFast is open source under AGPL-3.0. Using it with your agent is free, the charts you make are yours, and running it in-house is free. Want SlickFast inside a commercial product or service? Simple per-app commercial licenses start at $99/year — no license keys, no hoops.

Roadmap

What's next.

SHIPPED ✓
Pages

A pagespec is a whole public document. Twin at .json. Fingerprint on the page. News is one ↑

SHIPPED ✓
Live Charts

One chart URL, always current — embed it anywhere an image loads. It's live ↑

SHIPPED ✓
Hosted MCP — SlickFast on claude.ai & cloud agents

No install: paste mcp.slickfast.com into claude.ai or your cloud builder. Same tools as the local MCP, metered on the same free tier.

SOON
Charts for Email

A chart in the inbox that's current at every open, not a stale screenshot — weekly-numbers emails, usage digests, newsletter data-viz.

SOON
Playground

Edit a spec in the browser and watch the chart re-render as you type.

ONGOING
More types, palettes & board layouts

The engine grows steadily — 47 types today, and the tiling system keeps getting more expressive.

Docs

Doors, then the contract.

Start on a Page. Spec details live in the repo.