MCP 服务器

Svg/icons MCP

com.svgicons/mcp
设计与创意 开发者工具 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Searches a large open-source SVG icon catalog, retrieves icon metadata or SVGs, recommends icons for interfaces, and manages exportable icon collections.

add_icons_to_collection
Add icons to Icon Collection
Add catalog icons to an existing Icon Collection as plain entries (idempotent). Requires a Pro API token with collections:write and mcp:use scopes.
输入模式
{'type': 'object', 'required': ['collectionId', 'iconIds'], 'properties': {'iconIds': {'type': 'array', 'items': {'type': 'integer', 'description': 'A catalog icon ID.'}, 'maxItems': 200, 'description': 'Catalog icon IDs to add as plain entries; up to 200 per call, existing entries skipped.'}, 'collectionId': {'type': ['integer', 'string'], 'description': 'Numeric ID of the collection (integer or numeric string).'}}}
create_icon_kit
Create Icon Collection
Create a persistent Pro Icon Collection and optionally add icon IDs. Requires Pro API token with collections:write and mcp:use scopes.
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Collection name, up to 120 characters.'}, 'iconIds': {'type': 'array', 'items': {'type': 'integer', 'description': 'A catalog icon ID.'}, 'description': 'Catalog icon IDs to add at creation; up to 200, duplicates ignored.'}, 'framework': {'enum': ['svg', 'react-ts', 'vue', 'sprite'], 'type': 'string', 'description': 'Default export framework stored on the collection. Default svg.'}, 'colorPolicy': {'enum': ['currentColor', 'preserve', 'strip'], 'type': 'string', 'description': 'Stored color policy: currentColor rewrites fills, preserve keeps them, strip removes them. Default currentColor.'}, 'description': {'type': 'string', 'description': 'Optional collection description, up to 600 characters.'}, 'namingPolicy': {'enum': ['kebab', 'pascal', 'camel'], 'type': 'string', 'description': 'File and component naming: kebab (default), pascal, or camel.'}}}
export_icon_collection
Export Icon Collection
Queue a Pro Icon Collection export, including optional PNG packs. Requires an MCP token with exports:create.
输入模式
{'type': 'object', 'required': ['collectionId'], 'properties': {'png': {'type': 'object', 'description': 'PNG pack options: sizes (up to 6 allowed pixel values, default [512]), densities (1-3, default [1]), backgroundType and backgroundColor, iconColorMode and iconColor, padding 0-256 pixels (default 48).'}, 'formats': {'type': 'array', 'items': {'enum': ['svg-folder', 'svg-sprite', 'json-manifest', 'license-manifest', 'react-ts', 'vue', 'svelte', 'solid', 'blade', 'storybook', 'npm-package', 'png-pack', 'iconify-json', 'png'], 'type': 'string', 'description': 'An export format identifier; png is shorthand for png-pack.'}, 'description': 'Formats to build. Defaults to the basic set: SVG folder, SVG sprite, JSON manifest, license manifest.'}, 'sizeProps': {'type': 'boolean', 'description': 'Emit size props on framework components. Default true.'}, 'titleProp': {'type': 'boolean', 'description': 'Include an accessible title prop on components. Default true.'}, 'decorative': {'type': 'boolean', 'description': 'Mark components decorative (aria-hidden) by default. Default true.'}, 'typescript': {'type': 'boolean', 'description': 'Emit TypeScript where the format supports it. Default true.'}, 'colorPolicy': {'enum': ['currentColor', 'preserve', 'strip'], 'type': 'string', 'description': "currentColor rewrites fills, preserve keeps them, strip removes them. When omitted, collections carrying styling (applied style or custom icons) default to preserve; plain collections use the collection's stored policy (currentColor unless changed)."}, 'defaultSize': {'type': 'integer', 'maximum': 1024, 'minimum': 1, 'description': 'Default component render size in pixels, 1-1024. Default 24.'}, 'packageName': {'type': 'string', 'pattern': '^(?:@[a-z0-9][a-z0-9._-]*/[a-z0-9][a-z0-9._-]*|[a-z0-9][a-z0-9._-]*)$', 'maxLength': 214, 'description': 'npm package name for npm-package exports, lowercase, optionally scoped.'}, 'collectionId': {'type': ['integer', 'string'], 'description': 'Numeric ID of the collection (integer or numeric string).'}, 'namingPolicy': {'enum': ['kebab', 'pascal', 'camel'], 'type': 'string', 'description': "File and component naming: kebab, pascal, or camel. When omitted, uses the collection's stored policy (kebab unless changed)."}, 'packageVersion': {'type': 'string', 'pattern': '^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$', 'maxLength': 64, 'description': 'Semver version for npm-package exports, such as 1.0.0. Default 0.1.0.'}, 'componentSuffix': {'type': 'string', 'pattern': '^[A-Za-z][A-Za-z0-9]{0,31}$', 'description': 'Component name suffix, 1-32 letters or digits starting with a letter. Default Icon.'}}}
export_icon_png
Export icon as PNG
Render one icon as PNG or a ZIP of PNG variants. Requires the Pro Plan and an MCP token with icons:read and exports:create scopes.
输入模式
{'type': 'object', 'required': ['id', 'iconName'], 'properties': {'id': {'type': 'integer', 'minimum': 1, 'description': 'The catalog icon ID.'}, 'zip': {'type': 'boolean', 'description': 'Return a ZIP of all size and density variants instead of a single PNG. Default false.'}, 'sizes': {'type': 'array', 'items': {'enum': [16, 24, 32, 48, 96, 128, 256, 512, 1024], 'type': 'integer', 'description': 'Square canvas size in pixels.'}, 'maxItems': 4, 'description': 'Canvas sizes to render, up to 4 of the allowed pixel values. Default [512].'}, 'padding': {'type': 'integer', 'maximum': 256, 'minimum': 0, 'description': 'Padding around the icon in pixels, 0-256. Default 48.'}, 'filename': {'type': 'string', 'description': 'Base filename for the generated file. Defaults to the icon name.'}, 'iconName': {'type': 'string', 'description': 'The icon slug/name from the URL. Required to prevent ID-only bulk export.'}, 'densities': {'type': 'array', 'items': {'enum': [1, 2, 3, 4], 'type': 'integer', 'description': 'Device-pixel-ratio multiplier.'}, 'maxItems': 2, 'description': 'Density multipliers to render, up to 2. Default [1].'}, 'iconColor': {'type': 'string', 'description': 'Hex icon color used when iconColorMode is custom. Default #000000.'}, 'iconColorMode': {'enum': ['preserve', 'black', 'white', 'custom'], 'type': 'string', 'description': 'preserve (default) keeps source colors; black, white, or custom recolor the icon.'}, 'backgroundType': {'enum': ['transparent', 'solid'], 'type': 'string', 'description': 'Background fill. Default transparent.'}, 'backgroundColor': {'type': 'string', 'description': 'Hex background color used when backgroundType is solid. Default #ffffff.'}}}
generate_icon_kit_for_project
Generate Icon Collection for project
Recommend and persist an Icon Collection for a project brief. Requires Pro API token with collections:write and mcp:use scopes.
输入模式
{'type': 'object', 'required': ['projectDescription'], 'properties': {'screens': {'type': 'array', 'items': {'type': 'string', 'description': 'A screen or page name, such as Billing settings.'}, 'description': 'Optional screen or page names that contribute extra concepts.'}, 'category': {'type': 'string', 'description': 'Optional icon set category filter, including New.'}, 'maxIcons': {'type': 'integer', 'maximum': 64, 'minimum': 1, 'description': 'Maximum icons in the generated collection, 1-64. Default 16.'}, 'framework': {'enum': ['svg', 'react-ts', 'vue', 'sprite'], 'type': 'string', 'description': 'Default export framework stored on the collection. Default svg.'}, 'colorPolicy': {'enum': ['currentColor', 'preserve', 'strip'], 'type': 'string', 'description': 'Stored color policy: currentColor rewrites fills, preserve keeps them, strip removes them. Default currentColor.'}, 'projectName': {'type': 'string', 'description': 'Optional collection name; derived from the description when omitted.'}, 'namingPolicy': {'enum': ['kebab', 'pascal', 'camel'], 'type': 'string', 'description': 'File and component naming: kebab (default), pascal, or camel.'}, 'requiredConcepts': {'type': 'array', 'items': {'type': 'string', 'description': 'One concept keyword.'}, 'description': 'Concepts that must be searched, merged with concepts extracted from the brief.'}, 'projectDescription': {'type': 'string', 'description': 'Project brief used to extract icon concepts, up to 1500 characters.'}}}
get_icon
Get icon metadata or SVG
Return one icon by ID. Metadata is public; raw SVG requires a Pro API token with icons:read and mcp:use scopes.
只读
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'minimum': 1, 'description': 'The catalog icon ID, as shown in search results and icon page URLs.'}, 'format': {'enum': ['metadata', 'svg'], 'type': 'string', 'description': 'svg is an alias for includeSvg=true; metadata (default) returns metadata only.'}, 'includeSvg': {'type': 'boolean', 'description': 'Include the raw body and wrapped SVG markup. Requires a Pro token with icons:read. Default false.'}}}
get_icon_collection
Get Icon Collection
Read one Icon Collection with its paginated entries. Custom-icon entries include entryId, customEditId, customName, and their customized SVG snapshot as the body. Requires a Pro API token with collections:read and mcp:use scopes.
只读
输入模式
{'type': 'object', 'required': ['collectionId'], 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': 'One-based page number. Default 1.'}, 'perPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Entries per page, 1-100. Default 50.'}, 'collectionId': {'type': ['integer', 'string'], 'description': 'Numeric ID of the collection (integer or numeric string).'}}}
list_icon_collections
List Icon Collections
List your persistent Icon Collections with icon counts. Requires a Pro API token with collections:read and mcp:use scopes.
只读
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': 'One-based page number. Default 1.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Collections per page, 1-50. Default 20.'}, 'query': {'type': 'string', 'description': 'Optional name or slug filter.'}}}
recommend_icons_for_ui
Recommend icons for UI
Recommend icon candidates for a UI description using svgicons.com search metadata.
只读
输入模式
{'type': 'object', 'required': ['uiDescription'], 'properties': {'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'Max recommendations, 1-30 with a Pro token (1-10 otherwise). Default 8.'}, 'category': {'type': 'string', 'description': 'Optional icon set category filter, including New.'}, 'concepts': {'type': 'array', 'items': {'type': 'string', 'description': 'One concept keyword, such as settings or invoice.'}, 'description': 'Optional explicit concept keywords, merged with concepts extracted from the description.'}, 'uiDescription': {'type': 'string', 'description': 'Product UI, screen, or feature description.'}}}
remove_icon_from_collection
Remove icon from Icon Collection
Remove an icon from an Icon Collection. Entry-precise by default: only the plain entry is removed and custom variants survive; set allVariants true to remove every entry of the icon. Requires a Pro API token with collections:write and mcp:use scopes.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['collectionId', 'iconId'], 'properties': {'iconId': {'type': 'integer', 'minimum': 1, 'description': 'Numeric ID of the catalog icon whose entry should be removed.'}, 'allVariants': {'type': 'boolean', 'default': False, 'description': 'true removes every entry of the icon, including custom variants. Default false: entry-precise, only the plain entry is removed and custom variants survive.'}, 'collectionId': {'type': ['integer', 'string'], 'description': 'Numeric ID of the collection (integer or numeric string).'}}}
search_icons
Search SVG icons
Search svgicons.com icons and return icon metadata. Raw SVG requires a Pro API token with icons:read and mcp:use scopes.
只读
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results, 1-50. Default 10 (20 with a Pro token); capped at 10 anonymous, 20 member, 50 Pro.'}, 'query': {'type': 'string', 'description': 'Icon search query, such as "arrow left", "settings", or "github".'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Zero-based result offset for pagination. Default 0.'}, 'category': {'type': 'string', 'description': 'Optional icon set category, including New.'}, 'includeSvg': {'type': 'boolean', 'description': 'Include wrapped SVG markup. Requires Pro token icons:read.'}, 'iconSetPrefix': {'type': 'string', 'description': 'Optional icon set prefix to limit the search.'}}}
search_icon_sets
Search SVG icon sets
Search icon sets by name, prefix, author, category, or description.
只读
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'minimum': 1, 'description': 'One-based page number. Default 1.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Icon sets per page, 1-50. Default 20.'}, 'query': {'type': 'string', 'description': 'Search text matched against icon set name, prefix, author, category, and description.'}, 'category': {'type': 'string', 'description': 'Optional category, including New.'}}}
已添加
remove_icon_from_collection
2026年9月17日 12:37
已添加
add_icons_to_collection
2026年9月17日 12:37
已添加
get_icon_collection
2026年9月17日 12:37
已添加
list_icon_collections
2026年9月17日 12:37
已添加
export_icon_collection
2026年9月17日 12:37
已添加
generate_icon_kit_for_project
2026年9月17日 12:37
已添加
create_icon_kit
2026年9月17日 12:37
已添加
recommend_icons_for_ui
2026年9月17日 12:37
已添加
export_icon_png
2026年9月17日 12:37
已添加
get_icon
2026年9月17日 12:37
已添加
search_icon_sets
2026年9月17日 12:37
已添加
search_icons
2026年9月17日 12:37