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

logolab

v0.7.0

Published

MCP server for LogoLab: trace an image to a clean SVG and export a full app-icon set, locally, from your coding agent.

Readme

logolab

Turn an image into a clean SVG and a complete app-icon set — from your coding agent, on your machine.

An MCP server wrapping the vectorizer and icon exporter from LogoLab. A model generates a 1024px PNG with soft edges and a JPEG-ish halo; something has to turn that into a favicon that is still legible at 16px. Doing it by hand means a raster upscale and a blurry icon. This runs a real trace — region segmentation and curve fitting, not an image embed — so the result scales.

Nothing is uploaded. It is a stdio server: your agent starts it as a child process, it reads and writes files on your disk, and it never opens a socket.

Install

claude mcp add logolab -- npx -y logolab       # Claude Code

Or let it write the config itself, in whichever project should get the icons:

npx -y logolab install                   # .mcp.json here (Claude Code)
npx -y logolab install --scope user      # every project
npx -y logolab install --client cursor   # .cursor/mcp.json
npx -y logolab install --client vscode   # .vscode/mcp.json
npx -y logolab install --client print    # print the JSON, change nothing

Any other client wants the usual three facts:

{ "mcpServers": { "logolab": { "command": "npx", "args": ["-y", "logolab"] } } }

Then ask your agent: "trace icon.png and export a PWA icon set into public/".

…or as a skill

No server at all: an Agent Skill that runs this package's CLI.

/plugin install logolab --marketplace Blaxzter/LogoLab   # Claude Code plugin
npx -y logolab install --skill                           # .claude/skills/logolab/ (--scope user: every project)
npx -y logolab install --skills-dir <dir>                # any agent that reads skills from a folder

The CLI it drives is usable by hand as well:

npx -y logolab tools                      # the tools, or `tools <name>` for one tool's inputs
npx -y logolab call trace_icon image=icon.png strokes=true

Tools

| Tool | What it does | | --- | --- | | make_app_icons | image → traced SVG → a full icon set. The one call that does the job. | | trace_icon | just the vectorization: a clean, editable SVG. | | export_icons | an existing SVG/PNG → PWA, favicon, Tauri, Electron, Android, iOS or extension icons. | | split_icon_sheet | a grid of icons on one canvas → one traced SVG per icon, icon-set ready: grid hint, names, normalize: 24, ink: "currentColor", transparent tiles. | | inspect_icon | what the tracer would decide, before it runs. |

Presets: pwa, favicon, web, tauri, electron, android, ios, extension.

Try it without a client

npx -y logolab try ./icon.png ./out

Notes

  • Node ≥ 22.18 is required.
  • WebP inputs need the optional sharp decoder, which is an optional peer and is not installed by default — it pulls a platform-specific libvips binary that dwarfs the rest of the server. Run npm install sharp if you need it, or convert to PNG. Every other format (PNG, JPEG, GIF, BMP, SVG) works out of the box.
  • Relative paths in a tool call resolve against your agent's working directory, not this package — so ./public/ means the project you are working on.

MIT © Frederic Abraham