LogoLab

io.github.Blaxzterv0.3.0Updated Oct 5, 2026

Trace an image to a clean SVG and export a full app-icon set, locally, from your coding agent.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Lets a coding agent trace a raster image into a clean SVG and export a full app-icon set locally.

What it does
LogoLab wraps a vectorizer and icon exporter as a local stdio MCP server. Its main tool, make_app_icons, turns an image into a traced SVG and then a complete icon set; trace_icon does only the vectorization, export_icons converts an existing SVG or PNG into PWA, favicon, Tauri, Electron, Android, iOS or extension icons, split_icon_sheet cuts a grid of icons into one SVG each, and inspect_icon previews what the tracer would decide. Presets include pwa, favicon, web, tauri, electron, android, ios and extension.
When to use it
Useful when a generated or raster logo needs to become a crisp, scalable SVG and a matching set of app or favicon assets without leaving the agent session. It suits projects that need platform icon sets produced from one source image, and it can also split a single icon sheet into separate files.
Requirements
Runs as a local process started by the agent, installed via npx from the npm package logolab; Node.js 22.18 or newer is required. No accounts, API keys, environment variables or headers are declared. WebP input additionally needs the optional sharp decoder, which is not installed by default. Relative paths resolve against the agent's working directory.
Before you install
The server reads and writes files on the local disk, so tool calls can create or overwrite files in the working directory; check target paths before running exports. It is a stdio server that does not open a socket and uploads nothing, so image data stays local. Installing the optional sharp decoder pulls a platform-specific libvips binary.

Installation

In SourceWeft

  1. Open LogoLab in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

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

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

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

Any other client wants the usual three facts:

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

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

Tools

ToolWhat it does
make_app_iconsimage → traced SVG → a full icon set. The one call that does the job.
trace_iconjust the vectorization: a clean, editable SVG.
export_iconsan existing SVG/PNG → PWA, favicon, Tauri, Electron, Android, iOS or extension icons.
split_icon_sheeta grid of icons on one canvas → one traced SVG per icon.
inspect_iconwhat the tracer would decide, before it runs.

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

Try it without a client

bash
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

Source: packages/mcp/README.md at commit ac9c405

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.3.0LatestOct 5, 2026