npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@slickfast/mcp

v0.7.37

Published

Deterministic chart and dashboard engine for AI agents. JSON in, PNG or SVG out in milliseconds, no browser. Same data, same bytes. Local MCP is free.

Readme

SlickFast — charts and dashboards as images, no browser

npm version npm downloads license MCP

A deterministic chart engine for AI agents and apps. JSON in, SVG or PNG out in milliseconds. The same data always gives the same image, byte for byte. Send the picture anywhere: chat, email, Slack, READMEs, PDFs, e-ink screens.

npx -y @slickfast/mcp    # local MCP server — free, no key

⚡ Live: SlickFast's own project stats, updating on a schedule. The same trick works in your README:

SlickFast live pulse — real project stats, updating automatically

What people use it for

  • AI agents that need to show a chart — Claude, Cursor, any MCP client
  • Live chart images in READMEs and emails that update when the data does
  • Whole dashboards in one call, as one image
  • Alerts and reports with the graph included
  • E-ink and wall screens (TRMNL)
  • Scientific plots — real log axes, survival (Kaplan–Meier), volcano, Q–Q, Bland–Altman

Why it's different

  • No browser. One small process, milliseconds per chart, runs anywhere — even a Raspberry Pi.
  • Deterministic. Same input, same bytes: cacheable, testable, and verifiable by fingerprint.
  • Cheap for agents. A few dozen tokens of JSON instead of plotting code that fails and retries.
  • Loud errors. A bad option lists the valid ones, so agents fix it on the next try.
  • Local by default. Nothing leaves your machine until you ask to share or publish.
render_chart({ type: "bar", data: { labels: ["Q1","Q2","Q3"], series: [{ values: [12,19,8] }] } })
  → PNG or SVG, on your machine

47 chart types plus 8 scientific types, and dashboards that tile any of them into one image. Browse them with gallery; ask describe_type for any type's exact shape.

Install

One click: Add to Cursor Install in VS Code

Or add it to your MCP config and restart:

{
  "mcpServers": {
    "slickfast": {
      "command": "npx",
      "args": ["-y", "@slickfast/mcp"]
    }
  }
}
  • Claude Desktop — Settings → Developer → Edit Config
  • Claude Code — claude mcp add slickfast -- npx -y @slickfast/mcp
  • Cursor — Settings → MCP, or ~/.cursor/mcp.json
  • claude.ai — Connectors → add custom → https://mcp.slickfast.com

Needs Node 18+. Then just ask: "get me started", "show me what SlickFast can do", or "make a dashboard of…".

Free vs. key

| | No key | Free key | Paid | |---|---|---|---| | Draw charts and dashboards on your machine | ✅ forever | ✅ | ✅ | | Public chart URLs, live charts that update | — | ✅ 250 renders/mo | more | | Publish a Page (shareable web document) | — | 5 live, 7 days, watermark | permanent |

Get a free key at slickfast.com — email only, no card. Add it to the config as "env": { "SLICKFAST_API_KEY": "SF-…" }.

Three ways to use it

| | How | Key? | |---|---|---| | Local MCP | npx -y @slickfast/mcp | No | | Hosted MCP | https://mcp.slickfast.com/mcp | Free or paid key for sharing | | HTTP API | https://api.slickfast.com | Free or paid key |

Tools

  • render_chart(spec) — a chart or dashboard as PNG (default) or SVG. Dashboards: type: "dashboard" with tiles: [{ chart, span }].
  • describe_type(type) — the exact data shape, a minimal example, and gotchas for any chart type.
  • gallery() — example charts and boards.
  • list_palettes() — color palettes with a swatch preview.
  • share_chart(spec) — a public, optionally live chart URL (free key).
  • read_chart(url) — get the exact spec behind any SlickFast chart URL.
  • render_page(pagespec) / publish_page(pagespec) — a whole designed web page (hero, text, charts) as local HTML, or published at a URL (free key).
  • describe_pagespec() — the page format.
  • my_pages() — pages you've published (needs key).
  • push_to_trmnl(spec, webhook_url) — send a chart to a TRMNL e-ink display.
  • get_started() / news() — onboarding, and what's new.
  • mcp_status() — version and whether a key is set.
  • report_issue(summary) — drafts a GitHub issue or email for you to send. Nothing is sent automatically.

Pages and the JSON behind them

Every published chart and Page has its exact spec one step away: add .json to the URL. People open the page; agents read the JSON. Each page shows a fingerprint (hash) of its spec, so anyone can check the picture matches the data. Hosted URLs are unlisted, not private — anyone with the link can open them (Privacy).

To keep a Page on your machine, ask for a local Page (render_page with outputPath) and keep the JSON beside the HTML. To put it online, ask to publish it.

Seeing the picture

  • Prefer format: "svg" where the chat shows artifacts (claude.ai, Claude Desktop).
  • format: "png" depends on the client showing MCP images, which varies.
  • If numbers came back but no picture appeared, the chart rendered — the client just didn't display it. Use SVG, outputPath, or share_chart for a URL.

License

AGPL-3.0-only. Free to use. Closed commercial products that embed or self-host SlickFast without AGPL need a commercial license, from $99/year: slickfast.com/license.html · [email protected]. The hosted API and hosted MCP are priced separately (pricing).

Feedback

GitHub issues · [email protected] · or say "report this as a SlickFast issue".

Developing locally

cd apps/mcp
npm install
node test-client.mjs

Point a client at a checkout: "command": "node", "args": ["…/apps/mcp/server.mjs"].