RemixIcon MCP
OfficialSearch RemixIcon metadata by short comma-separated keywords and receive up to five ranked icon matches through an MCP server available over stdio or HTTP.
Call the
search_iconstool withkeywords(nonempty string, max 200 characters, up to 20 comma-separated keywords).Get zero to five relevance-ranked matches, each with name, score, category, style, and matched keywords.
Receive both readable text and structured results.
Use it as read-only, idempotent icon search; invalid keyword input returns a tool error.
Connect via local stdio, local Node.js Streamable HTTP at
/mcp, or Cloudflare Workers HTTP;/healthprovides a health check.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RemixIcon MCPfind icons for user, profile, and account"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RemixIcon MCP 
English | 简体中文
A Model Context Protocol (MCP) server that maps short keywords to Remix Icon names. Search with up to 20 comma-separated keywords and receive up to 5 ranked matches.
Features
Local stdio, local Node.js Streamable HTTP, and Cloudflare Workers HTTP share one MCP SDK v2 server and search implementation.
Uses a bundled FlexSearch index with English and Chinese icon tags; no external API or credentials are needed for search.
Returns readable text and structured results with names, scores, categories, styles, and matched keywords.
Scores all matching candidates before selecting the top results.
HTTP supports current MCP and legacy 2025 Streamable HTTP clients. Modern requests receive JSON responses; legacy requests use request-scoped SSE. There is no standalone SSE endpoint or persistent session.
Related MCP server: CodeRAG
2.0.0 migration
Version 2.0.0 requires Node.js 20 or later for the installed CLI. The complete source-development and test workflow requires Node.js 22.12 or later; Wrangler deployment tooling requires Node.js 22 or later.
Keep existing stdio client configurations; stdio remains the default. HTTP is opt-in through
--transport httpor a configured MCP URL.Keep reading
matches[].name. Structured results also include scores, categories, styles, and matched keywords.The server uses MCP SDK v2. HTTP supports modern and legacy Streamable HTTP negotiation, but not the old standalone
/ssetransport or persistent sessions.Worker deployment is separate from npm publication. The existing hosted endpoint continues to report 1.2.0 until separately deployed.
See CHANGELOG.md for changes.
Quick start from source
Use Node.js 22.12 or later and pnpm for the complete source-development and test workflow. Wrangler itself requires Node.js 22 or later. The installed CLI runtime supports Node.js 20 or later.
pnpm install
# Start an HTTP server at http://127.0.0.1:3000/mcp
pnpm start:httpKeep the server running, then configure a URL-capable MCP client with http://127.0.0.1:3000/mcp. For Claude Code:
claude mcp add --transport http remix-icon http://127.0.0.1:3000/mcpTo use stdio instead:
pnpm startCLI and configuration
With the CLI installed, stdio remains the default:
remixicon-mcp
remixicon-mcp --transport http --host 127.0.0.1 --port 3000The same options work when running this checkout directly:
pnpm exec tsx src/index.ts --transport http --host 127.0.0.1 --port 3000CLI option | Environment variable | Default |
|
|
|
|
|
|
|
|
|
CLI options override environment variables. For Node HTTP, MCP_ALLOWED_ORIGINS optionally accepts comma-separated exact browser origins, such as https://icons.example.com,http://localhost:5173. Origins include the scheme and optional port, without a path or trailing slash. Same-origin requests and native clients without an Origin header are accepted by default; other browser origins are rejected.
The default host accepts local connections. To accept connections from other machines, explicitly set --host 0.0.0.0. This is public icon search with no authentication. If you expose it externally, configure TLS and any required access controls through your reverse proxy.
HTTP endpoints
Endpoint | Methods | Behavior |
|
| MCP requests and browser preflight |
|
| JSON health response |
POST /mcp requires Content-Type: application/json; request bodies are limited to 16 KiB. GET /mcp and DELETE /mcp return 405. There is no legacy /sse endpoint or persistent session requirement.
Published stdio package
The published package can be used by stdio clients:
npx -y remixicon-mcpFor Claude Desktop, add this entry to claude_desktop_config.json and restart the app:
{
"mcpServers": {
"remix-icon": {
"command": "npx",
"args": ["-y", "remixicon-mcp"]
}
}
}For Claude Code:
claude mcp add --transport stdio remixicon -- npx -y remixicon-mcpCloudflare Workers
The existing hosted endpoint is RemixIcon MCP. Configure a URL-capable MCP client with that address, or use:
claude mcp add --transport http remix-icon https://remix-icon-mcp.frad.workers.dev/mcpThe HTTP implementation was deployed and verified on October 24, 2026, with Cloudflare version 1a2ca18e-d7a6-4910-ac2f-c6d318aa407e serving 100% of traffic. Real MCP clients passed modern (2026-07-28) and legacy (2025-11-25) protocol negotiation, tool discovery, search, and concurrent calls. The reported server version is 1.2.0; the deployed MCP SDK is 2.3.0. This records the previous deployment; it is not updated automatically when release source changes.
Use the endpoint in an MCP client. Opening /mcp in a browser sends GET and returns 405 as expected; use /health for a browser health check. Future local edits do not update the hosted service until deployment:
pnpm dev # Local Worker preview
pnpm run deploy # Publish to Cloudflare WorkersTool: search_icons
Input: keywords, a nonempty string of up to 200 characters containing up to 20 comma-separated keywords. Use short keywords rather than sentences.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_icons",
"arguments": { "keywords": "layout, grid, design" }
}
}Successful responses include readable content and structuredContent. The output schema is shared by all transports:
{
guidance: string;
matches: Array<{
name: string;
score: number;
category: string;
style: string;
matchedKeywords: string[];
}>;
}matches contains zero to five items. matches[].name remains available to existing clients; the additional fields describe ranking and matched catalog tokens. Invalid keyword input returns a tool error. Tool annotations mark the search as read-only and idempotent.
Project structure
bin/run.cjs CLI launcher
src/cli/ CLI options and process lifecycle
src/bootstrap/ Dependency wiring and shared search index
src/domain/ Icon entities and keyword parser
src/application/ Search use case and repository port
src/infrastructure/ FlexSearch repository and data adapter
src/interface/mcp/ Shared SDK v2 tool registration
src/interface/http/ Shared HTTP routes and request checks
src/data/tags.json Bundled Remix Icon metadata
worker/src/index.ts Cloudflare HTTP entry point
wrangler.jsonc Cloudflare configuration
tests/ Unit, transport, and integration testsDevelopment
pnpm start # Node stdio server
pnpm start:http # Node HTTP server
pnpm typecheck # Node and Worker TypeScript checks
pnpm test # Run unit and local integration suites once
pnpm test:watch # Watch tests during development
pnpm run test:e2e:docker # Check the hosted HTTP MCP from Docker
pnpm lint # Biome lint with auto-fix
pnpm format # Biome formatting
pnpm build # Build validationThe Docker command runs nine HTTP MCP cases against https://remix-icon-mcp.frad.workers.dev/mcp using a Linux client: modern and legacy negotiation, discovery, searches, no matches, invalid input recovery, concurrent requests, client isolation, and HTTP guards. Set MCP_E2E_URL to test another deployment. It uses locked dependencies, copies no host credentials or modules, and removes its test container after the run. Each run saves report.json and runtime.json in a separate directory under .e2e/docker-http/. These live checks are separate from pnpm test.
src/data/tags.json is bundled metadata from the official RemixIcon catalog. To refresh it, update the file from that source, run tests and type checks, and review the changes before publishing a package or deploying a Worker. The server treats this metadata as read-only at runtime.
License
Available Tools
1 toolsearch_iconsSearch Remix Icons by keywordA
Search Remix Icon metadata using comma-separated keywords (up to 20 keywords). Returns top 5 most relevant icons. Supports both single keywords and keyword lists. Avoid natural language sentences. Returns format: 'icon-name (score)'. Example: 'sun-fill (46.00)'.
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | Yes | Comma-separated keywords to search for icons (e.g., 'summer, sun, beach') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but description fully covers behavior: returns top 5 results, formatted output, keyword constraints. It implies read-only search, sufficient for the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences, no redundant information, front-loaded with essential use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Single parameter with full schema description, no output schema needed; description covers constraints, usage, and expected output format. Complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers parameter description (100%), but description adds value: keyword limit, natural language avoidance, output format example. Adds meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Remix Icon metadata using keywords, with specific verb 'search' and resource 'Remix Icon metadata'. It also details output format and constraints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on using comma-separated keywords, limit of 20, avoiding natural language, and that it returns top 5 results. No need for exclusions due to lack of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.2.0- Changed
search_icons1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
1 tool update
- First observed
search_icons
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion between tools. The single tool 'search_icons' is uniquely defined.
Only one tool exists, so naming consistency is perfect by definition. The name 'search_icons' follows a clear verb_noun pattern.
A single tool for an icon library is far too few. Expected tools would include retrieving icon details, metadata, or categories, making this feel incomplete and overly thin.
The server only offers search functionality with no way to access actual icon data, details, or categories. This is severely incomplete for a domain that clearly requires more operations.
Maintenance
Related MCP Connectors
Search 100,000+ MCP servers ranked by real adoption data to find the right one for any task.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server that allows FE/UI/Designers to retrieve SVG icons via the Iconify API by simply asking LLMs rather than manually searching websites.332 npm4MIT
- AlicenseNot gradedqualityFmaintenanceA high-performance MCP server providing lightning-fast hybrid code search using TF-IDF and vector embeddings for AI assistants. It enables real-time codebase indexing and semantic retrieval with sub-50ms latency and offline support.12MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for semantic SVG icon search. Generate infographic SVG icons by keyword — over 100,000 icons with semantic search support.16 npm1MIT
- AlicenseNot gradedqualityDmaintenanceLocal, free MCP server for brand logo search and shadcn/ui component search & source lookup, requiring no API keys or login.MIT