Skip to main content
Glama
ViGi-P

lucide-mcp

by ViGi-P
README.md
# @vigi-p/lucide-mcp

`lucide-mcp` is a local Model Context Protocol (MCP) server for searching [Lucide](https://lucide.dev/) 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](#what-it-does)
- [Installation](#installation)
- [Usage](#usage)
- [CLI](#cli)
- [Uninstalling](#uninstalling)
- [Dictionary Cache](#dictionary-cache)
- [License](#license)
- [Contributing](#contributing)
- [Third-Party Licenses](#third-party-licenses)

## 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.

## Installation

Install the package.
```bash
pnpm add -g @vigi-p/lucide-mcp
```

### Codex

```bash
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.
```json
{
  "<server-name>": {
    "command": "lucide-mcp",
    "args": [],
    "env": {}
  }
}
```

### Cursor

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

```json
{
  "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

```bash
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.
    ```bash
    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](https://github.com/lucide-icons/lucide) `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](./LICENSE).

## Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) for development workflow and PR guidelines.

## Third-Party Licenses

Dependency licenses are tracked in [THIRD_PARTY_LICENSES.md](./THIRD_PARTY_LICENSES.md).

To regenerate the file after dependency changes:

```bash
pnpm licenses:update
```

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

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