com.slickfast/mcp

Official registry Other

JSON in. Chart or Page out. Same picture forever. Scientific plots included.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http com-slickfast-mcp 'https://mcp.slickfast.com/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "com-slickfast-mcp": {
            "type": "http",
            "url": "https://mcp.slickfast.com/mcp"
        }
    }
}
NPM package @slickfast/mcp
Claude Code
claude mcp add com-slickfast-mcp -- npx -y @slickfast/mcp@0.7.35
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "com-slickfast-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@slickfast/mcp@0.7.35"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. SlickFast
  2. This project's pulse — a LIVE chart, right here in the README
  3. The range — two boards, two renders
  4. Prove it yourself
  5. Quick start (MCP)
  6. How to keep a Page
  7. Why agents pick SlickFast
  8. What's in this repo
  9. Build & verify from source
  10. Contributing
  11. License

SlickFast

A deterministic render engine. Spec in, same bytes out. Forever. Charts, boards, and whole Pages. No headless browser.

↑ Engine output — one JSON spec, one image. Get this exact board on your README with the dashboard template (teal-hero layout).

Local MCP is free forever. A public URL is a plan (free key is enough to learn).

The spec is the chart. A pagespec is a Page. Add .json — that’s the twin. The hash is on the page. Don’t trust us. Check the math.

This project's pulse — a LIVE chart, right here in the README

The dashboard below is not a screenshot. It's a SlickFast live chart: a permanent image URL whose numbers update on their own. A scheduled job pushes fresh stats; every visitor sees current data. Live Charts — embed once, update forever.

The range — two boards, two renders

A seller ops board (funnel, bullet graph, goal ring, gauge, calendar heatmap, leaderboard — demo data):

And the board that explains the engine — it times its own render into its title:

Prove it yourself

Don't take the speed or determinism claims on faith — run the benchmark on your own machine:

git clone https://github.com/SlickFast/slickfast && cd slickfast
node scripts/bench.mjs

It renders all 47 chart types, times each, runs a 10,000-chart throughput burst, and double-renders everything to verify byte-identical output. On an M1 Max: median 15µs per chart, ~140,000 renders/sec, 47/47 deterministic. Your numbers are your numbers.

Quick start (MCP)

One-click:

Add to your MCP client config (Claude Code, Claude Desktop, Cursor, …):

{
  "mcpServers": {
    "slickfast": {
      "command": "npx",
      "args": ["-y", "@slickfast/mcp"],
      "env": { "SLICKFAST_API_KEY": "SF-…" }
    }
  }
}

Omit env to stay local-only (draw free forever). Add a free key from slickfast.com when you want a live URL, share, or a published Page.

Then: get_started → news → gallery → one render_chart. Full tool docs: apps/mcp/README.md.

How to keep a Page

“Save it” is two jobs. On disk: render_page + keep the pagespec JSON (no key). In the world: publish_page (SF- key) → pages.slickfast.com/s/… + .json twin. The hash is on the page. Find it later with my_pages.

Why agents pick SlickFast

  • Deterministic — same spec, same bytes. Cacheable. Testable.
  • Cheap tokens — a few dozen tokens of JSON beat hundreds of matplotlib / SVG retries.
  • One-field edits — swap type, palette, size; re-render. No code rewrite.
  • Pages = shareable memory — agent output → Page → twin → hash on the page. Not stuck in chat.
  • No headless browser — pure in-memory SVG → PNG (and Page HTML).
  • 47 types + tiled dashboards in one call.
  • Loud errors — bad enum / unknown palette lists the valid options.
  • Local by default — nothing phones home from the MCP package.

What's in this repo

PathWhat it is
packages/render-core/The engine: pure (spec) → SVG string. All 47 types, the type registry, SPEC.md (the spec contract), examples, gallery, and the golden snapshot net.
packages/palette-core/The color library: palettes, nested themes, WCAG contrast, tokens.
packages/raster/SVG → PNG rasterization (resvg).
packages/fonts/The swappable font layer.
packages/sci-core/Scientific charts: scatter, errorbar, lineplot, barplot, survival, Bland–Altman, Q–Q, volcano — log axes and curve fits. README
apps/mcp/The MCP server published as @slickfast/mcp — a thin surface over the engine.
apps/api/The hosted HTTP API — API.md is the how-to-call-it guide (no MCP needed: curl, <img src>, any language), openapi.yaml the machine-readable contract. Live at api.slickfast.com; free tier at slickfast.com.
scripts/The safety net: golden checks, registry-drift check, 323-case torture suite, palette hex check.
templates/Ready-made spec presets.

Build & verify from source

cd apps/mcp && npm install && npm run build     # builds dist/index.js
cd ../../packages/raster && npm install          # native resvg binding (PNG)

# from the repo root — the full safety net:
node packages/render-core/generate.mjs --check   # golden snapshots (all types)
node packages/sci-core/golden/generate.mjs --check # sci-core golden snapshots
node packages/sci-core/verify-stats.mjs           # sci-core statistics checks
node scripts/check-surfaces.mjs                  # type-registry drift check
node scripts/torture.mjs                         # 323 empty/edge-case renders
node scripts/check-palettes.mjs                  # palette hex validation

The engine is pure and deterministic by contract: no IO, no Date.now(), no Math.random() in drawing code, and nothing ships without a snapshot test.

Contributing

  • Bug reports and feature requests are the best way to contribute — please use the issue templates. The MCP's built-in report_issue tool writes a ready-to-paste report for you.
  • Day-to-day development happens in an internal tree and releases are published here, so a PR may be ported in rather than merged directly — you'll be credited either way. For anything non-trivial, open an issue first so we can agree on the shape.

License

AGPL-3.0-only. Local MCP is free. Closed commercial products (embed or self-host without AGPL) need a commercial license from $99/year: slickfast.com/license.html · licensing@slickfast.com. Hosted API / hosted MCP: slickfast.com/#pricing.

Frequently asked questions

What is com.slickfast/mcp?

JSON in. Chart or Page out. Same picture forever. Scientific plots included.

How do I install com.slickfast/mcp?

It runs as a remote server. In Claude Code: claude mcp add --transport http com-slickfast-mcp 'https://mcp.slickfast.com/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does com.slickfast/mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is com.slickfast/mcp open source?

Yes. Its code is on GitHub under the AGPL-3.0 license.

Who maintains com.slickfast/mcp?

It is published by SlickFast. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.