Skip to main content
Glama
hustcc

mcp-icon

by hustcc

๐ŸŽจ mcp-icon

A Model Context Protocol (MCP) server for semantic SVG icon search.

Generate infographic SVG icons by keyword โ€” over 100,000 icons with semantic search support, powered by AntV Infographic.

npm version Build License: MIT


๐Ÿ“‹ Table of Contents


Related MCP server: icogenie-mcp

โœจ Features

  • ๐Ÿ” Semantic search โ€” Find icons by meaning, not just exact names

  • ๐Ÿ–ผ๏ธ 100,000+ SVG icons โ€” A massive library of high-quality infographic icons

  • โšก Three transport modes โ€” stdio, sse, and streamable-http

  • ๐Ÿชถ Minimal dependencies โ€” Clean, focused implementation

  • ๐Ÿงช Fully tested โ€” Unit tests with Vitest

Available Tool

Tool

Description

search_icons

Search for SVG icons by keyword. Returns a list of SVG URLs matching the semantic query.

search_icons parameters:

Parameter

Type

Required

Default

Description

keyword

string

โœ…

โ€”

Search keyword or phrase (e.g. "data analysis", "cloud")

topK

number

โŒ

3

Number of icons to return (1โ€“20)


๐Ÿค– Usage

Add to your MCP client configuration (e.g. Claude Desktop, VS Code, Cursor):

macOS / Linux:

{
  "mcpServers": {
    "mcp-icon": {
      "command": "npx",
      "args": ["-y", "mcp-icon"]
    }
  }
}

Windows:

{
  "mcpServers": {
    "mcp-icon": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "mcp-icon"]
    }
  }
}

๐Ÿšฐ Transport Modes

mcp-icon supports three standard MCP transport protocols.

stdio (default)

Used by desktop MCP clients (Claude Desktop, Cursor, etc.):

npx mcp-icon
# or explicitly:
npx mcp-icon --transport stdio

SSE (Server-Sent Events)

npx mcp-icon --transport sse --port 3456
# Server available at: http://localhost:3456/sse

Streamable HTTP

npx mcp-icon --transport streamable --port 3456
# Server available at: http://localhost:3456/mcp

๐ŸŽฎ CLI Options

mcp-icon CLI

Options:
  --transport, -t  Transport protocol: "stdio", "sse", or "streamable" (default: "stdio")
  --host, -h       Host for SSE or streamable transport (default: localhost)
  --port, -p       Port for SSE or streamable transport (default: 3456)
  --endpoint, -e   Endpoint path:
                   - For SSE: default is "/sse"
                   - For streamable: default is "/mcp"
  --help, -H       Show this help message

๐Ÿ”จ Development

# Clone the repository
git clone https://github.com/hustcc/mcp-icon.git
cd mcp-icon

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Start with MCP inspector (for local debugging)
npm start

Project Structure

src/
โ”œโ”€โ”€ index.ts          # CLI entry point
โ”œโ”€โ”€ server.ts         # MCP server + tool handlers
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ stdio.ts      # Stdio transport
โ”‚   โ”œโ”€โ”€ sse.ts        # SSE transport
โ”‚   โ””โ”€โ”€ streamable.ts # Streamable HTTP transport
โ”œโ”€โ”€ tools/
โ”‚   โ””โ”€โ”€ search-icons.ts  # Tool definition
โ””โ”€โ”€ utils/
    โ”œโ”€โ”€ api.ts        # Icon search API client
    โ””โ”€โ”€ logger.ts     # Logger utility
tests/
โ”œโ”€โ”€ api.test.ts       # API client unit tests
โ””โ”€โ”€ server.test.ts    # MCP server integration tests

๐Ÿ“„ License

MIT ยฉ hustcc

Available Tools

1 tool
search_iconsA

Search for SVG icons by keyword using semantic search. Returns URLs of matching SVG icons from a library of over 100,000 infographic icons.

ParametersJSON Schema
NameRequiredDescriptionDefault
topKNoThe number of icons to return. Must be between 1 and 20. Defaults to 3.
keywordYesThe search keyword or phrase to find relevant icons (e.g. "data analysis", "cloud computing", "security").

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the core behavior: semantic search, return of URLs, and a large icon library. It does not mention rate limits or auth, but for a read-only search tool these are less critical and the main behaviors are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the main action and resource, followed by the key return type and scale. Every word earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, two well-documented parameters, and no output schema, the description is complete: it specifies what the tool does, what it returns (URLs), and the source domain. No further context is necessary for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter schema coverage is 100% with both keyword and topK fully described. The description adds context about semantic search and library size but does not meaningfully enrich parameter semantics beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for SVG icons by keyword using semantic search and returns URLs. It specifies a concrete resource (SVG icons) and action (search), making the purpose unmistakable even without sibling comparisons.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever a user needs SVG icons matching a keyword/phrase. There are no explicit exclusions or alternatives, but with no sibling tools, this level of guidance is clear and sufficient.

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. 1 tool updatev1.0.0
    • First observedsearch_icons

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool's purpose is clear and unambiguous.

Naming Consistency5/5

The tool name 'search_icons' follows a clear verb_noun pattern, which is consistent and predictable. There are no other tools to compare against, so consistency is perfect.

Tool Count2/5

A single tool for an icon server is too few. The server name implies a broader scope, and one tool feels insufficient for handling icon-related operations beyond searching.

Completeness2/5

The tool surface is severely incomplete for an icon service. Only search is offered; there are no tools for retrieving specific icons, listing categories, or managing icons, leaving significant gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables users to search the Remix Icon catalog by mapping keywords to icon metadata using a high-performance local index. It returns the top five most relevant icon matches with categories and tags to streamline icon selection for design and development tasks.
    1
    79 npm
    93
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    AI-powered SVG icon generation MCP server. Generate production-ready SVG icons from text descriptions with customizable styles, sizes, and themes.
    45 npm
    6
    MIT