Skip to main content
Glama
joris-gallot

lucide-mcp

by joris-gallot

lucide-mcp

npm version CI license

MCP server for searching, retrieving, and adding Lucide SVG icons from AI coding agents.

Resources

  • lucide://icons/{name}.svg - read raw SVG markup for an icon, for example lucide://icons/panel-left.svg

Related MCP server: Supericons

Tools

  • search_icons - search icons by exact, partial, and fuzzy name matching

  • get_icon_metadata - return tags, aliases, SVG path, and suggestions for an icon

  • get_icon_svg - return raw SVG markup for an icon

  • add_icon_to_project - write an SVG file into the current project

  • list_icons - list available Lucide icon names

Usage

{
  "mcpServers": {
    "lucide": {
      "command": "npx",
      "args": ["lucide-mcp"]
    }
  }
}

With a local checkout:

{
  "mcpServers": {
    "lucide": {
      "command": "node",
      "args": ["/path/to/lucide-mcp/dist/index.mjs"]
    }
  }
}

Examples

Search for sidebar icons:

search_icons({ "query": "sidebar", "limit": 5 })

Get icon metadata:

get_icon_metadata({ "name": "panel-left" })

Read SVG as a resource:

lucide://icons/panel-left.svg

Get raw SVG with a tool:

get_icon_svg({ "name": "panel-left" })

Get cleaned SVG markup:

get_icon_svg({
  "name": "panel-left",
  "stripLicense": true,
  "stripClass": true,
  "strokeWidth": 1.5
})

Add an icon to a project:

add_icon_to_project({
  "name": "panel-left",
  "outputDir": "assets/icons",
  "overwrite": false,
  "stripLicense": true,
  "stripClass": true
})

The default output directory is assets/icons. Existing files are not overwritten unless overwrite is set to true. Use stripLicense, stripClass, and strokeWidth to customize the generated SVG markup.

Agent behavior

Agents can use this server when they need an icon for a UI feature and the project does not already contain a suitable SVG. A good workflow is:

  1. Inspect existing project icons first.

  2. Search Lucide with a semantic query.

  3. Pick the best named icon.

  4. Add it to the project's icon directory.

  5. Use the SVG according to the project's conventions.

Development

pnpm install
pnpm test
pnpm build
pnpm typecheck

Run locally:

pnpm dev

License

MIT. Lucide icons are distributed by the Lucide project under the ISC license.

Available Tools

5 tools
add_icon_to_projectB

Add a Lucide SVG icon file to the current project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLucide icon name, for example "search", "panel-left", or "chevron-right".
filenameNoOptional output filename. Defaults to the icon name with .svg.
outputDirNoOutput directory relative to the MCP server working directory. Defaults to assets/icons.
overwriteNoWhether to overwrite an existing file. Defaults to false.
stripClassNoRemove the Lucide class attribute from the SVG element. Defaults to false.
strokeWidthNoOverride the SVG stroke-width attribute.
stripLicenseNoRemove the leading Lucide license comment from the SVG. Defaults to false.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Add', implying a file creation, but does not explain side effects like overwriting, directory creation, or whether the operation requires network access. The single sentence is insufficient for a write operation.

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 one short, front-loaded sentence with no filler. It is appropriately concise, though other dimensions capture the lack of depth.

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

Completeness2/5

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

Given the tool has 7 parameters, is a write operation, has no output schema, and no annotations, a one-sentence description is far from complete. It does not explain what happens after adding the icon (e.g., return value, errors) or any prerequisites, leaving significant gaps for agent decision-making.

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

Parameters3/5

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

Schema description coverage is 100% with all 7 parameters described in detail (e.g., 'name', 'overwrite', 'stripClass'). The tool description adds no parameter-specific meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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 the action ('Add') and the resource ('a Lucide SVG icon file') with a destination ('to the current project'). This clearly distinguishes it from sibling tools like list_icons or get_icon_svg, which are read-only operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention cases where one might prefer get_icon_svg over adding a file, nor does it state any prerequisites (e.g., network access) or exclusions.

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

get_icon_metadataA

Get Lucide icon metadata such as tags, aliases, local SVG path, and suggestions for unknown icons.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLucide icon name, for example "search", "panel-left", or "chevron-right".

TDQS

A4/5.0
Behavior4/5

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

The description discloses that the tool provides suggestions for unknown icons, which is a behavioral trait beyond the basic return of metadata. It also specifies the categories of metadata returned (tags, aliases, SVG path). However, it does not mention error handling, permissions, or side effects, though the 'get' verb implies read-only behavior.

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 a single concise sentence that front-loads the core purpose and provides useful detail without redundancy. Every word adds value.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description gives a good overview of the return content and handles the unknown icon case. It is complete enough for an agent to know what to expect, though it could benefit from explicitly stating the behavior for non-existent icons.

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

Parameters3/5

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

The input schema already thoroughly describes the single 'name' parameter with examples, giving 100% coverage. The description does not add any additional meaning about the parameter beyond what the schema provides, so it is at baseline.

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 uses a specific verb 'Get' with a clear resource 'Lucide icon metadata' and lists concrete metadata types (tags, aliases, local SVG path, suggestions for unknown icons). This distinguishes it from sibling tools like get_icon_svg, which retrieves SVG content, and search_icons, which searches icons.

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

Usage Guidelines3/5

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

The description implies usage for retrieving metadata of a specific icon but does not explicitly state when to use this over alternatives like search_icons or list_icons. There is no mention of exclusions or when to prefer sibling tools. Context must be inferred from the tool name and the description's focus on metadata.

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

get_icon_svgA

Get the raw SVG markup for a Lucide icon by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLucide icon name, for example "search", "panel-left", or "chevron-right".
stripClassNoRemove the Lucide class attribute from the SVG element. Defaults to false.
strokeWidthNoOverride the SVG stroke-width attribute.
stripLicenseNoRemove the leading Lucide license comment from the SVG. Defaults to false.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry transparency. It correctly implies a read-only retrieval, but does not disclose behavior for invalid names, error handling, or side effects. It does not contradict anything, but leaves some behavioral aspects unstated.

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?

A single, front-loaded sentence: 'Get the raw SVG markup for a Lucide icon by name.' No filler or redundant information, earning a perfect score.

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

Completeness4/5

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

Given the tool's simplicity and complete parameter schema, the description is largely sufficient. It explains the core output (raw SVG markup) and the schema covers all inputs, but omits details on return behavior for nonexistent icons or default license/class inclusion, which are minor gaps.

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

Parameters3/5

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

Schema coverage is 100%, so the schema fully documents all parameters. The description only adds a high-level reference to the 'name' parameter, providing no additional semantic value beyond what the schema already offers.

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 uses a specific verb ('Get') and resource ('raw SVG markup for a Lucide icon'), clearly distinguishing it from sibling tools like get_icon_metadata or add_icon_to_project. It leaves no ambiguity about what the tool returns.

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

Usage Guidelines3/5

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

The description implies usage when you know the icon name and need its raw SVG, but does not explicitly state when to use this tool versus alternatives such as search_icons for finding icons or get_icon_metadata for details. No exclusions are mentioned.

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

list_iconsB

List all available Lucide icon names.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of icon names to return.
offsetNoNumber of icon names to skip.

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the function name without adding details about return type, pagination behavior, or side effects. It does not explicitly confirm that the operation is read-only or describe any constraints beyond what the name implies.

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 a single, focused sentence that is immediately understandable. It wastes no words and front-loads the core action and object.

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

Completeness4/5

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

The tool is simple, with low complexity and no output schema, so the brief description is largely sufficient. It clearly states the purpose, and the schema covers parameter details, leaving minimal gap in understanding the tool's behavior.

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

Parameters3/5

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

Schema description coverage is 100%, with both `limit` and `offset` already explained in the input schema. The description adds no new parameter information, so the baseline of 3 is appropriate.

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 uses the specific verb 'List' with a clear resource ('all available Lucide icon names'), making the tool's purpose immediately obvious. It distinguishes from sibling tools like search_icons by emphasizing enumeration of the full set rather than filtered searching.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as search_icons or get_icon_metadata. It does not state that this is for retrieving the complete catalog, nor does it mention any exclusions or prerequisites.

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

search_iconsA

Search Lucide icons by name using exact, partial, and fuzzy matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of matches to return.
queryYesIcon search query, for example "sidebar", "settings", or "arrow left".

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are present, so the description carries the transparency burden. It discloses matching modes (exact, partial, fuzzy), which is useful behavioral context, but omits return format, pagination, or confirmation that it is a non-destructive read operation.

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?

A single sentence directly states the tool's purpose without any redundant details. Every word earns its place.

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

Completeness4/5

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

For a simple search tool with two parameters and no output schema, the description covers the core purpose and matching modes. It does not explain return format, but the low complexity and clear purpose make it sufficiently complete.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds 'by name' which aligns with the query parameter but does not provide additional meaning beyond the schema examples or limit semantics.

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 the action (Search), resource (Lucide icons), and matching behavior (exact, partial, and fuzzy). This distinguishes it from sibling tools like list_icons (listing) and get_icon_metadata (metadata lookup).

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

Usage Guidelines3/5

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

The description implies usage for name-based lookup but does not explicitly contrast with list_icons or other alternatives. No when-to-use or when-not-to-use guidance is provided, only the general purpose.

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. 5 tool updatesv0.4.0
    • First observedadd_icon_to_project
    • First observedget_icon_metadata
    • First observedget_icon_svg
    • First observedlist_icons
    • First observedsearch_icons

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: listing all icons, searching by name, retrieving metadata, retrieving SVG markup, and adding to a project. There is minimal overlap, and even list_icons vs search_icons are differentiated by exhaustive vs filtered retrieval.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (list, search, get, get, add). The naming is predictable and intuitive, making it easy for an agent to infer function from the name.

Tool Count5/5

With exactly 5 tools, the set is well-scoped for managing Lucide icons. Each tool covers a necessary operation without unnecessary bloat or duplication.

Completeness5/5

The tool surface covers the complete lifecycle for working with icons: discovery (list/search), inspection (metadata/svg), and integration (add to project). No obvious gaps exist for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • 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
    C
    maintenance
    Enables AI coding tools to search, inspect, recommend, and export SVG icons from svgicons.com for use in design systems, frontend projects, and AI-assisted workflows.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to search, retrieve, and save Nucleo icons from the user's local library directly into projects.
    6 npm
    7
    MIT