Better Icons

by better-auth

MCP server for searching and retrieving icons from 200+ icon libraries powered by Iconify. No external data files required.

Developer toolsstdio or Streamable HTTPCommunity

Repository-wide counts · Cached 2026-04-02

Overview

The Better Icons MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the Better Icons repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

模型上下文协议服务器

modelcontextprotocol

Community

一组用于模型上下文协议(MCP)的参考实现,展示了对大型语言模型(LLM)工具和数据源的安全且受控的访问方式。

Context7 Platform - Up-to-date Code Docs For Any Prompt

upstash

Community

Context7 MCP server providing up-to-date, version-specific documentation and code examples for libraries, enabling coding agents to fetch accurate docs and code snippets. Requires an API key for higher rate limits, passed via CONTEXT7_API_KEY header.

Playwright MCP

Microsoft Corporation

Community

A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. Enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.

AIHawk

feder-cr

Community

AIHawk is an anti detect browser and web browsing agent, open source, with an MCP server for coding agents: undetected, no captchas, no blocks. It requires an OpenRouter API key for the standalone web UI mode, which can be provided via the --openrouter-key flag or the OPENROUTER_API_KEY environment variable or a .env file in the running directory.

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

Better Icons

Search and retrieve 200,000+ icons from 150+ icon collections. Works as an MCP server for AI agents or CLI tool.

Quick Start

Add Skills

Enable the better-icons CLI features in your agent environment (matches all examples below):

npx skills add better-auth/better-icons

Direct CLI Installation

Alternatively, install the CLI globally for direct non-agent use:

# Using npm
npm install -g better-icons

# Using Bun (faster)
bun add -g better-icons

MCP Server (AI Agents)

Configure the MCP server to enable icon tools in your AI coding agents.

npx better-icons setup

This interactively configures the MCP server for:

  • Cursor
  • Claude Code
  • OpenCode
  • Windsurf
  • VS Code (Copilot)
  • Google Antigravity

Or configure manually.

CLI (Direct Usage)

Use the CLI to search and retrieve icons directly from your terminal.

# 1. Search for icons (finds icons across 150+ collections)
npx better-icons search arrow --limit 10
npx better-icons search home --prefix lucide

# 2. Get icon SVG (outputs raw code or saves to file)
npx better-icons get lucide:home > icon.svg
npx better-icons get mdi:account --color '#333' --size 24

# 3. JSON output for scripting
npx better-icons search settings --json | jq '.icons[:5]'
npx better-icons get heroicons:check --json

Why?

Icons are a common pain point in AI-assisted coding. Models often struggle to know which icons are available, generate correct SVG code, maintain consistent styles, and organize icons properly. Inline SVGs also consume unnecessary tokens.

Features

  • 200,000+ Icons - Search across 150+ icon collections (Lucide, Heroicons, Material Design, etc.)
  • Auto-Learning - Remembers which icon collections you use and prioritizes them in future searches
  • Project Sync - Icons are written directly to your icons file (.tsx, .ts, .js) instead of pasting SVG into chat (saves tokens!)
  • Batch Retrieval - Get multiple icons at once
  • Similar Icons - Find the same icon across different collections and styles
  • Recent Icons - Quick access to icons you've used before
  • Multi-Framework - React, Vue, Svelte, Solid, and raw SVG exports

Manual Installation

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "better-icons": {
      "command": "npx",
      "args": ["-y", "better-icons"]
    }
  }
}

Claude Code (CLI)

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "better-icons": {
      "command": "npx",
      "args": ["-y", "better-icons"]
    }
  }
}

Google Antigravity

Add to ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "better-icons": {
      "command": "npx",
      "args": ["-y", "better-icons"]
    }
  }
}

MCP Tools

The following tools are available when using the MCP server with AI agents.

search_icons

Search for icons across 150+ icon collections.

Search for "arrow" icons
Search for "home" icons in the lucide collection

Parameters:

  • query (required): Search query (e.g., 'arrow', 'home', 'user')
  • limit (optional): Maximum results (1-999, default: 32)
  • prefix (optional): Filter by collection (e.g., 'mdi', 'lucide')
  • category (optional): Filter by category

get_icon

Get the SVG code for a specific icon with multiple usage formats.

Get the SVG for mdi:home
Get a URL for mdi:home
Get lucide:arrow-right with size 24

Parameters:

  • icon_id (required): Icon ID in format 'prefix:name' (e.g., 'mdi:home')
  • color (optional): Icon color (e.g., '#ff0000', 'currentColor')
  • size (optional): Icon size in pixels
  • format (optional): 'svg' (default) or 'url'

Returns:

  • Raw SVG code
  • React/JSX component code
  • Iconify component usage
  • Direct SVG URL (when format: "url")

list_collections

List available icon collections/libraries.

List all icon collections
Search for "material" collections

Parameters:

  • category (optional): Filter by category
  • search (optional): Search collections by name

recommend_icons

Get icon recommendations for a specific use case.

What icon should I use for a settings button?
Recommend icons for user authentication

Parameters:

  • use_case (required): Describe what you need
  • style (optional): 'solid', 'outline', or 'any'
  • limit (optional): Number of recommendations (1-20)

get_icon_preferences

View your learned icon collection preferences with usage statistics.

Show my icon preferences
What icon collections do I use most?

clear_icon_preferences

Reset all learned icon preferences to start fresh.

Clear my icon preferences
Reset icon preferences

find_similar_icons

Find similar icons or variations of a given icon across different collections and styles.

Find icons similar to lucide:home
What other arrow icons are there like mdi:arrow-right?

Parameters:

  • icon_id (required): Icon ID to find variations of
  • limit (optional): Maximum number of similar icons (1-50, default: 10)

get_icons

Get multiple icons at once (batch retrieval). More efficient than multiple get_icon calls.

Get these icons: lucide:home, lucide:settings, lucide:user

Parameters:

  • icon_ids (required): Array of icon IDs (max 20)
  • color (optional): Color for all icons
  • size (optional): Size in pixels for all icons

get_recent_icons

View your recently used icons for quick reuse.

Show my recent icons
What icons have I used recently?

Parameters:

  • limit (optional): Number of recent icons to show (1-50, default: 20)

sync_icon

Get an icon AND automatically add it to your project's icons file. The recommended way to add icons.

Sync the lucide:home icon to my project
Add a settings icon to my icons file

Parameters:

  • icons_file (required): Absolute path to the icons file
  • framework (required): 'react', 'vue', 'svelte', 'solid', or 'svg'
  • icon_id (required): Icon ID in format 'prefix:name'
  • component_name (optional): Custom component name
  • color (optional): Icon color
  • size (optional): Icon size in pixels

Returns:

  • Confirmation that icon was added (or already exists)
  • Import statement to use
  • Usage example

scan_project_icons

Scan an icons file to see what icons are already available.

What icons are already in my project?
Scan my icons file

Parameters:

  • icons_file (required): Absolute path to the icons file
Prefix Name Style Icons
mdi Material Design Icons Solid 7,000+
lucide Lucide Icons Outline 1,500+
heroicons Heroicons Both 300+
tabler Tabler Icons Outline 5,000+
ph Phosphor Icons Multiple 9,000+
ri Remix Icons Both 2,800+
fa6-solid Font Awesome 6 Solid 2,000+
simple-icons Simple Icons Logos 3,000+

CLI Reference

Search Icons

Search across 150+ icon collections.

better-icons search <query> [options]
Option Description
-p, --prefix <prefix> Filter by collection (e.g., lucide, mdi)
-l, --limit <number> Maximum results (default: 32)
--json Output as JSON for scripting

Get Icon

Retrieve a single icon's SVG code.

better-icons get <icon-id> [options]
Option Description
-c, --color <color> Icon color (e.g., #ff0000, currentColor)
-s, --size <pixels> Icon size in pixels
--json Output as JSON with metadata

The icon ID format is prefix:name (e.g., lucide:home, mdi:arrow-right).

Setup Commands

better-icons setup              # Interactive setup wizard
better-icons setup -y           # Auto-confirm (global scope)
better-icons setup -s project   # Setup for current project only
better-icons config             # Show manual config instructions
Option Description
-y, --yes Skip confirmation prompts
-a, --agent <agents...> Specify agents (cursor, claude-code, opencode, windsurf, vscode, antigravity)
-s, --scope <scope> Config scope: global (default) or project

Development

# Install dependencies
bun install

# Run locally
bun run dev

# Build
bun run build

License

MIT