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

@sprtn/mcp

v0.3.0

Published

Model Context Protocol server for the BRUT UI kit. Exposes the component manifest to AI agents.

Readme

@sprtn/mcp

A Model Context Protocol server for the BRUT UI kit. It exposes the BRUT component manifest to AI agents (Claude Code, Claude Desktop, Cursor, …) so they can scaffold BRUT pages without crawling the source.

The server reads the manifest from the peer @sprtn/ui package's @sprtn/ui/manifest export (dist/components.json) — bumping @sprtn/ui propagates new components to the agent immediately, no rebuild of @sprtn/mcp required.

Install

npm install -D @sprtn/ui @sprtn/mcp

@sprtn/mcp declares @sprtn/ui as a peer dependency, so it must be installed alongside it.

Wire into an MCP client

Claude Code (.mcp.json in the repo root, or ~/.claude.json)

{
  "mcpServers": {
    "brut": {
      "command": "npx",
      "args": ["-y", "@sprtn/mcp"]
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "brut": {
      "command": "npx",
      "args": ["-y", "@sprtn/mcp"]
    }
  }
}

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "brut": {
      "command": "npx",
      "args": ["-y", "@sprtn/mcp"]
    }
  }
}

Restart the client; the brut server should appear in its MCP tool list.

Tools

| Tool | Arguments | Returns | |---|---|---| | list_components | { kind?: 'interactive' \| 'static' } | Array of { name, kind, description, class } for every component (optionally filtered by kind). | | get_component | { name: string } (required) | Full manifest entry for the named component — class, selector, modifiers, data-attributes, events, form-state, a11y, examples. Throws Unknown component: <name> if not found. | | list_themes | {} | Array of built-in theme names (['brutalist', 'corporate', 'minimal']). | | list_tokens | { layer?: 'primitives' \| 'semantic' \| 'intent', category?: string } | All design tokens grouped by layer and category. Each token includes name, value, and inline comment. | | update_token | { token: string, value: string } (both required) | Updates an existing token's value in its source CSS file. Returns { token, layer, category, oldValue, newValue, warning }. | | add_token | { token: string, value: string, layer: string, category?: string, comment?: string } | Adds a new token to the specified layer and category section. Throws if the token already exists. |

Read-only tools

Use list_components to discover what's available, get_component to fetch the snippets and props for a specific component, and list_themes to surface the runtime data-theme switcher options.

Token editing tools

Use list_tokens to discover available design tokens, update_token to modify an existing token (e.g. change the primary accent color), and add_token to introduce new tokens. Changes are written directly to the source CSS files under src/tokens/ and take effect after a rebuild.

CLI

brut-mcp           # run the stdio server (used by MCP clients)
brut-mcp --help    # show help
brut-mcp --version # print the @sprtn/mcp version

License

MIT — see the BRUT UI repo for the full license text.