infyicon-mcp
Server Details
Search 161,000+ free hand-drawn icons and fetch ready-to-embed SVG or PNG from any MCP client.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- krupalghori44-dev/infyicon-mcp
- GitHub Stars
- 0
- Server Listing
- infyicon-mcp
Available Tools
8 toolsbulk_svgAInspect
Fetch the SVG markup for up to 20 Infyicon icons in one call (pass an array of ids). Use when building a UI or icon set so you grab several at once instead of calling get_icon_svg repeatedly.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Array of icon ids, e.g. ["home-2_101", "gear-1_202"] |
TDQS
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 adds useful behavioral context such as the 'up to 20' limit and 'one call' semantics. However, it does not disclose what happens for invalid IDs or when more than 20 are passed, nor the exact response shape.
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?
Two efficient sentences: the first states the action and constraint, the second provides the usage context and differentiates it from the sibling. There is no filler or repetition.
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?
For a single-parameter tool with high schema coverage, the description is largely complete: it gives the action, batch size, and usage context. The only notable gap is the absence of an output-shape note, but given there is no output schema, the description still provides enough to invoke the tool correctly.
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?
The input schema already provides 100% coverage, including format and an example for the sole required parameter. The description adds the 'up to 20' cap, which is helpful, but it does not add significant meaning beyond what the schema already conveys.
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 uses a specific verb ('Fetch'), names the resource ('SVG markup for up to 20 Infyicon icons'), and specifies the input shape ('pass an array of ids'). It clearly distinguishes itself from get_icon_svg by emphasizing the batch capability.
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?
The description states when to use the tool ('when building a UI or icon set') and explicitly contrasts it with an alternative ('instead of calling get_icon_svg repeatedly'). It does not spell out exclusions, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_icon_pngAInspect
Get direct PNG download URLs (16-512px, transparent background) for an Infyicon icon id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Icon id like hammer-16_66091 | |
| size | No | Optional single size; omit for all sizes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does convey key output traits: 'direct PNG download URLs', sizes ranging 16-512px, and 'transparent background'. However, it does not mention any error behavior, rate limits, or whether an invalid id returns no URLs or fails, so it falls short of full transparency.
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?
A single sentence conveys the tool's core purpose, output type, size range, transparency trait, and input requirement without redundancy. It is front-loaded and wastes no words.
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?
For a small, well-documented two-parameter tool with high schema coverage, the description is mostly sufficient. It omits an explicit return-shape explanation for the 'all sizes' case, but since output schema is absent and the schema already covers the optional size parameter, the description plus schema should allow an agent to invoke the tool correctly.
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 description coverage is 100%, with both 'id' and 'size' already documented in the input schema. The description adds the PNG/transparency context but does not elaborate on parameter behaviors beyond what the enum and property descriptions already provide. Baseline 3 applies.
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 a specific verb ('Get'), a specific resource ('direct PNG download URLs'), and a scope ('for an Infyicon icon id'). The explicit mention of 'PNG' naturally distinguishes it from the sibling tool get_icon_svg.
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?
The description makes it obvious that the tool is for retrieving PNG download URLs and implicitly not for SVG retrieval, but it does not explicitly name alternatives or state when not to use this tool. The context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_icon_svgAInspect
Get the full SVG markup of an Infyicon icon by id (format: slug_number, e.g. hammer-16_66091 — get ids from search_icons). Returns ready-to-embed SVG code.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Icon id like hammer-16_66091 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It clearly reveals that the operation returns ready-to-embed SVG markup rather than a URL or binary file. It does not describe error conditions or authentication, but for a simple one-parameter fetch this is acceptable.
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?
Two sentences with no filler: the action and output type are front-loaded, and the second sentence provides the necessary id-format and upstream source guidance. Every part earns its place.
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?
For a one-parameter tool with no output schema, the description fully covers what is needed: how to get the id, what the tool returns, and in what form. There is no missing information that would prevent correct usage.
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 coverage is 100% and the schema already gives the same id format and example. The description adds a useful provenance hint ('get ids from search_icons'), but most parameter meaning is already present in the input 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 specific action and resource: getting the full SVG markup of an Infyicon icon by id. It includes the id format and names the sibling tool (search_icons) as the source, making it easy to distinguish from get_icon_png and the other siblings.
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?
It explicitly tells callers to get ids from search_icons and implies the tool is the right choice when SVG source code is needed. It does not explicitly say to use get_icon_png for raster output, but the context makes that distinction reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesAInspect
List the most popular Infyicon icon categories with icon counts. Category pages live at https://infyicon.com/free-icons/.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max categories (default 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it delivers key behavioral context: the tool returns categories ordered by popularity, includes icon counts, and category slugs map to the URL pattern provided. It does not mention failure modes or pagination, but for such a simple list tool the disclosed behavior is sufficient.
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?
Two short sentences with no fluff. The first front-loads the core purpose and result content, the second adds a valuable URL pattern. Every sentence earns its place.
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?
For a zero-required-parameter list tool with no output schema, the description plus the schema fully covers what the agent needs: what it lists, what each item includes, the URL pattern, and the optional limit. A bit more detail on result shape would make it 5, but it is otherwise complete.
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?
The only parameter 'limit' is already fully described in the schema with min, max, and default value. The description itself may not mention the parameter, but with 100% schema coverage the baseline applies and no critical semantic information is missing.
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?
States a specific verb ('List') and resource ('Infyicon icon categories'), with the scope qualifier 'most popular' and the output content 'icon counts'. It makes the tool distinct from sibling icon-download/search tools without needing to name them.
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?
The description implies the tool is for browsing category listings, especially popular ones, but it does not give explicit when-to-use or when-not-to-use guidance compared to search_icons or other siblings. The intended use is inferable rather than fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
popular_iconsAInspect
Get popular/featured Infyicon icons without a search query — ideal when the user just wants "a nice icon" for something. Optionally restrict to one style. Returns ids, styles, page/SVG/PNG URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 12) | |
| style | No | Optional: restrict to one style |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates this is a read-only retrieval operation returning a list and specifies the output contents: ids, styles, and page/SVG/PNG URLs. It also discloses the optional style restriction behavior, which is useful context beyond the parameter schema.
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?
The description is two sentences with no filler. The defining use case is front-loaded, the optional parameter is summarized, and the return shape is included. Every sentence earns its place.
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?
For a simple read-only tool with two optional parameters and no output schema, the description covers the essential context: what the tool returns, when to use it, and the one significant optional behavior. It doesn't mention ordering, pagination, or rate limits, but for this low-complexity tool those are not critical gaps.
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 description coverage is 100%, with both limit and style documented in the schema. The description adds only "Optionally restrict to one style," which restates the style parameter without deeper meaning. Since the schema already covers the parameters, a baseline of 3 is appropriate.
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 uses a specific verb and resource: "Get popular/featured Infyicon icons without a search query." It clearly distinguishes this tool from sibling search-oriented tools like search_icons by emphasizing the no-query use case. It also states what the user gets: ids, styles, and URLs.
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?
The description gives concrete guidance on when to use the tool: "without a search query" and "ideal when the user just wants 'a nice icon'." It implies the alternative is a search tool, though it does not explicitly name search_icons or state cases where popular_icons would not be appropriate, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_iconsAInspect
Search 161,000+ free Infyicon vector icons. Returns matches with icon id, style, page URL, SVG and PNG URLs. Styles: outline (black line), fill (black solid), color-outline, color-fill. Free to use with attribution to infyicon.com.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 10) | |
| query | Yes | What to search for, e.g. "shopping cart", "doctor", "hammer" | |
| style | No | Optional: restrict to one style | |
| offset | No | Optional: skip this many results for pagination. Use next_offset from a previous call to get the next page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It proactively discloses return contents, style options, and licensing terms, but does not mention pagination behavior or next_offset usage.
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?
Three dense sentences communicate purpose, scale, return fields, style variants, and licensing. Every sentence earns its place with no redundancy.
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?
With no output schema, the description adequately explains the main result contents and style options. It omits pagination details, though the offset parameter schema partially covers that.
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 description coverage is 100%, so the schema already documents all parameters with descriptions and examples. The description adds stylistic and output context but does not substantially deepen parameter-level understanding.
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?
States a specific verb (Search), a concrete resource (161,000+ Infyicon vector icons), and the returned fields. This clearly differentiates it from sibling tools like get_icon_svg, popular_icons, and related_icons.
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?
The description clearly establishes the use case: keyword search for icon assets. It does not explicitly name alternative tools or state when not to use this tool, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uicons_lookupAInspect
Look up CSS class names in the Infyicon UI webfont (61,000+ glyphs). Use the returned class like with stylesheet https://infyicon.com/uicons/uicons.css
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Glyph name to search, e.g. "home", "arrow" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full burden of explaining side effects and limits. It implies a read-only lookup by saying 'look up' and shows the expected result pattern, but it does not disclose match semantics, such as exact match, partial search, case-insensitivity, what happens on no match, or return shape. It adds some behavioral context through the usage example, but important traits remain unspecified.
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?
The description is extremely concise: two sentences that deliver purpose, a usage example, and the needed stylesheet link. There is no unnecessary wording, and the core purpose is front-loaded.
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?
The definition works for a one-parameter lookup tool because the schema is clear and the usage example helps the agent call it correctly. However, the description does not explain the result format, whether multiple matches are returned, or how this lookup differs from search_icons. Without an output schema or note differentiating it from sibling tools, an agent could still be uncertain about invocation expectations.
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?
The single parameter `name` is completely documented in the input schema with the description 'Glyph name to search' and a couple of examples, so schema coverage is 100%. The tool description does not add any additional meaning about the parameter beyond that, so the baseline score of 3 is appropriate.
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 action is 'Look up CSS class names in the Infyicon UI webfont' and gives a concrete usage example with an <i> tag. It specifically identifies the resource (CSS class names) and the data source (61,000+ glyph webfont), distinguishing it from sibling tools that return PNG, SVG, or category lists.
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?
The description tells the agent how to use an output like <i class='ii-r-home'></i> and supplies the stylesheet URL, but it does not say when to choose this tool over search_icons, get_icon_png, or get_icon_svg. The 'when to use' context is implied rather than explicit, and no exclusion or alternative guidance is provided.
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. Dates show when Glama detected each change.
4 tool updates
- Added
bulk_svg - Added
popular_icons - Added
related_icons - Changed
search_icons1 field changed- added
Input schema / properties / offsetAdded value: +{ + "description": "Optional: skip this many results for pagination. Use next_offset from a previous call to get the next page.", + "minimum": 0, + "type": "integer" +}
5 tool updates
- First observed
get_icon_png - First observed
get_icon_svg - First observed
list_categories - First observed
search_icons - First observed
uicons_lookup
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Icons for agentic development: search & fetch 366,000+ open-source icons as SVG/PNG. No API key.
Search and download icons, illustrations, elements and emojis in PNG or SVG formats.
Search open SVG icon packs and fetch exact SVG markup from coding agents through MCP.
Multilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.
Related MCP Servers
- 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.120MIT
- FlicenseAqualityBmaintenanceMCP server that finds open-source, commercially-usable icons and returns direct SVG download links, searching over 300,000 icons with license filtering.1-

Streamline MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables searching, retrieving, and downloading Streamline's icons, illustrations, elements, and emojis in PNG or SVG formats with customization options, via MCP-compatible clients.-- AlicenseAqualityCmaintenanceAll-in-one asset search MCP server for AI coding agents, enabling search for icons, logos, stock photos, vectors, and emoji from a single tool call.82MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clear, distinct roles: search, list categories, and fetch SVG/PNG by id. Some overlap exists because search_icons already returns SVG and PNG URLs, but get_icon_svg/get_icon_png are clearly meant for direct retrieval by known id.
The naming pattern is generally consistent using verb_noun style: get_icon_svg, get_icon_png, list_categories, search_icons. uicons_lookup deviates slightly by starting with a product name instead of a verb, but it is still understandable and similar in spirit.
Five tools is a well-scoped size for an icon service: search, browse categories, retrieve two format types, and check webfont usage. Each tool has a clear purpose and none feel redundant enough to remove.
The core icon workflow is covered: search, category discovery, SVG/PNG retrieval, and UI-font lookup. Minor gaps exist around category-specific icon listing or richer metadata, but agents can successfully search and fetch icons end-to-end.