关于 heroicons-mcp
heroicons-mcp 是面向 AI 编码助手和 Agent 应用的 MCP 服务,可在 React 项目中查找和使用 Heroicons。它支持搜索、按样式列出图标,并提供 JSX 用法示例。
主要功能
- 01按名称或关键词搜索图标
- 02按样式列出图标
- 03获取 JSX 用法示例
- 04提供 Outline 和 Solid 图标资源
- 05通过 HTTP 或 stdio 运行
适用场景
- 01为 React 界面查找合适图标
- 02查看指定样式的可用图标
- 03获取某个图标的 JSX 示例
MCP 相关
该服务将 Heroicons 作为 MCP 资源提供,并开放搜索、列出图标和获取 JSX 示例的工具。MCP 客户端可通过 HTTP 或 stdio 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 图标名称或类别的搜索词 |
| style | enum | 否 | 图标样式:solid 或 outlinesolid | outline |
| category | string | 否 | 用于筛选的类别(可选) |
| limit | number | 否 | 返回结果的最大数量 |
详细介绍
heroicons-mcp
一个 Model Context Protocol (MCP) 服务,将 Heroicons 作为资源和工具提供给大模型及 Agent 应用。使用 Bun 和 MCP TypeScript SDK 构建。
什么是 Heroicons?
Heroicons 是一个广受欢迎的手工制作 SVG 图标库,由 Tailwind CSS 的创作者设计。图标提供多种样式(Outline、Solid),并且易于集成到 Web 项目中。
什么是 MCP?
Model Context Protocol (MCP) 是一种标准,供 AI 工具从主要训练数据之外的来源请求特定上下文。
此 MCP 服务允许 AI 编码助手和其他 Agent 应用访问 Heroicons 相关信息,从而提供更好的协助和图标搜索能力。
功能
- 将 Heroicons 作为 MCP 资源提供(Outline 和 Solid 样式)
- 提供按名称或关键词搜索图标的工具
- 支持列出所有图标或特定样式中的图标
- 可与 Claude Desktop 和其他 MCP 客户端集成
- 可作为 HTTP 服务或基于 stdio 的 MCP 服务运行
先决条件
快速开始(开发)
1. 克隆仓库
git clone https://github.com/SeeYangZhi/heroicons-mcp.git
cd heroicons-mcp
2. 安装 Bun(如果尚未安装)
请参阅官方 Bun 安装指南。
安装后,重启终端并检查:
bun --version
3. 安装依赖
bun install
4. 构建项目
此操作会将 TypeScript 源代码编译为 JavaScript,并输出到 build 目录。
bun run build
使用方法
HTTP 模式
你可以使用 npx 运行 HTTP 服务:
npx heroicons-mcp
这会启动 HTTP 服务(默认端口为 3000,由 src/http.ts 定义)。
也可以全局安装:
npm install -g heroicons-mcp
然后运行:
heroicons-mcp
Stdio 模式
npx heroicons-mcp --stdio
# or if installed globally
heroicons-mcp --stdio
本地开发
运行 MCP 服务主要有两种方式:
1. HTTP 模式
适用于支持通过 HTTP 通信的客户端。
开发时使用 Bun:
bun run start
# or directly
bun run src/entry.ts
这会运行 src/entry.ts 中定义的服务,该服务默认使用 HTTP 模式。
2. Stdio 模式
通常用于直接集成 Claude Desktop 或 MCP Inspector 等工具,通过标准输入/输出进行通信。
开发时使用 Bun:
bun run src/entry.ts --stdio
配置 AI 工具
示例:Claude Desktop
要在 Claude Desktop 中使用此 MCP 服务:
- 打开 Claude Desktop 配置文件:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
(或使用你偏好的编辑器)2. 将服务添加到 mcpServers 部分。
选项 A:通过 npx:
{
"mcpServers": {
"heroicons": {
"command": "npx",
"args": ["heroicons-mcp", "--stdio"]
}
}
}
选项 B:直接指向构建输出(确保已使用 bun run build 构建项目):
{
"mcpServers": {
"heroicons": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/heroicons-mcp/build/entry.js", "--stdio"]
}
}
}
将 /ABSOLUTE/PATH/TO/heroicons-mcp/build/entry.js 替换为构建后的 entry.js 文件的实际绝对路径。
- 保存文件并重启 Claude Desktop。
- 现在,你应该可以在 Claude 的工具面板中看到可用的 "heroicons" 服务。
注意:npx heroicons-mcp --stdio 命令是推荐的 stdio 模式运行方式。
可用工具(MCP)
此 MCP 服务向 AI 编码助手提供以下工具:
- list_all_icons
- 描述:列出所有可用的 Heroicons,可按样式(outline、solid)筛选。
- 参数:
style(可选:"outline" | "solid")
- search_icons
- 描述:按名称或关键词搜索所有样式的 Heroicons。
- 参数:
query(字符串),style(可选:"outline" | "solid")
- get_icon_usage_examples
- 描述:获取特定图标的 JSX 使用示例。
- 参数:
name(字符串),style(字符串:"outline" | "solid")
使用示例
以下是 AI 工具使用此 MCP 服务的示例:
- 用户向 AI 工具提问:“帮我找一个 Heroicons 中的「user」图标,最好是 solid 样式。”
- AI 工具调用
search_icons:
query:“user”style:“solid”
- MCP 服务响应,返回匹配的 solid 样式 Heroicons 列表(例如,
UserIcon、UserCircleIcon、UserPlusIcon)。 - 用户向工具提问:“展示 UserIcon 的使用示例。”
- AI 工具调用
get_icon_usage_examples:
name:“UserIcon”style:“solid”
- MCP 服务响应,返回 JSX 代码示例:
import { UserIcon } from "@heroicons/react/24/solid";
function Example() {
return (
<div>
<UserIcon className="w-6 h-6 text-blue-500" />
</div>
);
}
使用 Inspector 在本地测试 MCP
你可以使用 MCP Inspector 在本地测试 MCP 服务(stdio 模式)。
首先,确保项目已构建:
bun run build
然后启动 Inspector,并使用带有 --stdio 标志的 node ./build/entry.js 命令连接到你的服务:
npx @modelcontextprotocol/inspector node ./build/entry.js --stdio
这将打开 Inspector 界面,让你以交互方式测试 MCP 服务公开的资源和工具。
开发脚本
bun run dev:以 HTTP 模式启动服务进行开发(使用src/entry.ts)。bun run dev:stdio:启动 stdio MCP 服务进行开发(使用src/entry.ts --stdio)。bun run build:将 TypeScript 编译为 JavaScript(输出到build/)。bun run lint:使用 ESLint 检查代码库。
资源
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。