MCP server · HTTP API · CLI
Fluent Icons for coding agents
Search Microsoft's Fluent UI System Icons by meaning and get component names that exist in @fluentui/react-icons. Works with Claude Code, Cursor, Codex, VS Code and any MCP client. Free, no API key.
- MCP server
- https://fluenticons.co/mcp
- HTTP API
- https://fluenticons.co/api/v1
- CLI
- npx -y https://fluenticons.co/cli.tgz --help
Setup
Claude Code
Install the plugin (MCP server and skill):
claude plugin marketplace add coltongriffith/fluenticons-plugin
claude plugin install fluenticons@fluenticonsOr add only the MCP server (--scope user enables it in every project):
claude mcp add --transport http fluent-icons https://fluenticons.co/mcpTest a query
MCP tools
| Tool | Returns |
|---|---|
search_icons | Icons matching a meaning or name, best first, with the React component and import. |
recommend_icons | One icon per UI item in a shared style and size, with a single import line. |
get_icon | Styles, sizes, component names, platforms, SVG URLs and related icons. |
get_icon_code | Code for one variant: React, SVG, Blazor, Flutter, WinUI/WPF, icon font, Android, iOS or Power Apps. |
find_similar_icons | Related icons. |
Data: 3,000+ designs from @fluentui/svg-icons 1.1.341, updated with each Microsoft release. Unknown names return icon_not_found with suggestions.
HTTP API
Base URL https://fluenticons.co/api/v1. JSON, no key, CORS enabled.
| Endpoint | Description |
|---|---|
GET /icons/search?q= | Search. Optional style, size, platform, limit (1–50), exact, category. |
GET /icons/{icon} | One icon. Accepts PersonLock, person_lock or PersonLock20Filled. |
GET /icons/{icon}/code | platform: react, svg, blazor, flutter, xaml, font, android, ios, powerapps. |
POST /icons/recommend | A set of icons for UI items. |
curl "https://fluenticons.co/api/v1/icons/search?q=user+permissions&limit=3"{
"query": "user permissions",
"count": 3,
"results": [
{
"name": "PersonLock",
"slug": "person_lock",
"displayName": "Person Lock",
"score": 0.81,
"styles": ["regular", "filled"],
"sizes": [16, 20, 24],
"keywords": ["human", "contact", "guest", "security", "safety", "access", …],
"react": {
"component": "PersonLock24Regular",
"package": "@fluentui/react-icons",
"import": "import { PersonLock24Regular } from \"@fluentui/react-icons\";",
"style": "regular",
"size": 24
},
"svgUrl": "https://cdn.jsdelivr.net/npm/@fluentui/svg-icons@…/icons/person_lock_24_regular.svg",
"url": "https://fluenticons.co/icon/person-lock/"
},
…
]
}curl -X POST "https://fluenticons.co/api/v1/icons/recommend" \
-H "content-type: application/json" \
-d '{
"items": [
{ "label": "Home", "description": "main dashboard" },
{ "label": "Projects", "description": "customer projects" },
{ "label": "Analytics", "description": "performance metrics" },
{ "label": "Billing", "description": "subscriptions and invoices" },
{ "label": "Settings", "description": "application settings" }
],
"style": "regular",
"size": 24
}'{
"recommendations": [
{ "label": "Home", "icon": "Home", "component": "Home24Regular", "confidence": 1, … },
{ "label": "Projects", "icon": "Folder", "component": "Folder24Regular", … },
{ "label": "Analytics", "icon": "DataPie", "component": "DataPie24Regular", … },
{ "label": "Billing", "icon": "Receipt", "component": "Receipt24Regular", … },
{ "label": "Settings", "icon": "Settings", "component": "Settings24Regular", … }
],
"import": "import { Home24Regular, Folder24Regular, DataPie24Regular, Receipt24Regular, Settings24Regular } from \"@fluentui/react-icons\";"
} Errors: {"error": {"code", "message"}} with status 400, 404 or 429. Limit: 120 requests per minute per IP, 1,200 for the MCP server (X-RateLimit-Remaining).
CLI
Node 18 or later, nothing to install.
npx -y https://fluenticons.co/cli.tgz search "user security"
npx -y https://fluenticons.co/cli.tgz search billing --react
npx -y https://fluenticons.co/cli.tgz recommend "Home, Projects, Analytics, Billing, Settings" Also get, code --platform flutter, --style, --size and --json.
Agent instructions
For AGENTS.md, CLAUDE.md, Cursor rules or .github/copilot-instructions.md. Claude Code users can install SKILL.md instead; /llms.txt has a summary for language models.
## Icons
This project uses Microsoft's Fluent UI icons (@fluentui/react-icons). Never guess icon component names.
- Find icons with the Fluent Icons MCP server (tools search_icons, recommend_icons, get_icon, get_icon_code) or, without MCP, the API: https://fluenticons.co/api/v1/icons/search?q=<what the icon means>
- Search for what the icon should mean ("user permissions", "billing"), then use a returned component name exactly, e.g. import { PersonLock24Regular } from "@fluentui/react-icons".
- For several icons in one UI (navigation, menus, tabs), use recommend_icons so they share one style and size.
- Before using another size or style, check it exists with get_icon; don't build names yourself.FAQ
Is it free?
Yes. No signup, key or paid plan.
What is sent or stored?
Search words and icon names, never your code. Requests are counted (query, icons returned, platform, client type) to improve results. See the privacy policy.
Does it use a language model?
No. Search matches names, Microsoft's keywords and a synonym list, so results are fast and deterministic.
Is it official?
No. Fluenticons is independent. The icons are Microsoft's Fluent UI System Icons (MIT License).