SF Symbols MCP
MCP server for searching and exporting Apple SF Symbols as true vector SVGs.
README
SF Symbols MCP
MCP server for searching and exporting Apple SF Symbols as true vector SVGs.
SF Symbols MCP lets AI agents and developers search the full SF Symbols catalog, get symbol metadata, and export any symbol as a vector SVG — real bezier paths, not rasterized images. It uses Apple's private CoreUI framework to extract the actual glyph data from the system asset catalog.
Quick Start
Build
Requires macOS 14+ with Xcode or Command Line Tools installed.
git clone https://github.com/ygrec-app/sf-symbols-mcp.git
cd sf-symbols-mcp
swiftc sf_symbol_cli.swift -o sf-symbol-cli -framework AppKit -framework CoreText
Install Python dependencies
Requires uv:
uv sync
Use with Claude Code (MCP)
Add to your project-level .mcp.json:
{
"mcpServers": {
"sf-symbols": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/sf-symbols-mcp",
"python",
"server.py"
]
}
}
}
Replace /path/to/sf-symbols-mcp with the actual path where you cloned the repo.
Then ask Claude: "Find me an SF Symbol for notifications" or "Export the star.fill symbol as SVG."
MCP Tools
| Tool | Description |
|---|---|
search_symbols |
Search SF Symbol names by name or keyword |
get_symbol_info |
Get availability, related symbols, and renderability info |
export_symbol |
Export a symbol as vector SVG with weight/size options |
list_symbols |
List available SF Symbol names |
Export Options
| Parameter | Default | Description |
|---|---|---|
name |
required | SF Symbol name (e.g. star.fill, chevron.right) |
weight |
regular |
ultralight, thin, light, regular, medium, semibold, bold, heavy, black |
size |
100 |
Point size for rendering |
output_path |
none | File path to save SVG (returns content if omitted) |
raw_coords |
false |
Output raw CoreGraphics Y-up coordinates instead of standard SVG Y-down |
Use from CLI
The Swift CLI can also be used directly:
./sf-symbol-cli search star
./sf-symbol-cli export star.fill --weight bold --size 200
./sf-symbol-cli export chevron.right --output ./icons/chevron.svg
./sf-symbol-cli info heart.fill
./sf-symbol-cli list --limit 50
How It Works
MCP Server (Python) Swift CLI
───────────────── ─────────────────────────────
FastMCP tool handlers → CoreUI private framework
├── CUICatalog (Assets.car)
├── CUINamedVectorGlyph
└── CGPath → SVG path data
SF Symbols are stored as vector glyphs in Apple's compiled asset catalog (Assets.car) inside the SFSymbols private framework. The Swift CLI uses Objective-C runtime bridging to access CUICatalog and extract CGPath bezier data, which is then converted to SVG <path d="..."> elements.
The output is true vector SVG (~1-2KB) with actual bezier curves — not rasterized PNG embedded in SVG.
Requirements
- macOS 14+ (Sonoma or later)
- Xcode or Command Line Tools (for Swift compiler)
- Python 3.13+ with uv
- SF Symbols are built into macOS — no additional installation needed
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.