Search, retrieve, compare, and render SVG icons visually for AI agents.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server that gives AI agents the ability to search, retrieve, compare, and render SVG icons. Built with Rust and the rmcp SDK.
Combines local filesystem access with a remote rendering API to resolve SVGs from any source β inline strings, URLs, local files, or Iconify IDs β and render them onto visual comparison grids.
The key insight: every tool returns images. A vision-capable LLM doesn't just get metadata β it sees the icons. This turns icon selection from guesswork into a visual conversation.
search_icons("machine learning") β 4x4 grid, cells 0β15, returned as PNG
These tools are designed to be composed by AI agents with vision. Below are three proven patterns.
An agent searches for icons and visually picks the best match β no blind URL selection.
The agent runs multiple searches, looks at each grid, picks candidates by cell number, then renders a final side-by-side comparison to make the choice. Works especially well when the agent has context about the project's visual style.
An agent modifies SVG code and uses render_grid as a visual diff to track progress across iterations.
Each iteration, the agent passes all versions (original + edits) as inline SVGs to render_grid. It sees them side-by-side in one image and decides whether to keep iterating or stop. The original always stays in cell 0 as a reference.
An agent ensures new icons match the visual style of existing project icons.
By mixing local file paths and remote sources in a single grid, the agent can visually compare existing project icons against candidates in one shot. The grid becomes a style audit tool.
These patterns compose naturally. A real-world workflow might:
All driven by a single agent with vision, using three tools.
search_iconsSemantic icon search. Returns a 4x4 PNG grid (512x512, cells 0-15) and a mapping of cell numbers to SVG URLs.
| Parameter | Type | Default | Description |
|---|---|---|---|
keyword | string | required | Semantic search query (e.g. "cloud computing", "arrows") |
background | string | "#FFFFFF" | Grid background color, CSS hex |
color | string | null | null | Recolor all icons to this CSS hex color |
get_svgRetrieve raw SVG markup from any source. Returns the complete SVG string for inspection or modification.
| Parameter | Type | Description |
|---|---|---|
source | string | URL, Iconify ID (mdi/cloud), absolute file path, or inline <svg> |
render_gridRender 1-16 SVGs onto a 4x4 comparison grid (512x512, cells 0-15). Useful for comparing icon variants side-by-side or previewing local icons alongside search results.
| Parameter | Type | Default | Description |
|---|---|---|---|
sources | string[] | required | 1-16 SVG sources (URLs, Iconify IDs, file paths, or inline SVGs) |
background | string | "#FFFFFF" | Grid background color, CSS hex |
All tools share a unified resolution pipeline that classifies sources automatically:
| Source type | Example | Resolution |
|---|---|---|
| Inline SVG | <svg xmlns="...">...</svg> | Returned as-is |
| URL | https://mdn.alipayobjects.com/.../original | Resolved via API |
| File path | /home/user/icons/logo.svg | Read from local disk |
| Iconify ID | mdi/cloud, lucide/home | Resolved via API |
File paths are detected by prefix (/, ./, ~/) or .svg extension. Everything else without http:///https:// is treated as an Iconify ID.
All grid outputs are 512x512 PNG images with a 4x4 layout (128x128 cells), numbered 0-15 left-to-right, top-to-bottom:
Cell numbers appear at the bottom-left of each cell. Unused cells show the number only.
No build needed. Works on Linux (x64/arm64), macOS (Intel/Apple Silicon), and Windows (x64).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-icon-visual)<a href="https://allmcps.com/mcp/mcp-icon-visual"><img src="https://allmcps.com/api/badge/mcp-icon-visual?style=directory" alt="MCP Icon Visual on AllMCPs" /></a>