A powerful Model Context Protocol (MCP) server that provides unified search capabilities across multiple icon libraries with fuzzy search, intelligent caching, and comprehensive filtering options.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add icon --env CACHE_TTL='<CACHE_TTL>' --env DEFAULT_SEARCH_LIMIT='<DEFAULT_SEARCH_LIMIT>' --env LOG_LEVEL='<LOG_LEVEL>' -- npx icon-mcp~/.codex/config.toml
[mcp_servers.icon]
command = "npx"
args = ["icon-mcp"]
env = { CACHE_TTL = "<CACHE_TTL>", DEFAULT_SEARCH_LIMIT = "<DEFAULT_SEARCH_LIMIT>", LOG_LEVEL = "<LOG_LEVEL>" }
# codex mcp add icon --env CACHE_TTL='<CACHE_TTL>' --env DEFAULT_SEARCH_LIMIT='<DEFAULT_SEARCH_LIMIT>' --env LOG_LEVEL='<LOG_LEVEL>' -- npx icon-mcp~/.cursor/mcp.json
{
"mcpServers": {
"icon": {
"command": "npx",
"args": [
"icon-mcp"
],
"env": {
"CACHE_TTL": "<CACHE_TTL>",
"DEFAULT_SEARCH_LIMIT": "<DEFAULT_SEARCH_LIMIT>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"icon": {
"type": "stdio",
"command": "npx",
"args": [
"icon-mcp"
],
"env": {
"CACHE_TTL": "<CACHE_TTL>",
"DEFAULT_SEARCH_LIMIT": "<DEFAULT_SEARCH_LIMIT>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"icon": {
"command": "npx",
"args": [
"icon-mcp"
],
"env": {
"CACHE_TTL": "<CACHE_TTL>",
"DEFAULT_SEARCH_LIMIT": "<DEFAULT_SEARCH_LIMIT>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"icon": {
"command": "npx",
"args": [
"icon-mcp"
],
"env": {
"CACHE_TTL": "<CACHE_TTL>",
"DEFAULT_SEARCH_LIMIT": "<DEFAULT_SEARCH_LIMIT>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"icon": {
"command": "npx",
"args": [
"icon-mcp"
],
"env": {
"CACHE_TTL": "<CACHE_TTL>",
"DEFAULT_SEARCH_LIMIT": "<DEFAULT_SEARCH_LIMIT>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}Environment variables
CACHE_TTLDEFAULT_SEARCH_LIMITLOG_LEVEL
Replace the placeholders with your own credentials and keep them out of version control.