Get started
AI agents and the CLI
Bloom names describe shapes, so an agent that guesses names from other sets gets about half of them wrong. Give it a way to look them up.
The command
bloom-icons comes in the npm package of the same name, with every file of the set. It needs Node 22 or later and nothing else: no dependencies, no install scripts.
npx -y bloom-icons@0.9.0 find settings download "arrow right"
npx -y bloom-icons@0.9.0 get gear --style linear > gear.svg
pnpm, Yarn and Bun run it the same way: pnpm dlx bloom-icons@0.9.0, yarn dlx bloom-icons@0.9.0, bunx bloom-icons@0.9.0. In a project that has the package installed, the command is bloom-icons.
findanswers each word with the best icons first, with their category and tags. An old name says what it became, a guessed name likeexternal-linkis read as two words, and--jsongives the same answer to a script.getprints the file exactly as Bloom ships it, and refuses any name the set does not have.get gear --motionprints the version that moves on hover, for the iconsfindmarks “moves on hover”.
MCP server
bloom-icons mcp answers the same two questions for tools that call MCP servers, as the tools find_icons and get_icon (with motion: true for a moving file). It reads only the files in the package.
Claude Code, for every project (leave out --scope user for the current project only):
claude mcp add --scope user bloom -- npx -y bloom-icons@0.9.0 mcp
Claude Desktop, Cursor and other clients with an mcpServers list:
{ "mcpServers": { "bloom": { "command": "npx", "args": ["-y", "bloom-icons@0.9.0", "mcp"] } } }
Claude Code skill
The package and the repository carry a skill in skills/bloom/. It tells Claude Code when a task calls for an icon, never to guess a name, and how to look one up and copy the file. Link the folder into ~/.claude/skills/ and every local session picks it up.
Without a shell
An agent that can fetch pages but not run commands starts at llms.txt. Every word in the names, tags and categories has an answer at find/<word>.json, the same answer find --json gives, and every file is at svg/<style>/<name>.svg, the moving ones also at svg/motion/<style>/<name>.svg. icons.json holds the whole list.