Digche Icons
Find semantic Digche replacements for functional UI icons and retrieve the selected SVG style.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"digche-icons": {
"url": "https://digche.vercel.app/api/mcp"
}
}
}Remote endpoints
https://digche.vercel.app/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢list_categories
List every published Digche category with its icon count and available styles. Call this once to learn the catalog vocabulary before filtering searches by category.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_icons(query, category, style, limit)
Search published Digche icons by name, alias, use case, tag, category, or functional meaning. Queries work in English or Persian - every icon carries Persian aliases, so pass the user's own Persian wording instead of translating it first. Use this before choosing a UI icon. Returns a paste-ready summary and a preview image of the results.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Functional intent in English or Persian, such as previous page, analytics, delete item, or «سبد خرید»."
},
"category": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"style": {
"type": "string",
"enum": [
"Bold",
"Bulk",
"Linear",
"Outline",
"Animated"
]
},
"limit": {
"description": "1 to 20. Out-of-range values are clamped.",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡recommend_icons(task, slots, preferredStyle, limitPerSlot, responseMode)
Pick a coherent Digche icon set for up to 20 named UI slots in one call. Slot names and the task may be written in English or Persian. Give the overall task so ambiguous slot names resolve correctly. Use this instead of one search per icon when laying out a screen.
Input Schema
{
"type": "object",
"properties": {
"task": {
"description": "What the screen is, for example: sidebar for a billing dashboard.",
"type": "string",
"maxLength": 240
},
"slots": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "UI slots to fill, for example [\"profile\", \"billing\", \"logout\"]."
},
"preferredStyle": {
"default": "Linear",
"type": "string",
"enum": [
"Bold",
"Bulk",
"Linear",
"Outline",
"Animated"
]
},
"limitPerSlot": {
"description": "1 to 5 candidates per slot.",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"responseMode": {
"default": "plan",
"description": "plan returns slugs only; assets adds the SVG for each top pick.",
"type": "string",
"enum": [
"plan",
"assets"
]
}
},
"required": [
"slots"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_replacement(sourceIcon, sourceLibrary, context, preferredStyle, limit)
Find and rank Digche replacements for an icon from Lucide, Heroicons, Material Symbols, Font Awesome, or another library. Include the UI context for a more useful match; that context may be written in English or Persian.
Input Schema
{
"type": "object",
"properties": {
"sourceIcon": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Original component or icon name, for example ArrowLeft."
},
"sourceLibrary": {
"type": "string",
"maxLength": 80
},
"context": {
"description": "Functional UI context, for example Back button in mobile navigation.",
"type": "string",
"maxLength": 240
},
"preferredStyle": {
"default": "Linear",
"type": "string",
"enum": [
"Bold",
"Bulk",
"Linear",
"Outline",
"Animated"
]
},
"limit": {
"description": "1 to 10 candidates.",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"required": [
"sourceIcon"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢preview_icons(slugs, query, style, theme, limit)
Render candidate Digche icons as a single image so a person can compare them before choosing. Pass slugs from an earlier tool call, or a query to search and preview in one step.
Input Schema
{
"type": "object",
"properties": {
"slugs": {
"description": "Slugs from a previous result.",
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"query": {
"description": "Used only when slugs are not supplied.",
"type": "string",
"maxLength": 120
},
"style": {
"default": "Linear",
"type": "string",
"enum": [
"Bold",
"Bulk",
"Linear",
"Outline",
"Animated"
]
},
"theme": {
"default": "light",
"type": "string",
"enum": [
"light",
"dark"
]
},
"limit": {
"description": "1 to 24 icons.",
"anyOf": [
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_icon_svg(slug, style, allowFallback, format)
Retrieve a validated SVG variant after selecting a Digche slug. Prefer Linear for functional product UI unless the project uses another Digche style. Use format "jsx" when pasting straight into a .tsx/.jsx file as an inline element — "svg" (default) is the raw markup, meant for dangerouslySetInnerHTML, a static file, or any non-JSX consumer.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"style": {
"default": "Linear",
"type": "string",
"enum": [
"Bold",
"Bulk",
"Linear",
"Outline",
"Animated"
]
},
"allowFallback": {
"default": true,
"type": "boolean"
},
"format": {
"default": "svg",
"type": "string",
"enum": [
"svg",
"jsx"
]
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence