Docs menu

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.

  • find answers each word with the best icons first, with their category and tags. An old name says what it became, a guessed name like external-link is read as two words, and --json gives the same answer to a script.
  • get prints the file exactly as Bloom ships it, and refuses any name the set does not have. get gear --motion prints the version that moves on hover, for the icons find marks “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.