Before you start
- Node.js 18 or later.
- An editor or assistant that can run MCP servers over stdio.
What the server does
The server runs on your machine and speaks MCP over stdio. It gives the assistant five tools: search_icons, get_icon, list_variants, get_icon_url and list_categories. The registry ships inside the package, so search, variant lists and URLs work offline. Only get_icon goes to the network, to fetch the SVG itself.
Connect it
Step 1Check Node.js
The server runs through
npx, so the editor needs Node.js 18 or later on its path.bash node --versionStep 2Add the server to your MCP config
Most clients read an
mcpServersblock. In Cursor, put it in.cursor/mcp.jsonin the project, or in~/.cursor/mcp.jsonfor every project.mcp.json { "mcpServers": { "thesvg": { "command": "npx", "args": ["-y", "@thesvg/mcp-server"] } } }Step 3Or add it from the terminal
Claude Code registers MCP servers with one command.
bash claude mcp add thesvg -- npx -y @thesvg/mcp-serverStep 4Or add it to a desktop assistant
Claude Desktop reads the same
mcpServersblock from~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS, or%APPDATA%\Claude\claude_desktop_config.jsonon Windows.Step 5Reload and check the tools
Restart the editor or reload its MCP servers. The five tools should appear under
thesvg. If they do not, run the command from your config in a terminal to see the error.Step 6Ask for a logo by name
Name the brand and say what you want back. The assistant calls
search_iconsto find the slug,list_variantswhen you ask for a version, andget_iconfor the markup.text Find the Stripe logo on theSVG, list its variants, and give me the mono version as an inline SVG I can paste into the footer.Step 7Ask for a URL when you only need to embed it
For an
imgtag, a README or a Markdown page, a URL is enough.get_icon_urlreturns a CDN link without fetching the SVG, which is quicker thanget_icon.text Give me a CDN URL for the GitHub logo from theSVG and an img tag for it, 32 pixels wide.Step 8Install it globally for a faster start
npx -yresolves the package on each start. A global install starts thethesvg-mcpcommand directly.bash npm install -g @thesvg/mcp-server # then, in the mcpServers block "thesvg": { "command": "thesvg-mcp" }