Nucleo MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone git@github.com:julianallchin/nucleo-mcp.git
cd nucleo-mcp
npm install
npm run build
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add nucleo-mcp -- node "<FULL_PATH_TO_NUCLEO_MCP>/dist/index.js"

Replace <FULL_PATH_TO_NUCLEO_MCP>/dist/index.js with the actual folder you prepared in step 1.

README.md

Access your local Nucleo icon library directly from Claude

nucleo-mcp

An MCP (Model Context Protocol) server that gives Claude direct access to your local Nucleo icon library — search icons, preview them as images, and export to PDF.

How it works

Nucleo stores its icon library in two places on disk:

  • SQLite database~/Library/Application Support/Nucleo/icons/data.sqlite3 (~54k icons with names, tags, set membership)
  • SVG files~/Library/Application Support/Nucleo/icons/sets/{set_id}/{icon_id}.svg

This server reads those files directly. The Nucleo app does not need to be running.

PDF export uses `rsvg-convert` to produce proper vector PDFs at the SVG's natural dimensions with a transparent background — identical to what Nucleo exports natively.

Requirements

  • macOS with Nucleo installed and at least one icon library synced
  • Node.js 18+
  • rsvg-convert — install via Homebrew: brew install librsvg

Installation

git clone git@github.com:julianallchin/nucleo-mcp.git
cd nucleo-mcp
npm install
npm run build

Then add to your Claude Code config (~/.claude.json):

{
  "mcpServers": {
    "nucleo": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/nucleo-mcp/dist/index.js"]
    }
  }
}

Or for a specific project, add a .mcp.json at the repo root:

{
  "mcpServers": {
    "nucleo": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/nucleo-mcp/dist/index.js"]
    }
  }
}

Tools

`search_icons`

Search icons by name and/or tags.

query          string   Search term (matched against name and tags)
limit          number   Max results, default 20, max 100
set_id         number   Filter by icon set ID
favorites_only boolean  Only return starred icons
variant        string   Filter by style: "outline" | "solid" | "duotone-outline" | "duotone-solid"

Results include the detected variant for each icon.

`preview_icon`

Returns a PNG image of the icon (rendered via resvg).

icon_id  number  Icon ID
scale    number  Zoom multiplier, default 4 (gives 96px from an 18px icon)

`get_icon_svg`

Returns the raw SVG source of an icon.

icon_id  number  Icon ID

`export_icon_to_pdf`

Exports an icon to a vector PDF at the SVG's natural dimensions with a transparent background. Suitable for use directly as an Xcode image asset.

icon_id      number  Icon ID
output_path  string  Destination path, e.g. ~/Desktop/icon.pdf

`get_icon_variants`

Returns all style variants of an icon by name, with PNG previews. Useful for finding the right variant to match an existing icon's visual style.

name     string  Exact icon name, e.g. "alarm-clock"
set_id   number  Limit to a specific set (optional)
preview  boolean Include PNG previews, default true

`list_icon_sets`

Lists all icon sets with ID, title, size(s), and icon count.

`get_icons_in_set`

Lists icons within a specific set.

set_id  number  Set ID
limit   number  Max results, default 50

`get_favorite_icons`

Returns all icons marked as favorites in Nucleo.

limit  number  Max results, default 50

Variants

Nucleo ships multiple style variants of each icon. The variant is detected from the SVG source:

Variant Description
solid Filled black shapes, no strokes
outline Stroked paths, fill="none"
duotone-solid Solid primary + semi-transparent secondary fill
duotone-outline Stroked primary + semi-transparent secondary fill

Use get_icon_variants to see all variants of an icon side-by-side before deciding which to export.

Development

npm run dev      # run with tsx (no build step)
npm run build    # compile TypeScript to dist/
npm start        # run compiled output

Tools (8)

search_iconsSearch icons by name and/or tags.
preview_iconReturns a PNG image of the icon.
get_icon_svgReturns the raw SVG source of an icon.
export_icon_to_pdfExports an icon to a vector PDF at the SVG's natural dimensions.
get_icon_variantsReturns all style variants of an icon by name, with PNG previews.
list_icon_setsLists all icon sets with ID, title, size(s), and icon count.
get_icons_in_setLists icons within a specific set.
get_favorite_iconsReturns all icons marked as favorites in Nucleo.

Configuration

claude_desktop_config.json
{"mcpServers": {"nucleo": {"type": "stdio", "command": "node", "args": ["/absolute/path/to/nucleo-mcp/dist/index.js"]}}}

Try it

Search for all icons related to 'settings' and show me the available variants.
Find the 'alarm-clock' icon and export it as a PDF to my Desktop.
List all my icon sets and tell me how many icons are in the 'UI' set.
Show me a preview of my favorite icons.

Frequently Asked Questions

What are the key features of Nucleo MCP?

Direct search of local Nucleo icon libraries by name and tags. Generate PNG previews of icons with configurable scaling. Retrieve raw SVG source code for any icon. Export icons as vector PDFs with transparent backgrounds. List and filter icon sets and favorite icons.

What can I use Nucleo MCP for?

Quickly finding and inserting specific icons into a project without opening the Nucleo app. Exporting icons directly to Xcode image asset paths as vector PDFs. Comparing different style variants (solid, outline, duotone) of an icon side-by-side. Managing icon assets for UI development directly through a chat interface.

How do I install Nucleo MCP?

Install Nucleo MCP by running: git clone git@github.com:julianallchin/nucleo-mcp.git && cd nucleo-mcp && npm install && npm run build

What MCP clients work with Nucleo MCP?

Nucleo MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Nucleo MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare