Search, import, migrate, validate, and maintain official Google Material Symbols
across Codex · Claude · Gemini · Antigravity · Cursor · Grok
Quick start · Documentation · Русский · MCP tools
Note
Version 0.1.0 — The kit is local-first: it uses official Google sources, does not overwrite assets by default, and requires explicit confirmation for destructive changes.
💬 User request
↓
🧠 Agent Skill ──── understands intent, platform, style, states, accessibility
↓
🔧 MCP + CLI ────── searches, imports, previews, migrates, audits, validates
↓
📦 Project ───────── Android Compose · Android Views · Flutter · Web · React · Vue
| 🎯 Need | ✅ Included capability |
|---|---|
| Find the right symbol | Semantic search, aliases, style filters, HTML preview |
| Add it correctly | Official Android VectorDrawable or SVG import |
| Modernize a project | Dry-run-first Compose migration to local resources |
| Keep it consistent | Asset audit, accessibility checks, selected/unselected states |
| Use any agent | Portable SKILL.md, host adapters, stdio MCP, and CLI |
git clone <repository-url> material-icons-agent-skill
cd material-icons-agent-skill
npm install
npm run setupStart a new agent chat after setup. For Claude App / Desktop / Cowork, upload the generated material-icons-claude-skill.zip in Customize → Skills → Create skill → Upload a skill.
💬 Ask an agent
Use $material-icons: choose a rounded save icon for an article and add it to my Android Views screen.
The agent reads the portable skill, detects your project environment, searches for the best icon, and imports it — all in one request.
⌨️ Use the CLI
npm run cli -- search "save article" --style rounded
npm run cli -- migrate-compose --root C:\path\to\project
npm run cli -- skill:update🔌 Connect an MCP client
npm startThe server exposes search, import, preview, audit, environment detection, Compose migration, accessibility validation, optional wrappers, and an optional offline catalog.
See the full MCP reference →
| Goal | Command |
|---|---|
| 📥 Install into detected clients | npm run setup |
| 🔄 Refresh integrations after an update | npm run skill:update |
| 🗑️ Remove integrations | npm run skill:remove |
| ⌨️ Run the CLI | npm run cli -- <command> |
| ✅ Run syntax checks | npm test |
Tip
Run a command for one host: npm run setup -- --hosts Cursor
Remove only one: npm run skill:remove -- --hosts Cursor
For global access in Cursor, ChatGPT, and Claude Desktop → set up a global MCP server.
| 📘 Start here | 📖 Go deeper |
|---|---|
| Installation and hosts | Skill workflow · MCP reference |
| Android migration and policy | Automation and CI · Versioning |
| 🇷🇺 Русская документация | Security policy · Changelog |
skills/material-icons/ 🧠 Portable skill and deterministic helpers
src/ 🔧 MCP server and CLI
integrations/ 🔌 MCP and host templates
templates/ 🏗️ Opt-in CI template
docs/ 📚 English + Russian documentation
Built and maintained by ByteFlipper (GitHub · Website · Telegram).
This project is intentionally local-first: the skill is portable, the MCP server runs over stdio, and destructive operations require explicit confirmation. See SECURITY.md for the operational boundaries.
The kit is licensed under MIT. Google Material Symbols are provided separately under Apache-2.0; see google/material-design-icons.