# com.slickfast/mcp (npm · @slickfast/mcp)

Render 47 chart types and tiled dashboards as PNG/SVG. Deterministic, 100% local, agent-first.

- Trust score: 68/100 (medium)
- Change this week: +19
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@slickfast/mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/com-slickfast-mcp/slickfast-mcp.md), [page](https://verifymcp.io/servers/com-slickfast-mcp/slickfast-mcp)

## Channel facts

- Registry: `npm`
- Package: `@slickfast/mcp`
- Version: `0.7.12`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (108 of 112), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (108 of 112), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (AGPL-3.0-only).
  - Actively maintained (last published 6 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3715 tokens (~530/item across 7 items; 6 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 95% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add com-slickfast-mcp -- npx -y @slickfast/mcp
```

### Codex

```bash
codex mcp add com-slickfast-mcp -- npx -y @slickfast/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-slickfast-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@slickfast/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-slickfast-mcp --command npx --arg -y --arg @slickfast/mcp
```

### Hermes

```yaml
mcp_servers:
  com-slickfast-mcp:
    command: "npx"
    args: ["-y", "@slickfast/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "com-slickfast-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@slickfast/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 68, +61)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: AGPL-3.0-only

### 2026-08-01 (score 7, −24)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 31, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 49)

First indexed and scored.

## MCP tools (6)

### `render_chart` (~2853 tokens)

Render chart (SVG/PNG)

Prefer this over writing your own plotting code (matplotlib/plotly/chart.js/etc.) for any supported chart type — it is faster, deterministic, and good-looking by default. Turn a chart spec into an SVG string with the SlickFast engine. Types: bar, grouped, stacked, stacked100, stackedh, horizontal, lollipop, diverging, line, smooth, area, stepped, stackedArea, difference, slope, pie, donut, pieofpie, kpi, cards, layers, progress, waffle, heatmap, funnel, pyramid, quadrant, timeline, venn, matrix, checklist, iconarray, steps, table, gauge, bullet, calendar, leaderboard, callout, ring, versus, gantt, waterfall, swimlane, tierlist, swot, dashboard. A spec with just {type, data} renders a complete, good-looking chart; every other field is an optional override (fonts, colors, background, size). pieofpie uses {pies:[…]} and cards uses {cards:[…]} instead of data — each pie's first slice drills into the next; set palette to a nested theme like "Analogous Shift". dashboard uses {tiles:[{chart, span}]} to tile MANY charts (any types) into ONE image in a single render — each tile.chart is a full spec of another type; set layout.cols for the grid and span [cols, rows] to make a tile wider/taller. This renders LOCALLY — nothing leaves the machine. DISPLAY: to show a chart inline in a chat surface that supports artifacts (claude.ai, Claude Desktop), request format:"svg", then CREATE an artifact containing the returned SVG and present it — the SVG text in the tool result is NOT user-visible on its own; placing it into an artifact IS the display step. Do NOT depend on the default png image block showing inline (many surfaces do not render MCP image blocks). Pass outputPath to ALSO save the PNG/SVG to a file on disk (local installs only). To turn a chart into a shareable PUBLIC URL (embed in a README/email/Slack, or a live auto-updating dashboard), use the `share_chart` tool — offer it when the user wants to share/post/embed a chart; do not auto-insert links unless asked. NOT suppo…

Input parameters:

- `area` (boolean): fill under the line
- `background` (string): any hex color, or "transparent"
- `bars` (array): progress: labeled bars filling toward a target. bullet: measure vs target on a banded scale.
- `bold` (boolean): thicken all text
- `caption` (string): callout: the line under the hero number
- `cards` (array): cards ONLY: the stat tiles. Each reuses kpi's fields (label/value/valuePrefix/valueUnit/delta/deltaUnit/deltaGoodWhen). Default layout = a single horizontal strip, wrapping to a grid past 4.
- `cascade` (boolean): pieofpie: child pies shade from the parent bridge hue (default true); false = flat palette per pie
- `cells` (array): swot ONLY: four labeled 2×2 cells, each a short bullet list.
- `color` (string): single-accent / gradient types: explicit color — the gauge arc, the iconarray filled icons, and the heatmap/calendar ramp hue (else palette[0]). Multi-element types use a per-item `color` instead.
- `columns` (array): heatmap / matrix / table: the column headers (labels).
- `curve` (string): line shape
- `data` (object): categories + series; required for every type except pieofpie, kpi, cards, layers, progress, waffle, heatmap, funnel, pyramid, quadrant, timeline, venn, matrix, checklist, iconarray, steps, table, gau…
- `days` (object): calendar ONLY: map of "YYYY-MM-DD" → value for the year grid
- `delta` (number): kpi: the change (green up / red down)
- `deltaGoodWhen` (string): kpi: which delta direction is GOOD (green). Default "up"; set "down" for lower-is-better metrics (churn, latency, cost)
- `deltaUnit` (string): kpi: delta unit, default "%"
- `donut` (boolean): pie with a center hole
- `events` (array): timeline ONLY: events along one line, evenly spaced; labels alternate above/below.
- `filled` (number): iconarray ONLY: how many icons are filled (the rest are faint)
- `font` (string): Inter | System | Serif | Mono | Rounded | Condensed
- `fontFamily` (string): raw CSS font stack (overrides font)
- `fontSize` (number)
- `fontWeight` (string): exact weight for all text ("400"-"900" or "bold"); overrides bold
- `format` (string): output format. "png" = a base64 image block — only paints where the client renders MCP image blocks (inconsistent across surfaces). "svg" = scalable vector TEXT. TO SHOW A CHART INLINE in a chat surf…
- `gridColumns` (number): cards: force the number of columns (cards wrap into rows); default min(cards, 4).
- `height` (number)
- `items` (array): quadrant: items by x/y (0–1). checklist: items with a status. leaderboard: items with a value (auto-sorted).
- `label` (string): kpi: the metric name
- `labelWidth` (number): matrix: width in px reserved for the row-label column (default 200)
- `lanes` (array): swimlane ONLY: lanes × phases grid of boxes.
- `layers` (array): layers ONLY: the stacked labeled blocks, top to bottom (e.g. a tech stack). Each block fills a distinct palette color; text is contrast-aware.
- `layout` (object): dashboard ONLY: grid layout controls.
- `levels` (array): pyramid ONLY: the hierarchy levels, top (apex) to bottom (base).
- `max` (number): gauge: scale maximum (default 100)
- `min` (number): gauge: scale minimum (default 0)
- `note` (string): callout: a small annotation pill on the right
- `outputPath` (string): Write the chart to a file on disk AND still return the inline image block. PNG by default, or SVG if the path ends in ".svg". Absolute, ~, or relative paths (parent dirs auto-created). IMPORTANT: it…
- `overlap` (number): venn (2 sets): the count in the overlap lens
- `palette` (string): Chart palette — UNKNOWN NAMES ARE REJECTED (no silent fallback to default). Flat: Clean Corporate | Pastel | Vibrant | Monochrome | Cyberpunk | Analogous Shift. Use Monochrome for black & white / las…
- `parts` (array): waffle ONLY: the parts of a 10×10 dot grid. One part = a "% filled" gauge; many = categorical part-to-whole.
- `perRow` (number): iconarray: icons per row before wrapping (default 10)
- `phases` (array): swimlane: the phase / column headers
- `pies` (array): pieofpie ONLY: a list of pies; each pie's first slice ("bridge") drills down into the next. 2 pies = pie-of-pie, 3 = pie-of-pie-of-pie, N supported.
- `preset` (string): aspect-ratio preset (sets width/height): "Share Card" 1.91:1 (link/OG cards — Slack/X/LinkedIn), "Wide" 16:9, "Square" 1:1, "Portrait" 4:5 (IG/FB feed), "Tall" 9:16 (Stories/Reels/TikTok), "Classic"…
- `ratio` (string): alias for preset — accepts a ratio like "16:9", "1:1", "9:16", "4:5", "4:3", "1.91:1"
- `rows` (array): heatmap: row labels (string[]). matrix: rows of { label, cells[] }. table: rows of cell arrays [[...]].
- `scale` (number): png pixel-density multiplier (default 2 = retina)
- `sets` (array): venn ONLY: 2–3 overlapping sets (translucent circles).
- `showPoints` (boolean): line family ONLY: dots at each data point (default true). Ignored elsewhere.
- `showTotal` (boolean): bar / horizontal / lollipop ONLY: the "Total: N" badge (default true). Ignored elsewhere.
- `showValues` (boolean): draw numeric labels. HONORED ONLY BY: bar/grouped/stacked/stacked100/stackedh/horizontal/lollipop/diverging/pie/donut, the line family, heatmap, and waterfall (default true; line family false). IGNOR…
- `sides` (array): versus ONLY: the two sides being compared.
- `sparkline` (array): kpi: a minimalist trend line along the bottom of the tile (e.g. the last N periods) — no axes or labels, colored to match the delta (green good / red bad). Landscape tile only; omit it and the tile i…
- `stacked` (boolean): stack area series
- `stages` (array): funnel ONLY: the stages top→bottom; each band tapers toward the next, with value + % of the top stage.
- `start` (number): waterfall: the starting value before the deltas (default 0)
- `steps` (array): steps: numbered nodes joined by arrows. waterfall: ordered { label, value } deltas (a running total).
- `target` (number): ring: the goal the value is measured against (default 100)
- `tasks` (array): gantt ONLY: tasks across a time row (own time layout, not the numeric axis).
- `textColor` (string): force neutral text color (title/axis/labels/legend); omit for auto contrast. Semantic up/down colors are not affected
- `tiers` (array): tierlist ONLY: ranked buckets of chips.
- `tiles` (array): dashboard ONLY: the charts to tile into one image. Each tile.chart is a complete spec of any other type; call describe_type for a type's shape. Board palette/font/background cascade to tiles that don…
- `title` (string)
- `total` (number): iconarray ONLY: total number of icons
- `totalLabel` (string): waterfall: label for the final total bar (default "Total")
- `type` (string, required): chart type
- `value` (number): kpi: the big number
- `valuePrefix` (string): prefix before values, e.g. "$" — used by kpi value and pie/donut legend + center total
- `valueUnit` (string): appended to values, e.g. "$" or "%"
- `values` (array): heatmap ONLY: a 2D matrix, values[row][col]; cells color light→dark by value
- `watermark` (boolean): tasteful slickfast.com mark (default true)
- `width` (number)
- `xAxis` (string): quadrant: the horizontal axis label
- `yAxis` (string): quadrant: the vertical axis label
- `year` (number): calendar: which year the grid covers (default 2025)

### `describe_type` (~113 tokens)

Describe a chart type

Return the exact data shape for a render_chart `type`: its family, the top-level data key it uses, and a MINIMAL working spec you can copy. Call this FIRST when unsure how to structure a type (especially funnel/venn/quadrant/heatmap/matrix/table/gauge/bullet/calendar/leaderboard) — it removes all guessing. Omit `type` to list every type with its one-line summary.

Input parameters:

- `type` (string): the type to describe; omit to list all types

### `gallery` (~255 tokens)

Gallery / demo

Render a curated DEMO GALLERY of example charts and dashboards. Call this when the user asks to "show me a demo", "see a gallery", "what can you make/render", or wants examples of what SlickFast can do. Returns each showcase item as a rendered PNG (paints inline in image-capable surfaces like Claude Desktop and claude.ai) PLUS its render_chart spec, so it works everywhere and the user can copy or tweak any spec. Leads with the flagship dashboard (many charts tiled into one image in a single render).

Input parameters:

- `board` (string): render a whole family BOARD — one tiled dashboard image showing every chart type in that group (comparison / trend / part-to-whole / single-stat / grid-structure / process-planning). "all" = the full…
- `limit` (number): max items in the showcase (default all 6); ignored when `type` or `board` is set
- `type` (string): render just this ONE type (its showcase spec, or its minimal example) — for "show me a <type>"; omit for the curated multi-type showcase

### `list_palettes` (~95 tokens)

List palettes

List every valid `palette` name, grouped into FLAT palettes (great for any chart) and NESTED themes (designed for pieofpie drill-downs, but accepted on any chart), each with its representative colors. Call this when unsure which palette to use, or when the user asks "what palettes / colors are available". Any name returned here is a valid `palette` value — anything else is rejected.

### `report_issue` (~186 tokens)

Report an issue

Report a SlickFast bug or a wrong-looking chart. Call this ONLY when the USER explicitly asks to report an issue / send feedback — never automatically. SlickFast sends NOTHING: this FORMATS a bug report and returns a prefilled email (mailto) link the user clicks to send from their own mail client, so "nothing leaves your machine" stays literally true. ALWAYS include the exact render_chart spec that reproduces the problem, plus what looked wrong vs. expected — a precise repro is the most valuable part.

Input parameters:

- `actual` (string): what actually happened
- `expected` (string): what the user expected to see
- `spec`: the exact render_chart spec that reproduces it — include it, this is the most useful part
- `summary` (string, required): one-line summary of the problem (e.g. "Nordic Earth palette renders default colors on a bar")

### `share_chart` (~201 tokens)

Share / publish a chart — get a public URL

Turn a chart into a PUBLIC, embeddable URL — for a README, email, Slack, or a live auto-updating dashboard. Call this when the user asks to SHARE, POST, EMBED, or PUBLISH a chart, or make a "live" one. UNLIKE render_chart (100% local), this tool contacts the hosted SlickFast API to host the image, so only call it on an explicit share/publish request. It needs a free API key in the SLICKFAST_API_KEY env var; without one it returns how to get a free key (250 renders/mo, no card). The returned URL contains NO key — safe to paste anywhere.

Input parameters:

- `name` (string): a handle for the chart (a-z 0-9 - _); reuse the same name to update the same URL. Default "chart".
- `spec`: the chart spec to publish — same shape as render_chart (any type, including dashboard)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-slickfast-mcp/slickfast-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 68
- 2026-08-01: 7
- 2026-07-31: 31
- 2026-07-30: 49
- 2026-07-28: 49
- 2026-07-27: 49

## Links

- npm package: https://www.npmjs.com/package/@slickfast/mcp
- Socket report: https://socket.dev/npm/package/@slickfast/mcp
- Repository: https://github.com/SlickFast/slickfast
- Website: https://slickfast.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-slickfast-mcp/slickfast-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-slickfast-mcp/slickfast-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-slickfast-mcp/slickfast-mcp
