Sf Symbols

by svedm

193 downloads
Not rated
GitHub

About

MCP and command line tool for SF Symbols

Details

Author
svedm
Downloads
193
Categories
Design, Other

- Provides MCP server functionality for SF Symbols
- Provides command line tool for SF Symbols

A macOS command-line tool andModel Context Protocolserver for Apple'sSF Symbols. It can:

- Listevery SF Symbol name on the system (9,000+).
- Searchsymbols by name, keyword, or alias.
- Exportany symbol to atrue‑vector SVG— real bezier<path>data, not a rasterized image.

The vector outlines are the exact curves Apple ships, extracted straight from the system symbol catalog, so exported SVGs scale cleanly to any size.

- macOS 14 (Sonoma) or later— the tool reads Apple's on‑disk SF Symbols catalog, so it only runs on macOS.
- Swift 6.3+ toolchain(Xcode 26 / the matching Swift toolchain) to build from source.

Note:SVG export uses Apple's private CoreUI catalog API to read the vector glyph data. It works on current macOS but is undocumented and may change in future OS releases.

Mintinstalls Swift command‑line tools straight from a Git repo:

brew install mint mint install svedm/sfsymbols-mcp

This builds and linkssfsymbols-mcpinto Mint's bin directory (usually~/.mint/bin, or/usr/local/binif you runmint link). You can also run it without installing:

mint run svedm/sfsymbols-mcp sfsymbols-mcp list --limit 10
git clone https://github.com/svedm/sfsymbols-mcp.git cd sfsymbols-mcp swift build -c release

The binary is produced at.build/release/sfsymbols-mcp. Optionally copy it onto yourPATH:

cp "$(swift build -c release --show-bin-path)/sfsymbols-mcp" /usr/local/bin/

The executable has four subcommands. Running it with no arguments starts the MCP server (serveis the default subcommand).

sfsymbols-mcp list # print every symbol name sfsymbols-mcp list --limit 20 # print the first 20

The total count is written to stderr; the names go to stdout (one per line).

sfsymbols-mcp search heart # by name / keyword / alias sfsymbols-mcp search weather --limit 10

Results are ranked: exact name match first, then prefix matches, then substring matches, then keyword/alias matches.

# Print SVG to stdout sfsymbols-mcp export heart.fill # Save to a file sfsymbols-mcp export star.fill --output star.svg # Pick a weight and fill color sfsymbols-mcp export gearshape.fill --weight bold --fill "#1D1D1F" -o gear.svg

The SVG'sviewBoxis the symbol's intrinsic bounding box andfilldefaults tocurrentColor, so it inherits the surrounding text color when embedded in HTML or another SVG.

sfsymbols-mcp serve # or simply: sfsymbols-mcp

The simplest way — one command. Use the full path to the binary if it isn't on yourPATH:

claude mcp add sfsymbols -- /usr/local/bin/sfsymbols-mcp serve

If you installed with Mint, get the exact path with:

That registers the server for the current project only (the defaultlocalscope). To make it available ineveryproject, add--scope user:

claude mcp add --scope user sfsymbols -- /usr/local/bin/sfsymbols-mcp serve
claude mcp list # see registered servers claude mcp get sfsymbols # see details for this one claude mcp remove sfsymbols # remove it

Then startclaude; run/mcpinside a session to confirm thesfsymbolsserver is connected.

Prefer editing a file? Create.mcp.jsonin your project root (this is the project scope Claude Code reads, and you can commit it to share with the team):

{ "mcpServers": { "sfsymbols": { "command": "/usr/local/bin/sfsymbols-mcp", "args": ["serve"] } } }

The same JSON works for other MCP clients, e.g. Claude Desktop'sclaude_desktop_config.json.

Errors (unknown symbol, missing arguments) are returned as tool results withisError: true.

- List / searchread the system catalog plists in/System/Library/CoreServices/CoreGlyphs.bundle/Contents/Resources/(name_availability.plist,symbol_search.plist,name_aliases.strings).
- Exportloads the SF Symbols asset catalog (Assets.car) through CoreUI'sCUICatalog, requests the named vector glyph for the given weight, reads itsCGPath, and serializes the path into SVG<path>data. The CoreUI path is already in SVG (Y‑down) orientation, so no coordinate flipping is applied.

swift build # debug build swift test # run the test suite

SF Symbols themselves are provided by Apple and subject to Apple's licensing. This tool only reads the catalog already present on your Mac; it does not redistribute Apple's assets.

A lightweight MCP (Model Context Protocol) server for Blender. It offers a natural language interface with Blender’s Python API, improving access to documentation, and allowing users to explore and understand complex setups.

The Lottie Creator MCP brings your AI assistant directly into your animation workflow — giving it full access to LottieFiles Creator so it can build and edit Lottie animations on your behalf through natural language.

AI Video, Image & Audio Generation with over 150 models

Rive MCP let AI handle repetitive tasks, like creating complex View Models, State Machines with hundreds of states/layers, Layouts, Shapes, and more.

Create, edit, and export SVGator animations (SVG, Lottie, GIF, video) from your AI assistant, and keep an editable project you can open in the editor anytime.

You're agent can Chain 60+ AI image and video models on one workflow canvas

Real interaction references and motion recipes for AI coding agents.

Search 1,145 real website designs by style, font, colour, section and measured design tokens.

Render, verify, describe, and safely edit Mermaid diagrams through MCP.

MCP bridge between an AI agent and a live Aseprite session, same machine or agent-in-a-VM

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.