Iconify MCP Server
# Iconify MCP Server
An MCP (Model Context Protocol) server that provides AI assistants with access to Iconify's extensive collection of over 200,000 open source vector icons from 200+ icon sets.
## Features
- **Get all icon sets**: Browse all available icon collections
- **Get specific icon set**: Retrieve detailed information about a specific icon set
- **Search icons**: Search through icons with flexible query parameters
- **Get icon data**: Retrieve specific icon data with usage examples for popular frameworks (React, Vue, Svelte, HTML, CSS)
## Installation
```bash
npm install
npm run build
```
## Usage
### Option 1: Using npx (Recommended)
Add to your Claude Desktop MCP settings configuration:
```json
{
"mcpServers": {
"iconify": {
"command": "npx",
"args": ["@osmansiddiquer/iconify-mcp"]
}
}
}
```
### Option 2: Local Development
Add to your Claude Desktop MCP settings configuration:
```json
{
"mcpServers": {
"iconify": {
"command": "node",
"args": ["C:\\Users\\osman\\OneDrive\\Desktop\\Work\\Sciloop\\Lab\\iconify-mcp\\dist\\index.js"]
}
}
}
```
### MCP Configuration File Location
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Linux**: `~/.config/Claude/claude_desktop_config.json`
## Available Tools
### 1. `get_all_icon_sets`
Browse all available icon collections from Iconify.
**Parameters**: None
**Example**: Returns list of 200+ icon sets with metadata
### 2. `get_icon_set`
Retrieve detailed information about a specific icon set.
**Parameters**:
- `prefix` (string, required): The icon set prefix (e.g., 'mdi', 'fa', 'bi')
**Example**: `{ "prefix": "mdi" }`
### 3. `search_icons`
Search through Iconify's icon collection.
**Parameters**:
- `query` (string, required): Search query (e.g., 'home', 'arrow')
- `prefix` (string, optional): Limit search to specific icon set
- `limit` (number, optional): Maximum results (default: 64, max: 999)
**Example**: `{ "query": "home", "prefix": "mdi", "limit": 10 }`
### 4. `get_icon_data`
Retrieve specific icon data with framework usage examples.
**Parameters**:
- `icon` (string, required): Full icon name in format 'prefix:icon-name' (e.g., 'mdi:home')
**Example**: `{ "icon": "mdi:home" }`
Returns icon data and usage examples for React, Vue, Svelte, HTML, and CSS.
## Development
```bash
npm run dev # Watch mode
npm run build # Production build
```
## License
MIT
TDQS
Scored across 4 tools
get_all_icon_sets vs get_icon_set is clearly distinguished (all collections vs one collection), and search_icons is distinct. get_icon_data and get_icon_set both return icon-related info, so there is minor potential for confusion, but descriptions clarify the granularity.
All four names follow a clean verb_noun snake_case pattern (get_icon_set, get_all_icon_sets, search_icons, get_icon_data). The convention is highly predictable and consistent.
Four tools is a tight, well-scoped surface covering browse, search, set detail, and single-icon retrieval. It is slightly lean, but each tool earns its place for the icon-lookup domain.
The surface covers browsing sets, listing all sets, searching, and fetching icon data with framework usage examples, which handles the core icon-discovery lifecycle. Minor gaps exist (e.g., batch/multi-icon retrieval), but agents can work around them.