关于 Iconoteka
Iconoteka 是用于查找图标并获取可直接使用的 SVG 标记的 MCP 服务,面向设计师和开发者。它内置 1,400 个开源图标,可离线使用,并提供多种字重和样式。
主要功能
- 01按名称或含义搜索图标
- 02获取单个或多个图标的 SVG
- 03选择七种字重和两种样式
- 04浏览含图标数量的 23 个分类
- 05使用内置图标数据离线运行
适用场景
- 01为界面元素查找图标
- 02为设计或代码库获取 SVG 标记
- 03为工具栏批量获取图标
- 04查看可用的图标分类
MCP 相关
Iconoteka 将图标搜索、SVG 获取和分类列表作为 MCP 工具提供。MCP 客户端可搜索内置图标集并获取图标标记。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 最大结果数(默认 20) |
| query | string | 是 | 图标应描绘的内容,例如 "notification bell" 或 "shopping cart" |
| category | string | 否 | 限定为一个类别,例如 Interface、Nature、Transportation |
详细介绍
iconoteka-mcp
Iconoteka 的 MCP 服务——让 AI 助手搜索 1,400 个图标,并返回可直接粘贴的 SVG。
只需请求“一个中等粗细的通知铃铛”,助手就会返回真正的图标,而不是凭空编造路径,或随手使用它碰巧记得的某个库。
设置
每个客户端存储 MCP 服务的格式各不相同,请使用对应的配置项。
Claude Code
claude mcp add --scope user iconoteka -- npx -y iconoteka-mcp
Codex
codex mcp add iconoteka -- npx -y iconoteka-mcp
或者在 ~/.codex/config.toml 中:
[mcp_servers.iconoteka]
command = "npx"
args = ["-y", "iconoteka-mcp"]
VS Code(GitHub Copilot)
code --add-mcp '{"name":"iconoteka","command":"npx","args":["-y","iconoteka-mcp"]}'
也可以在工作区的 .vscode/mcp.json 中配置——注意,键名是 servers:
{
"servers": {
"iconoteka": {
"command": "npx",
"args": ["-y", "iconoteka-mcp"]
}
}
}
Cursor、Claude Desktop、Windsurf 和 Gemini CLI 使用相同的格式,但各自配置在不同的文件中:
| 客户端 | 文件 |
|---|---|
| Cursor | ~/.cursor/mcp.json,或项目中的 .cursor/mcp.json |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)、%APPDATA%\Claude\claude_desktop_config.json(Windows) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Gemini CLI | ~/.gemini/settings.json,或项目中的 .gemini/settings.json |
{
"mcpServers": {
"iconoteka": {
"command": "npx",
"args": ["-y", "iconoteka-mcp"]
}
}
}
Zed——在 settings.json 的 context_servers 下配置:
{
"context_servers": {
"iconoteka": {
"command": "npx",
"args": ["-y", "iconoteka-mcp"],
"env": {}
}
}
}
它可离线运行:图标数据随软件包一起提供。
工具
search_icons — 按含义或名称查找图标。返回按相关性排序的匹配结果,包括各图标支持的粗细和样式,以及其他关键词。
search_icons({ query: "notification bell" })
→ bell [Interface] ★popular score 949
variants: 7 weights, fill varies by weight
also matches: notification, notify, reminder, ring, sound
category 和 limit 为可选参数。
get_icon — 获取一个或多个图标的 SVG 标记。
get_icon({ name: "bell", weight: "medium", style: "fill" })
→ bell — medium fill — Interface
<svg width="24" height="24" viewBox="0 0 24 24" …>
<path d="M12 22.25C10.375…" fill="currentColor"/>
</svg>
传入数组即可一次获取最多 24 个图标,因此整个工具栏只需一个请求:
get_icon({ name: ["bell", "trash", "pen"] })
→ one block per icon, separated by ---
weight 可选 thin、ultralight、light、regular、medium、semibold、bold(默认为 regular);style 可选 stroke 或 fill(默认为 stroke)。路径使用 currentColor,因此会继承周围文本的颜色。
name 可以使用图标本身的名称,也可以使用人们常用的说法:trash、edit 和 settings 都会解析为对应的图标。
大多数图标都有全部 14 种变体;有些则只有 7 或 8 种。如果请求的变体不存在,服务会提示可用的替代选项——例如,"download" has no fill; it is a stroke-only icon. Use style "stroke".
list_categories — 列出全部 23 个类别及其图标数量。
支持
Iconoteka 是一个免费的开源图标库,由一人创建并维护。你可以通过每月订阅 Patreon 或一次性捐赠 Ko-fi,支持其未来发展。
许可证
MIT——本服务和图标均采用此许可证。可免费用于个人和商业用途,包括闭源项目。无需注明出处。
Iconoteka 名称和徽标不受 MIT 授权许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。