Skip to main content
Glama
ViGi-P

lucide-mcp

by ViGi-P

@vigi-p/lucide-mcp

lucide-mcp is a local Model Context Protocol (MCP) server for searching Lucide icon names by keyword tags.

It builds a local dictionary from Lucide icon metadata and exposes a search-icons tool over stdio.

What It Does

  1. Starts an MCP server over stdio.

  2. Registers a search-icons tool.

  3. Token matches keywords against icon names and tags by score.

  4. Returns best-matching icon names.

Related MCP server: RemixIcon MCP

Installation

Install the package.

pnpm add -g @vigi-p/lucide-mcp

Codex

codex mcp add <server-name> lucide-mcp

Zed

In the Agent panel, go to Settings-->Model Context Protocol (MCP) Servers->Add Server->Add Custom Server and add the following in the Local tab.

{
  "<server-name>": {
    "command": "lucide-mcp",
    "args": [],
    "env": {}
  }
}

Cursor

Go to Cursor Settings->Tools & MCP->Add New MCP and add lucide-mcp to "mcpServers"

{
  "mcpServers": {
    "<server-name>": {
      "command": "lucide-mcp",
      "args": [],
      "env": {}
    },
    // Other MCPs...
  }
}

Usage

Some prompt like Show me sample code for a navbar in astro with lucide icons. Use lucide-mcp.

CLI

lucide-mcp [options]

Options:
  -h, --help                Show this help message
  -v, --version             Print the current version
  -c, --create-dictionary   Create the icons dictionary

Uninstalling

  1. Remove the MCP from your IDE/agent. Eg: codex mcp remove <server-name>.

  2. Remove the package.

    pnpm remove -g @vigi-p/lucide-mcp
  3. Delete the ~/.lucide-mcp folder.

Dictionary Cache

On first run (or with --refresh), the project fetches icon metadata from the Lucide repo's icons directory and writes a local dictionary to ~/.lucide-mcp/dictionary.json.

A temporary cache directory is used during fetch and then removed (~/.lucide-mcp/cache).

License

This project is licensed under the MIT License. See LICENSE.

Contributing

See CONTRIBUTING.md for development workflow and PR guidelines.

Third-Party Licenses

Dependency licenses are tracked in THIRD_PARTY_LICENSES.md.

To regenerate the file after dependency changes:

pnpm licenses:update

The generator script uses pnpm licenses list --json and writes a grouped package/license inventory.

Available Tools

1 tool
search-iconsSearch IconsA
Read-onlyIdempotent

Use this to search for a list of Lucide icons using tokenised matching. Each tool call should receive an array of sub-arrays of keywords as input to use in the search. Each sub-array should contain related keywords that convey a specific concept or visual meaning. Avoid the use of articles (e.g. 'a', 'the') and prepositions (e.g. 'in', 'on') in keywords if possible. The tool will return an array of sub-arrays of icon names such that each output sub-array contains icon names that match the search criteria for that specific input sub-array. Then, from the list of matches, select the most appropriate icon name.

Usage Example: To search for icons that represents the concepts "home page", "graph" and "warning", you might call:

search-icons({ keywords: [["home", "house"], ["graph", "chart"], ["danger"]] })

This will return an output similar to:

{
  "matches": [
    [ "birdhouse", "house-heart", "house-plug", "house-plus", "house-wifi", "house", "map-pin-house" ],
    [ "chart-area", "chart-bar-big", "chart-bar-decreasing", "chart-bar-increasing", "chart-bar-stacked", "chart-bar", "chart-candlestick" ],
    [ "book-alert", "circle-alert", "cloud-alert", "file-exclamation-point", "message-circle-warning", "message-square-warning", "octagon-alert", "skull", "triangle-alert" ]
  ]
}

How to use icon names in code:

  • With React: Convert the selected icon name to Pascal-case and import as a component from the 'lucide-react' package.

  • With React Native: Convert the selected icon name to Pascal-case and import as a component from the 'lucide-react-native' package.

  • With Astro: Convert the selected icon name to Pascal-case and import as a component from the '@lucide/astro' package.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesArray of sub-arrays of keywords to use in the search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
matchesYesArray of sub-arrays of best-matching icon names.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly, idempotent, non-destructive. The description goes beyond by explaining tokenised matching, the return structure (array of sub-arrays), and how to convert results to code, adding valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a clear purpose sentence, followed by instructions, an example, and framework-specific notes. No redundant sentences; every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description explains the return format and usage. It covers input, output, and code integration completely, leaving no gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant meaning: it explains that each sub-array should contain related keywords conveying a specific concept, and provides an example. This enriches the parameter understanding beyond the schema's generic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Use this to search for a list of Lucide icons using tokenised matching,' specifying the verb (search) and resource (Lucide icons). It is unambiguous and distinct from any siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use (searching icons), how to structure keywords (sub-arrays of related keywords, avoid articles/prepositions), and includes a detailed example and framework-specific usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedsearch-icons

TDQS

A4.7/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no ambiguity; the tool's purpose is clear and distinct.

Naming Consistency5/5

Single tool named 'search-icons' follows a consistent verb_noun pattern (snake_case), with no inconsistency possible.

Tool Count3/5

One tool is borderline thin; while it serves a focused purpose, many servers in similar domains have a few more tools (e.g., for metadata or browsing).

Completeness3/5

The server provides only search functionality; missing operations like listing all icons or retrieving a specific icon by name, which could be helpful.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables users to search the Remix Icon catalog by mapping keywords to icon metadata using a high-performance local index. It returns the top five most relevant icon matches with categories and tags to streamline icon selection for design and development tasks.
    1
    79
    93
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Visual icon search, retrieval, and comparison for AI agents. Search 200k+ icons semantically, render side-by-side comparison grids, and retrieve raw SVG markup — all tools return images so vision-capable LLMs can see the icons.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides unified search across multiple icon libraries with fuzzy search, caching, and comprehensive filtering for easy icon discovery and retrieval via the Model Context Protocol.
    1,232
    6
    MIT