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

snapui-kits

v0.1.1

Published

SnapUI MCP server — UI kits for AI coding agents

Readme

snapUI-v3 MCP Server

MCP (Model Context Protocol) server that serves SnapUI v3 design systems to AI coding agents. Foundation + Variants architecture — markdown specifications delivered over stdio.


Quick Start

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run the server
npm start

The server communicates over stdio (JSON-RPC). It doesn't start an HTTP server — it runs as a subprocess managed by a host application (e.g., Claude Desktop).


Installing on Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "snapui-v3": {
      "command": "node",
      "args": ["/absolute/path/to/snapUI-v3/dist/index.js"]
    }
  }
}

Restart the Claude Desktop app. The hammer icon in the chat input confirms the tools are loaded.


Project Structure

snapUI-v3/
├── src/
│   ├── index.ts        ← Server entry point — tool definitions and MCP setup
│   └── registry.ts     ← Design system configs, discovery, and file readers
├── dist/               ← Compiled JS (generated by `npm run build`)
├── package.json
├── tsconfig.json
└── README.md           ← You are here

src/registry.ts — Registry & Discovery

The registry is the core data layer. It has two parts:

1. Explicit configs (DESIGN_SYSTEM_CONFIGS)

Each design system has a hand-written config object with:

| Field | Purpose | |-------|---------| | id, name | Identifier and display name | | status | "production" or "experimental" | | description | One-paragraph visual identity summary | | stack | Tech stack (Next.js + Tailwind v4 + shadcn/ui) | | dependencies | npm packages needed (production + dev) | | setup_snippets | Code snippets for Tailwind config, font imports, etc. | | conventions.color_system | Color token reference table | | conventions.key_patterns | Bullet list of critical design rules |

This metadata is what powers the get_design_system_overview tool — it gives agents a structured onboarding guide they can save as DESIGN_SYSTEM.md in their project.

2. Filesystem discovery

The registry validates configs against what actually exists in ../design-systems/. It:

  • Checks that foundation/FOUNDATION.md exists for each registered system
  • Scans variants/ for subdirectories containing .md files
  • Caches results after first read

This means adding a new design system requires both: (a) creating the folder in design-systems/, and (b) adding a config entry in registry.ts.

src/index.ts — Server & Tools

Sets up the MCP server with 5 tools. The tools are numbered 0–4 and designed to be called in sequence:

| # | Tool | What it returns | |---|------|-----------------| | 0 | how_to_use | Usage guide — tool sequence, rules, status definitions | | 1 | list_design_systems | All available systems with status, description, variants | | 2 | get_design_system_overview | Structured setup guide — deps, config snippets, conventions, key patterns | | 3 | get_foundation | Full Foundation markdown — tokens, rules, anti-patterns | | 4 | get_variant | Full variant markdown — components, blueprints, reference implementations |

The intended agent workflow:

how_to_use → list_design_systems → get_design_system_overview → get_foundation → get_variant

Steps 0–2 are lightweight (metadata). Steps 3–4 return the full markdown specs (can be 15–40KB each).


How It Relates to design-systems/

This server reads from the sibling design-systems/ directory:

design-system-v3/
├── design-systems/          ← The actual specs (Foundation + Variant markdown files)
│   ├── zed/                 ← Production
│   ├── supabase/            ← Experimental
│   ├── twenty/              ← Experimental
│   └── _template/           ← Ignored by the server (starts with _)
├── snapUI-v3/               ← This server (reads from design-systems/)
├── guides/
└── learnings/

The path resolution is relative: dist/index.js../../design-systems/. This means the server works from its compiled location without any absolute paths or env vars.


Adding a New Design System

  1. Create the folder in design-systems/ following the Foundation + Variants architecture
  2. Add a config entry in src/registry.ts under DESIGN_SYSTEM_CONFIGS
  3. Rebuild: npm run build

The config is where you define the metadata that agents see before reading the full Foundation — description, setup instructions, conventions, and key patterns. Think of it as the "quick reference card" while the Foundation is the "full manual."


Dependencies

| Package | Purpose | |---------|---------| | @modelcontextprotocol/sdk | MCP server framework (stdio transport, tool registration) | | zod | Schema validation for tool parameters | | typescript | Build toolchain | | @types/node | Node.js type definitions |

Zero runtime dependencies beyond the MCP SDK and Zod. The server reads markdown files from disk — no database, no network calls, no API keys.