mcpField
I
Icon MCP

Icon MCP

本地服务
github.com/pratham-jain33媒体与设计01 天前更新

关于 Icon MCP

Icon MCP 是供 AI 助手和项目开发者查找、调整 Lucide 图标样式的离线服务。它可为单个图标或批量图标生成风格一致的 SVG,无需 API 密钥或网络连接。

主要功能

  1. 01按关键词搜索 Lucide 图标
  2. 02生成带样式的 SVG 标记
  3. 03设置线条宽度、颜色和尺寸
  4. 04批量导出风格统一的图标
  5. 05支持名称或普通词语查询

适用场景

  1. 01为项目界面查找图标
  2. 02创建风格统一的导航图标集
  3. 03将样式化 SVG 保存到项目中

MCP 相关

向兼容 MCP 的助手提供 `search_icons` 和 `generate_icons` 工具。内置的 Lucide 图标可离线使用,无需 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"pratham-jain33-icon": {
"command": "uvx",
"args": [
"icon-mcp"
]
}
}
}
启动命令uvx icon-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiicon-mcp0.1.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
querystring是

详细介绍

icon-mcp

mcp-name: io.github.pratham-jain33/icon-mcp

License: MIT Python 3.10+ MCP Compatible Version PyPI

为任意 AI 助手添加自定义图标按钮。无需表情符号,也不需要设计师。

非官方社区项目。 本项目并非由 Lucide 制作、认可,也与其无关。Lucide 图标集(采用 ISC 许可证)已随软件包一同提供,因此所有功能均可离线使用。

为什么选择它

当 UI 需要图标时,AI 助手往往会使用表情符号,因为绘制优质图标是真正的设计工作。本 MCP 服务可接入任何兼容 MCP 的助手(Claude Desktop、Claude Code、Cursor 等),让其能够按关键词搜索 2,000 多个 Lucide 图标并调整样式(描边宽度、颜色、大小),还可以一次调用生成一整套风格一致的图标,让页面上的每个图标看起来都协调统一。SVG 会以标记语言的形式返回,由助手直接保存到项目中。无需 API 密钥、无需账户,也无需联网。

工具

工具描述
search_icons按关键词搜索图标名称和标签。不知道确切图标名称时使用。
generate_icons将单个图标或一整套风格一致的图标渲染为样式化的 SVG 标记语言。接受图标名称或普通词语查询,并支持共享的 stroke_width、color、size 参数。

快速开始

安装

无需克隆:

uvx icon-mcp

或使用 pip:

pip install icon-mcp

也可以从源代码安装:

git clone https://github.com/pratham-jain33/icon-mcp
cd icon-mcp
python -m venv .venv
.venv/bin/pip install -e .

连接助手

Claude Desktop 配置文件:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "icon-mcp": {
      "command": "uvx",
      "args": ["icon-mcp"]
    }
  }
}

无需环境变量或密钥。从源代码运行时,改为指向本地检出目录:

{
  "mcpServers": {
    "icon-mcp": {
      "command": "/absolute/path/to/icon-mcp/.venv/bin/python",
      "args": ["-m", "icon_mcp.server"]
    }
  }
}

重启 Claude Desktop,然后尝试:“帮我找一个设置图标和一个垃圾桶图标,二者的描边宽度都为 1.5px,颜色为 #2f6bff,大小为 32px,并以 SVG 格式提供。”

配置

无需配置。没有任何需要设置的内容:无需 API 密钥、账户或网络访问权限。图标集随软件包一同提供。

工作原理

  1. 你用普通词语向助手描述所需图标。
  2. 助手调用 search_icons 查找合适的名称,或将关键词直接传给 generate_icons。
  3. MCP 服务将每个查询解析为软件包内置的 Lucide SVG,并改写其中的四个属性:width、height、stroke-width、stroke。仅操作 XML,不进行渲染,也没有原生依赖项。
  4. 一次调用中的所有图标都采用完全相同的样式,因此生成的整套图标天然保持视觉一致。
  5. MCP 服务会返回 JSON,其中包含每个图标的 SVG 标记语言;助手会将其保存为项目中的 .svg 文件。

示例会话

You:    I need icons for my landing page nav: home, features, pricing,
        contact. Make them all match: thin 1.5 stroke, blue #2f6bff.

Claude: [calls generate_icons with ["home", "features", "pricing",
        "contact"], stroke_width=1.5, color="#2f6bff"]
        Done. Four SVGs, all 1.5px stroke in #2f6bff, saved to icons/.
        "features" resolved to the "sparkles" icon, "contact" to "mail".

为什么选择 icon-mcp 而不是 Unicon

Unicon 是最接近的现有工具:它是一个通过托管图标 API 提供服务的 MCP 服务,涵盖 9 个图标库中的 19,000 多个图标。icon-mcp 则选择了另一条路线:

  • 完全离线。 整套图标集都随软件包一同提供。无需托管 API,乘飞机时也能使用。
  • 无需账户,也没有等级限制。 永久免费,无需注册。
  • 原生支持 Python。 使用 uvx/pip 安装;无需 Node 或 npx。
  • 一次调用生成风格一致的图标集。 传入图标列表和一种样式,每个 SVG 都会以统一样式返回。样式参数(描边宽度、颜色、大小)是核心功能,而非事后补充。
  • 更精简、更专注。 两个工具、一个图标库、零配置。

取舍是:只支持一个图标库(Lucide),而不是九个;使用关键词搜索,而非语义搜索。若要为页面提供一套风格一致的图标,这就是全部所需。

参数

generate_icons 接受以下参数:

参数默认值规则
icons(必填)1-50 个名称或关键词查询,例如 ["home", "trash can"]
stroke_width2.00.5 到 4(2 是 Lucide 的默认值)
color"currentColor"currentColor、十六进制值(#2f6bff)或 CSS 颜色名称(red)
size241 到 1024 像素

无法匹配的查询会列在 unresolved 列表中,而不会导致整个调用失败。

路线图

  • v0.1 — 内置 Lucide 图标集(v1.50.0)、关键词搜索、参数化 SVG 样式设置、一次调用生成一组图标
  • 网站:粘贴提示词,下载样式化图标集
  • 更多图标库(Tabler、Heroicons),作为可选捆绑包提供

贡献

欢迎提交问题和拉取请求。如果你添加工具,请用向聪明但从未见过该工具的朋友解释它的方式来撰写描述——助手会读取这段文字来判断何时使用该工具。若要将图标包更新到较新的 Lucide 版本,请在 scripts/fetch_lucide.py 中更新 LUCIDE_VERSION,然后运行该脚本。

许可证

MIT © Pratham Jain。详见 LICENSE。

致谢

本项目基于 Lucide 图标集(采用 ISC 许可证,详见 icon_mcp/LUCIDE_LICENSE)和 Model Context Protocol 构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。