Supericons
What this MCP does
Searches, recommends, previews, and retrieves SVG icons from multiple public libraries for interface and coding workflows.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'library'], 'properties': {'id': {'type': 'string', 'description': 'Exact icon ID without the library prefix, for example "database", "user-circle", "brain-circuit", or "arrow-down".'}, 'style': {'enum': ['any', 'outline', 'solid'], 'type': 'string', 'default': 'any', 'description': 'Optional style preference. Material Symbols supports outline and solid. Other hosted libraries report their verified styles in list_libraries.'}, 'library': {'type': 'string', 'description': 'Required library key for the exact icon. Supported values include si (Supericons AI and developer tool logos), lucide, tabler, phosphor, heroicons, bootstrap, iconoir, ionicons, material, simpleicons (Simple Icons brand logos), and mingcute.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string', 'description': 'Stable error code when the exact icon is unavailable.'}, 'hint': {'type': 'string', 'description': 'Plain-language explanation of how to recover.'}, 'icon': {'type': 'object', 'required': ['id', 'name', 'library', 'library_key', 'library_name', 'library_label', 'icon_ref', 'icon_preview_url', 'type', 'style', 'svg'], 'properties': {'id': {'type': 'string', 'description': 'Icon ID without the library prefix.'}, 'svg': {'type': 'string', 'description': 'Inline SVG markup for the icon.'}, 'name': {'type': 'string', 'description': 'Human-readable icon name.'}, 'type': {'type': 'string', 'description': 'Icon asset type, normally svg.'}, 'style': {'type': 'string', 'description': 'Icon style such as outline or solid.'}, 'library': {'type': 'string', 'description': 'Source icon library key.'}, 'icon_ref': {'type': 'string', 'description': 'Stable icon reference in library:id format.'}, 'semantic': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Public semantic guidance for search and agent selection.'}, 'libraryName': {'type': 'string', 'description': 'Legacy camelCase public source library name.'}, 'library_key': {'type': 'string', 'description': 'Source icon library key repeated for explicit agent display.'}, 'library_name': {'type': 'string', 'description': 'Public source library name, for example Supericons or Simple Icons.'}, 'library_label': {'type': 'string', 'description': 'Public source library label, for example Supericons (si).'}, 'icon_preview_url': {'type': ['string', 'null'], 'description': 'Browser URL for visual inspection of this icon.'}, 'search_preview_url': {'type': ['string', 'null'], 'description': 'Browser URL for visual inspection of the source search results.'}}, 'description': 'Exact matching icon when found.', 'additionalProperties': False}, 'error': {'type': 'string', 'description': 'Recoverable error message when no exact icon is found.'}, 'next_step': {'type': 'string', 'description': 'Recommended next tool action.'}, 'retryable': {'type': 'boolean', 'description': 'Whether repeating the same exact lookup may succeed.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['libraries', 'publicRecordCount'], 'properties': {'libraries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'description', 'count', 'outlineCount', 'solidCount', 'supportedStyles'], 'properties': {'id': {'type': 'string', 'description': 'Library key used in tool calls.'}, 'name': {'type': 'string', 'description': 'Human-readable library name.'}, 'count': {'type': 'number', 'description': 'Number of icons in the library.'}, 'label': {'type': 'string', 'description': 'Human-readable library label with key, for example Supericons (si).'}, 'solidCount': {'type': 'number', 'description': 'Number of solid icons served by the hosted MCP server.'}, 'description': {'type': 'string', 'description': 'Brief public description of the icon library.'}, 'outlineCount': {'type': 'number', 'description': 'Number of outline icons served by the hosted MCP server.'}, 'supportedStyles': {'type': 'array', 'items': {'enum': ['outline', 'solid'], 'type': 'string'}, 'description': 'Styles verified on the hosted serving path.'}}, 'additionalProperties': False}, 'description': 'Free icon libraries available through this hosted MCP server.'}, 'publicRecordCount': {'type': 'number', 'description': 'Number of public semantic icon records searchable through the hosted MCP server.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': ['number', 'string'], 'default': 12, 'description': 'Requested inline icon count. Values outside 1 to 12 are safely clamped with a warning. Numeric strings are accepted.'}, 'query': {'type': 'string', 'description': 'Optional search query to preview visually, for example "license plate recognition camera scan car".'}, 'style': {'$ref': '#/properties/query', 'default': 'any', 'description': 'Optional style preference. Unsupported values are ignored with a warning.'}, 'locale': {'$ref': '#/properties/query', 'description': 'Optional locale for multilingual search terms. Supported values: zh-Hans, zh-Hant, ja, ko, es, de, pt, ar, hi, vi, th. Unsupported values are ignored with a warning.'}, 'library': {'$ref': '#/properties/query', 'description': 'Optional library key. Supported values include si (Supericons AI and developer tool logos), lucide, tabler, phosphor, heroicons, bootstrap, iconoir, ionicons, material, simpleicons (Simple Icons brand logos), and mingcute.'}, 'icon_refs': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'Optional fixed icon refs in library:id format. Arrays, a single ref, and comma-separated refs are accepted. Up to 100 are accepted, 24 appear on the browser preview, and 12 are rendered inline. Larger lists are safely truncated with a warning.'}, 'include_image': {'type': 'boolean', 'default': True, 'description': 'When true, include a PNG contact sheet as MCP image content. Boolean strings are accepted. A preview_url is always returned.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['preview_url', 'image_included', 'rendered_count', 'browser_preview_count', 'next_step', 'client_display_note', 'results'], 'properties': {'error': {'type': 'string', 'description': 'Recoverable error message when preview inputs are missing or invalid.'}, 'query': {'type': ['string', 'null'], 'description': 'Search query used for the visual preview, if any.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'library', 'library_key', 'icon_ref'], 'properties': {'id': {'type': 'string', 'description': 'Icon ID without the library prefix.'}, 'name': {'type': 'string', 'description': 'Human-readable icon name.'}, 'style': {'type': 'string', 'description': 'Icon style such as outline or solid.'}, 'library': {'type': 'string', 'description': 'Source icon library key.'}, 'icon_ref': {'type': 'string', 'description': 'Stable icon reference in library:id format.'}, 'semantic': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Public semantic guidance for search and agent selection.'}, 'library_key': {'type': 'string', 'description': 'Source icon library key repeated for explicit agent display.'}, 'library_name': {'type': 'string', 'description': 'Public source library name, for example Supericons or Simple Icons.'}, 'library_label': {'type': 'string', 'description': 'Public source library label, for example Supericons (si).'}, 'icon_preview_url': {'type': ['string', 'null'], 'description': 'Browser URL for visual inspection of this icon.'}}, 'additionalProperties': False}, 'description': 'Icons included in the visual preview.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Unsupported optional inputs that were safely ignored.'}, 'image_url': {'type': ['string', 'null'], 'description': 'Direct PNG URL for clients or Markdown renderers that can show remote images.'}, 'next_step': {'type': 'string', 'description': 'Useful next action for the caller.'}, 'preview_url': {'type': 'string', 'description': 'Browser URL for visual inspection.'}, 'image_included': {'type': 'boolean', 'description': 'Whether this response includes MCP image content.'}, 'markdown_image': {'type': ['string', 'null'], 'description': 'Ready-made Markdown image snippet for final answers in clients that render remote Markdown images.'}, 'rendered_count': {'type': 'number', 'description': 'Number of icons rendered in the inline preview.'}, 'truncated_from': {'type': 'number', 'description': 'Original icon ref count when the input was truncated.'}, 'client_display_note': {'type': 'string', 'description': 'Plain-language note for clients that do not render images inline.'}, 'browser_preview_count': {'type': 'number', 'description': 'Number of accepted icon refs available at preview_url.'}, 'suggested_response_markdown': {'type': 'string', 'description': 'Ready-to-use answer with the image, refs, and browser fallback link.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'task': {'type': 'string', 'default': '', 'description': 'Overall UI task, for example "choose icons for an AI dashboard sidebar" or "select bottom navigation icons for a finance app". Missing task text returns a structured recovery message.'}, 'slots': {'type': 'array', 'items': {'type': 'string'}, 'default': [], 'description': 'List of 1 to 20 UI slots to fill, for example ["model", "prompt", "dataset", "evaluation"]. A single string is accepted as one slot. Larger lists return a structured split instruction.'}, 'style': {'$ref': '#/properties/task', 'default': 'any', 'description': 'Optional style preference. Unsupported values are ignored with a warning.'}, 'locale': {'$ref': '#/properties/task', 'description': 'Optional locale for multilingual slot labels. Unsupported values are ignored with a warning.'}, 'library': {'$ref': '#/properties/task', 'description': 'Optional library key when the user wants a consistent icon family. Supported values include si (Supericons AI and developer tool logos), lucide, tabler, phosphor, heroicons, bootstrap, iconoir, ionicons, material, simpleicons (Simple Icons brand logos), and mingcute.'}, 'response_mode': {'$ref': '#/properties/task', 'default': 'plan', 'description': 'Response size mode: plan, assets, or full. Unsupported values use plan with a warning.'}, 'limit_per_slot': {'type': ['number', 'string'], 'default': 3, 'description': 'Number of choices per slot. Values outside 1 to 5 are clamped with a warning. Numeric strings are accepted.'}, 'include_query_frame': {'type': 'boolean', 'default': False, 'description': 'Optional public-safe diagnostics for query understanding. Boolean strings are accepted. Leave false for normal compact responses.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task', 'response_mode', 'slot_count', 'all_slots_resolved', 'needs_clarification', 'clarification_slots', 'low_confidence_slots', 'fallback_recommended', 'results'], 'properties': {'code': {'type': 'string', 'description': 'Stable error code for programmatic recovery.'}, 'hint': {'type': 'string', 'description': 'Plain-language recovery instruction.'}, 'task': {'type': 'string', 'description': 'Original UI task.'}, 'error': {'type': 'string', 'description': 'Plain-language reason the recommendation did not complete.'}, 'style': {'type': 'string', 'description': 'Style preference used for recommendations.'}, 'status': {'type': 'number', 'description': 'HTTP status from a hosted dependency failure.'}, 'details': {'type': 'object', 'description': 'Structured limits or failure details.', 'additionalProperties': {}}, 'library': {'type': 'string', 'description': 'Library filter used for recommendations, if provided.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}, 'description': 'Recommended icon choices grouped by requested UI slot.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Unsupported optional inputs that were safely ignored or clamped.'}, 'next_step': {'type': 'string', 'description': 'Useful next action for the caller.'}, 'retryable': {'type': 'boolean', 'description': 'Whether a corrected or later request may succeed.'}, 'slot_count': {'type': 'number', 'description': 'Number of UI slots requested.'}, 'preview_url': {'type': 'string', 'description': 'Browser URL for visual inspection of the recommended icon set.'}, 'query_frame': {'type': 'object', 'description': 'Optional public-safe query understanding diagnostics for the task.', 'additionalProperties': {}}, 'response_mode': {'enum': ['plan', 'assets', 'full'], 'type': 'string', 'description': 'Response size mode used for this recommendation.'}, 'search_runtime': {'type': 'object', 'required': ['mode', 'fallback_used', 'hosted_search_calls', 'local_failure_code', 'index_generated_at'], 'properties': {'mode': {'enum': ['local_first', 'hosted_fallback', 'hosted'], 'type': 'string'}, 'fallback_used': {'type': 'boolean'}, 'index_generated_at': {'type': 'string'}, 'local_failure_code': {'type': ['string', 'null']}, 'hosted_search_calls': {'type': 'number'}}, 'description': 'Search execution path used for this recommendation.', 'additionalProperties': False}, 'all_slots_resolved': {'type': 'boolean', 'description': 'Whether every requested slot received a recommendation without clarification.'}, 'clarification_slots': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Slots that need the caller to choose an interpretation.'}, 'needs_clarification': {'type': 'boolean', 'description': 'Whether one or more ambiguous slots require more context.'}, 'retry_after_seconds': {'type': 'number', 'description': 'Seconds to wait before retrying a rate-limited recommendation.'}, 'fallback_recommended': {'type': 'boolean', 'description': 'Whether the caller should consider direct search or clarification.'}, 'low_confidence_slots': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Slots whose result is missing or has low confidence.'}, 'suggested_response_markdown': {'type': 'string', 'description': 'Plain-language explanation suitable for the agent response.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of icons from 1 to 50. Numeric strings are accepted.'}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Icon concept or search phrase, for example "database", "user profile", "chill", "trash", "upload cloud", "AI model", or "beautiful".'}, 'style': {'$ref': '#/properties/library', 'default': 'any', 'description': 'Optional style preference. Unsupported values are ignored with a warning.'}, 'locale': {'$ref': '#/properties/library', 'description': 'Optional locale for multilingual search terms. Supported values: zh-Hans, zh-Hant, ja, ko, es, de, pt, ar, hi, vi, th. Unsupported values are ignored with a warning.'}, 'library': {'type': 'string', 'description': 'Optional library key only when the user named a library. Omit it to search all libraries. Do not use all as a library key. Supported values include si (Supericons AI and developer tool logos), lucide, tabler, phosphor, heroicons, bootstrap, iconoir, ionicons, material, simpleicons (Simple Icons brand logos), and mingcute.'}, 'library_mode': {'$ref': '#/properties/library', 'description': 'Optional library behavior. Omit a self-chosen library and search all, or use prefer with that library. Use strict only when the user explicitly requires the named library. All searches every eligible library. Unsupported or incomplete combinations are safely normalized with a warning.'}, 'include_query_frame': {'type': 'boolean', 'default': False, 'description': 'Optional public-safe diagnostics for query understanding. Boolean strings are accepted. Leave false for normal compact responses.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'library_mode', 'requested_library', 'suggested_response_markdown', 'next_step'], 'properties': {'code': {'type': 'string', 'description': 'Stable code for a structured no-result.'}, 'hint': {'type': 'string', 'description': 'Plain-language recovery hint for a structured no-result.'}, 'error': {'type': 'string', 'description': 'Plain-language error for a structured no-result.'}, 'status': {'type': 'number', 'description': 'HTTP status from an upstream search failure.'}, 'details': {'type': 'object', 'description': 'Structured rate-limit or upstream failure details.', 'additionalProperties': {}}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'library', 'library_key', 'library_name', 'library_label', 'icon_ref', 'icon_preview_url', 'type', 'style', 'svg'], 'properties': {'id': {'type': 'string', 'description': 'Icon ID without the library prefix.'}, 'svg': {'type': 'string', 'description': 'Inline SVG markup for the icon.'}, 'name': {'type': 'string', 'description': 'Human-readable icon name.'}, 'type': {'type': 'string', 'description': 'Icon asset type, normally svg.'}, 'style': {'type': 'string', 'description': 'Icon style such as outline or solid.'}, 'library': {'type': 'string', 'description': 'Source icon library key.'}, 'icon_ref': {'type': 'string', 'description': 'Stable icon reference in library:id format.'}, 'semantic': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'null'}], 'description': 'Public semantic guidance for search and agent selection.'}, 'libraryName': {'type': 'string', 'description': 'Legacy camelCase public source library name.'}, 'library_key': {'type': 'string', 'description': 'Source icon library key repeated for explicit agent display.'}, 'library_name': {'type': 'string', 'description': 'Public source library name, for example Supericons or Simple Icons.'}, 'library_label': {'type': 'string', 'description': 'Public source library label, for example Supericons (si).'}, 'icon_preview_url': {'type': ['string', 'null'], 'description': 'Browser URL for visual inspection of this icon.'}, 'search_preview_url': {'type': ['string', 'null'], 'description': 'Browser URL for visual inspection of the source search results.'}}, 'additionalProperties': False}, 'description': 'Matching icons with SVG code and semantic guidance.'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Unsupported optional inputs that were safely ignored.'}, 'image_url': {'type': 'string', 'description': 'Direct PNG URL when usable icons exist.'}, 'next_step': {'type': 'string', 'description': 'Useful next action for the caller.'}, 'retryable': {'type': 'boolean', 'description': 'Whether changing the query or filters may produce a result.'}, 'limit_scope': {'type': 'string', 'description': 'Allowance scope reported by a rate limit.'}, 'preview_url': {'type': 'string', 'description': 'Browser URL for visual inspection of this search result set.'}, 'query_frame': {'type': 'object', 'description': 'Optional public-safe query understanding diagnostics.', 'additionalProperties': {}}, 'library_mode': {'enum': ['strict', 'prefer', 'all'], 'type': 'string', 'description': 'Library behavior used for this search.'}, 'outcome_type': {'enum': ['results', 'no_match', 'tool_error'], 'type': 'string', 'description': 'Whether this response contains results, an honest no-match, or a tool failure.'}, 'result_count': {'type': 'number', 'description': 'Number of verified icons returned by this search.'}, 'markdown_image': {'type': 'string', 'description': 'Ready-made Markdown image when usable icons exist.'}, 'search_runtime': {'type': 'object', 'required': ['mode', 'fallback_used', 'hosted_search_calls', 'local_failure_code', 'index_generated_at'], 'properties': {'mode': {'enum': ['local_first', 'local_fallback', 'hosted_fallback', 'hosted', 'hosted_fused'], 'type': 'string'}, 'degraded': {'type': 'boolean'}, 'fallback_used': {'type': 'boolean'}, 'local_retry_used': {'type': 'boolean'}, 'local_fusion_used': {'type': 'boolean'}, 'index_generated_at': {'type': 'string'}, 'local_failure_code': {'type': ['string', 'null']}, 'local_result_count': {'type': 'number'}, 'hosted_failure_code': {'type': ['string', 'null']}, 'hosted_result_count': {'type': 'number'}, 'hosted_search_calls': {'type': 'number'}, 'local_attempt_count': {'type': 'number'}, 'hosted_circuit_state': {'anyOf': [{'enum': ['closed', 'open', 'half_open_ready'], 'type': 'string'}, {'type': 'null'}]}, 'hosted_failure_status': {'type': ['number', 'null']}, 'local_retry_recovered': {'type': 'boolean'}}, 'description': 'Search execution path used for this request.', 'additionalProperties': False}, 'top_result_ref': {'type': ['string', 'null'], 'description': 'Top ordered icon ref when results exist.'}, 'requested_library': {'type': ['string', 'null'], 'description': 'Preferred or required library, when supplied.'}, 'retry_after_seconds': {'type': 'number', 'description': 'Seconds to wait before retrying a rate-limited search.'}, 'result_interpretation': {'type': 'string', 'description': 'Plain-language guidance for interpreting this result count and outcome.'}, 'suggested_response_markdown': {'type': 'string', 'description': 'Compact answer that accurately reflects this response.'}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
Blixtworks
Offers pay-per-call utilities for text, image processing and analysis, data conversion, validation, web inspection, cryptography,…
Compose Preview Catalogs
Browses, renders, compares, audits, and edits Jetpack Compose preview catalogs and associated UI designs.
arch-tools-mcp
Provides general-purpose agent APIs for browser automation, web and PDF extraction, data conversion, email operations, fact check…
kernelcad
Authors, evaluates, reviews, simulates, edits, and exports parametric CAD assemblies and geometry from editable TypeScript-based …
floot
Creates, edits, previews, databases, and publishes full-stack web and mobile applications with hosted resources and deployment wo…
Raven
Supports coding agents with design audits, design-system guidance, and a configurable visual preference profile.