Skip to main content
Glama
691,427 tools. Updated 2026-10-23 15:15

"Icons8" matching MCP tools:

  • Get a PNG URL for an illustration - use when SVG is not available to you. NOTE: SVG is preferred where you can get it (use get_illustration_svg). Sizes: "low" (a small preview), "standard" (a mid-size raster), "hd" (the largest). "low" and "standard" work for everyone; "hd" needs an account whose plan covers this illustration, the same as SVG. The exact pixel dimensions depend on the illustration - read `width`/`height` from the response rather than assuming a fixed size. The URL is presigned and expires in one hour. For a link to keep, use the permanent `preview.url` in a search result. Args: illustration_id: The id from a search_illustrations result (field illustrations[].id) ctx: MCP context for API access size: "low", "standard" (default) or "hd" Returns: {"url", "width", "height", "expires_in_seconds"}, or {"error"}. "hd" counts toward the paid-download limit: a refusal carries "retry_after_seconds".
    ConnectorAPI key
  • Get an animated icon's motion, as Lottie, GIF or animated PNG. Only an icon whose search result says isAnimated has one, and about one icon in fifty does. Find them with search_icons(animated=True). Every animated hit already carries permanent animation.gif and animation.apng links, so reach for this tool for the Lottie, or to learn what size a link actually renders at. Pick by what you are building: - "lottie" returns the animation as compact Lottie/Bodymovin JSON text - parse it, then hand it to lottie-web, Rive, SwiftUI or Android. It is vector, so it scales to any size and `size` does not apply. Prefer it on the web - but it is the paid format, so it needs an Icons8 sign-in or a personal API key. "gif" and "apng" need none. - "gif" plays anywhere with no player. - "apng" keeps a real alpha channel, so it sits on a coloured background without a matte. **gif and apng come in one size: the one the icon's style draws at.** Most styles ignore a requested size - m_outlined renders 24, ios11 30, color 48, office80 80 - and only a few scale. So ask without a size and use what comes back; the result says what it was. If you need a particular size, that is what Lottie is for. Icons8 publishes no animated SVG for icons. An animated icon's SVG is a still frame, and so are its png, jpg and webp. Args: icon_id: The id from a search_icons result (field icons[].id) ctx: MCP context for API access format: "lottie", "gif" or "apng" (default: "gif"). "lottie" needs a credential; the other two do not size: Pixels, for gif and apng only. Leave it out and you get whatever size this icon's style draws at, with "size" in the result saying which - that is the normal way to call this. Naming a size the icon is not drawn at is refused rather than returning a link that misstates it. A Lottie is vector, so this is not applied to it Returns: For "lottie", a dictionary whose "lottie" is the animation as a compact JSON string - parse it before handing it to a player. For "gif" and "apng", a dictionary with a "url" that is permanent and needs no credential, and the "size" in pixels it renders at - absent only if the host answered something this server could not measure. On failure, an "error" saying what to ask for instead. A Lottie counts toward the paid-download limit: a refusal carries "retry_after_seconds" and the free "animation" links
    ConnectorAPI key
  • List all available illustration styles. Style is what keeps a set of illustrations looking like one family. Pick one style and pass its `pretty_id` to search_illustrations for every illustration in a project, the way you would keep to a single icon platform. Args: ctx: MCP context for API access limit: Styles per page (default: 50) page: Page number, 1-based (default: 1) free_only: Only styles whose illustrations a free Icons8 account can use and redistribute. A style without this flag needs a paid account - the ordinary case for a subscriber, not a style this user is barred from animated: True for animated styles only, False for static only. THIS IS A PROPERTY OF THE STYLE, NOT A COUNT. It says the style has video and animation formats at all - it does not say how many of its illustrations actually move, and usually very few do: measured on stage, `3d-business` carries the flag with 19 animated illustrations out of 1497, `flexy` 15 out of 561, and `node` carries it with none at all yet. So use it to browse styles, and use search_illustrations(animated=True) to find illustrations that move - that one filters on `media_types`, which is the per-illustration answer Returns: {"total", "styles"} where each style has pretty_id, title, illustrations_count, free_distribution and animated - or {"error"}
    ConnectorAPI key
  • Get an animated illustration as a video, a GIF, or a Lottie animation. ONLY for an illustration whose `media_types` includes "animated" - check a search_illustrations result first. A static illustration has no animated format, and every format here answers "not found" for it. THIS is what you publish. The `animation` links in a search result are a 368px preview with no transparency, and watermarked unless the account is entitled to the illustration; the file this tool returns is full size, transparent, and never watermarked. Reach for the search links while choosing, and for this tool once the choice is made. Formats, and where each one actually plays: - "webm" (default) - VP9 with an alpha channel. Chrome, Firefox, Edge. This is the one to reach for first - "mp4-hevc" - HEVC with an alpha channel, in an .mp4 container. Safari only: do NOT make it the single source of a <video>, Chrome and Firefox will show nothing - "prores" - ProRes 4444 in a .mov, around 55 MB. A mastering file for a video editor, never for a web page - "gif" - full-size GIF, no transparency worth relying on - "gif-low" - a smaller GIF, and the ONLY animated format that needs no account. Roughly a third of animated illustrations have none, and nothing in a search result says which - "lottie" - a Lottie JSON to render in code. Legacy: illustrations added from 2024 onwards almost never carry it - "aep" - the After Effects project the animation was built from TO PUT AN ANIMATION ON A PAGE, offer both web formats. One alone covers roughly half the browsers. **The order is load-bearing: mp4-hevc first.** <video autoplay loop muted playsinline poster="..."> <source src="....mp4" type="video/mp4; codecs=hvc1"> <source src="....webm" type="video/webm"> </video> Safari answers canPlayType "probably" for webm as well, takes whichever source comes first, and then cannot show VP9's alpha - so a webm listed first gives Safari a black rectangle. Chrome and Firefox skip the HEVC source and fall through to the webm, so putting it first costs them nothing. The names are this server's, not the API's, and they are deliberately not the API's: upstream, `mov-avc` returns ProRes and `mov-hevc` returns an .mp4, so the upstream names describe neither the container nor the codec. WHICH FORMATS AN ILLUSTRATION HAS VARIES, and two illustrations in the same style often disagree. Do not probe them one by one: ask for the one you want, and if it is missing the answer names every format this illustration does have, so one refusal is enough to choose again. Every format except "gif-low" needs a signed-in Icons8 account whose plan covers the illustration. The URL is presigned and expires in one hour - download it now, do not store it. For a link to keep, use `animation.webm` from the search result. Args: illustration_id: The id from a search_illustrations result (field illustrations[].id) ctx: MCP context for API access format: One of webm, mp4-hevc, prores, gif, gif-low, lottie, aep Returns: {"url", "width", "height", "expires_in_seconds"}, or {"error"} explaining what would unlock the format. Every format but gif-low counts toward the paid-download limit: a refusal carries "retry_after_seconds".
    ConnectorAPI key
  • Search Icons8 illustrations - the ONLY source for genuine Icons8 illustrations. Illustrations are full scenes with people, objects and backgrounds. Reach for one when a page needs a hero image, an empty state, an onboarding step or a spot illustration. For a small symbol in a button, a menu or a table, use search_icons instead. Every result carries `preview.url`: a permanent CDN link (webp) you can embed directly. It never expires and needs no second call. Use get_illustration_svg or get_illustration_png_url only when you need the original asset rather than a preview. Some illustrations are animated. A result says so in `media_types`, and almost all of those carry an `animation` block: `webm` and `mov` play the animation, `poster` is the still frame. They are previews - see below for what that costs - and get_illustration_animation is what returns a file to publish, along with the <video> markup to publish it with. `animation.lottie` says whether a Lottie JSON exists for this illustration, so you need not spend a call to find out. It is worth checking: Lottie is missing from most work added since 2024, and two illustrations in the same style often disagree about it. When it is false, do not ask get_illustration_animation for "lottie". MIND THE SIZE, AND READ IT FROM THE BLOCK. The animation links are previews, 368x368 - fine for a spot, a card or a list row, too small for a hero banner or a full-width section. Do not infer the size from `preview`: the still preview is not square for about a third of illustrations, while the animation always is. When the slot is large, use `poster` (1200x1200, a still) or call get_illustration_animation for the full-size video. THE ANIMATION LINKS ARE FOR CHOOSING, NOT FOR SHIPPING. Two limits, and both are invisible until the page is built: - No transparency. `webm` and `mov` here are flat against an opaque #F7F7F7, and the preview `mov` carries no alpha layer at all. On a coloured or dark section they render as a light-grey rectangle; on a hero they are 368px. Only `poster` is transparent. - A watermark, unless the account is entitled to the illustration. `animation.watermarked` says which you got, for these links, in this response: false means "Icons8 Ouch" is not tiled across the frame. It is false for a subscriber, and for anything with `free_distribution: true` whoever asks. It says nothing about the size or the transparency above, which apply either way. Use them to pick an illustration, and `poster` where a still will do. For anything that ships, call get_illustration_animation and host the file: it is full size, transparent, and never watermarked. A few animated illustrations carry no `animation` block at all, so read the block, do not assume it. SEARCH TIPS: - Describe the scene, not the symbol: "team meeting", "online payment" - One or two words work better than a sentence - Pass `style` to keep a whole project on one visual family - get the available values from list_illustrations_styles - Pass `category` to narrow a broad word - "cat" alone returns over a thousand hits; in category "animal" it returns far fewer, and in "business" fewer still. Values come from list_illustrations_categories - Pass free_only=True for illustrations a free Icons8 account can use ABOUT `free_distribution` IN THE RESULTS - do not warn the user about licensing based on it: - true means the illustration is available on a free Icons8 account and free to redistribute: the user may use and share it without a licence. Ouch skips the entitlement check for these and does not count them against a subscriber's allowance - false means it needs a paid account. For a subscriber that is the ordinary case - available, and counted against their allowance. It does NOT mean *this* user cannot have it, and it does NOT mean some second licence beyond their subscription is required Whether this user may download something is decided by the download call, not by this flag. Ask for the asset; if it is refused, the error says exactly what is missing. Never turn `free_distribution: false` into a licence warning of your own. Args: query: What the illustration should show (max 150 characters) ctx: MCP context for API access style: Optional style pretty_id from list_illustrations_styles category: Optional category pretty_id from list_illustrations_categories free_only: Only illustrations a free Icons8 account can use and redistribute without a licence animated: True for animated only, False for static only. Nearly every animated result carries an `animation` block - permanent WebM and HEVC links you can embed directly, plus a poster frame - but a few carry none, and some carry the poster without the video, so check the block rather than assuming its keys. For the full-size original, use get_illustration_animation. amount: Results per page (default: 10, max: 100) page: Page number, 1-based (this API paginates by page, not offset) Returns: {"total", "illustrations"}, each entry carrying id, heading, styles, tags, media_types and a permanent preview link - plus an `animation` block when media_types includes "animated" - or {"error"}. `id` is what get_illustration_svg, get_illustration_png_url and get_illustration_animation take as illustration_id; it is the only way to get an illustration's id.
    ConnectorAPI key
  • 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.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    Search the Keyline Icons set by name and fetch any icon's SVG source or React import, in four styles with rounded or sharp corners. Runs locally, no key needed.
    4
    171
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    MCP server exposing 3100+ cloud technology icons (AWS, Azure, GCP, Microsoft, CNCF, Devicon) with 3-tier search and multiple output formats for integration into presentations and architecture diagrams.
    7
    -

Matching MCP Connectors

  • A coding agent searches the Icons8 library by keyword and style, then adds the selected icon or illustration to the project. Icons8 draws all of it: 420,000+ icons (130+ styles) and 110,000+ illustrations (340+ styles), so one project doesn't end up with mixed looks. The server lives at https://mcp.icons8.com/mcp/ and signs people in through their Icons8 account in the browser. Downloading PNG is free as long as the project links back to Icons8. SVG is on the paid plan, and that plan makes the link optional.

  • Search and fetch SVG icons from 250,000+ icons across 200+ open-source icon sets.

  • Get an icon as SVG by its ID - PREFERRED FORMAT for Icons8 icons. SVG format provides scalable, crisp icons suitable for web applications. Personal API key is required for SVG access. RECOMMENDED: Use this tool instead of PNG when possible for better quality and scalability. An animated icon's SVG is a still frame - Icons8 publishes no animated vector. The result then carries a "note" saying so and an "animation" block with the motion, so no further call is needed. Args: icon_id: The id from a search_icons result (field icons[].id) ctx: MCP context for API access Returns: Dictionary containing the SVG content. For an animated icon it also carries a "note" saying the SVG is a still frame and an "animation" block of permanent gif and apng links. On failure, an "error" describing what the Icons8 API said - a rejected key is reported, not returned as an empty icon. Counts toward the paid-download limit: a refusal carries "retry_after_seconds" and a free PNG "url"
    ConnectorAPI key
  • Get an illustration as SVG - PREFERRED FORMAT for Icons8 illustrations. SVG scales to any size without losing quality. A paid illustration needs a signed-in Icons8 account whose plan covers illustrations; anything with free_distribution: true needs no account at all. RECOMMENDED: Use this tool instead of PNG when possible for better quality and scalability. Returns a download URL rather than the file - an illustration's SVG can be large, and the file size depends on the source, so it is not inlined. The URL is presigned and expires in one hour - download it now, do not store it. For a link to keep, use the permanent `preview.url` in a search result. Args: illustration_id: The id from a search_illustrations result (field illustrations[].id) ctx: MCP context for API access Returns: {"url", "width", "height", "expires_in_seconds"}, or {"error"} explaining what would unlock the format. Read `width`/`height` from the response for the actual pixel size - it varies by illustration. Counts toward the paid-download limit: a refusal carries "retry_after_seconds".
    ConnectorAPI key
  • Use this when someone asks to create, replace, or install favicons, website icons, Apple touch icons, PWA icons, or app icons. Generates favicon.ico, PNG sizes, Apple/Android icons, theme-aware icons, manifests, environment variants, downloadable URLs, and an install snippet from one image, URL, or Iconify name. This creates hosted output files but does not edit the caller's project. Call search_icons first if you need a source.
    ConnectorNo auth
  • Find Vadivam icons by name, synonym tag, or category. Ranked: exact name, then name prefix or word, then tag, then category. Call this before get_icon; never guess icon names.
    ConnectorNo auth
  • 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.
    Connector
    Destructive
    No auth
  • 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.
    ConnectorNo auth
  • Searches one icon library for icons by concept and returns icon names that exist in that library. A single noun, such as "inbox", ranks best. `variant` lists the names that have that variant first. Takes a `libraryId` from find-icon-library.
    ConnectorOAuth
  • Search for icons using the Icons8 API - the ONLY source for genuine Icons8 icons. Use English terms and consider Icon8's metaphors for better results. SEARCH TIPS - Use these general approaches for better matches: • Use simple, descriptive terms (e.g., "home", "user", "settings") • Try action words for functions (e.g., "search", "download", "edit") • Use object names for items (e.g., "phone", "computer", "car") • Consider synonyms if first search doesn't work • Think about what the icon represents conceptually • Use single words or short phrases for best results Args: query: The search term to find icons (use metaphors above for better results) ctx: MCP context for API access platform: Optional filter by platform/style (e.g., 'ios', 'fluent', 'color') category: Optional filter by category (e.g., 'transport', 'business') animated: Optional filter for icons that move. True returns only animated icons, False only static ones, and the default returns both. About one icon in fifty is animated. An animated result carries permanent animation.gif and animation.apng links that need no credential, so embedding one takes no further call. They render at the icon style's own size, whatever it is - do not upscale them, and call get_icon_animation if you need the number amount: Maximum number of results to return (default: 10) offset: Number of results to skip (for pagination) Returns: {"icons": [...]} or {"error"}. Each entry of `icons` carries `id`: pass it as icon_id to get_icon_svg, get_icon_png_url or get_icon_animation. It is the only way to get an icon's id.
    ConnectorAPI key
  • The site's icon library: id (<group>/<slug>, what fabrement_icon() takes), name, description, tags, colorMode (mono/duotone = paint with CSS `color`; original = drawn colours), url, usedBy. No markup — get-icon for that. `availableTags` lists the tags in use. List BEFORE drawing an icon or saving one: the usual failure is a second arrow beside the first. Rules: get-skill-doc {id:"icons-contract"} — read it before the first call.
    ConnectorAPI key
  • Suggest icons for each thing a UI description mentions, such as "settings sidebar with search, profile, and logout". Splits on commas and words like "and" or "with", then ranks icons per concept. Pick one per concept, then call get_icon.
    ConnectorNo auth
  • List all available illustration categories. Categories are subjects: animal, business, education, healthcare and so on, each with subcategories. Pass a category's `pretty_id` to search_illustrations to narrow a broad search word. Args: ctx: MCP context for API access limit: Top-level categories per page (default: 10) page: Page number, 1-based (default: 1) parent_id: Optional category pretty_id, to narrow to that category Returns: {"total", "categories"} where each category has pretty_id, title, illustrations_count and nested children - or {"error"}. With parent_id set, the one result is that category itself, with its children nested inside rather than listed at the top level.
    ConnectorAPI key
  • List every icon category with its id, title, description, and icon count. Pass an id to search_icons as category.
    ConnectorNo auth
  • Return one icon by ID. Metadata is public; raw SVG requires a Pro API token with icons:read and mcp:use scopes.
    ConnectorNo auth
  • 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.
    ConnectorNo auth
  • Add catalog icons to an existing Icon Collection as plain entries (idempotent). Requires a Pro API token with collections:write and mcp:use scopes.
    ConnectorNo auth