favicon.zip
Server Details
Generate favicons (ICO, SVG, Apple touch, PWA, manifest) from SVG, text or emoji; check any site.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: check_favicon inspects an existing setup, generate_favicon creates a new set, and get_html_snippet provides only the HTML wiring. No overlap or ambiguity between them.
All tool names follow the same verb_noun snake_case pattern: check_favicon, generate_favicon, get_html_snippet. The convention is consistent and predictable.
Three tools is well-scoped for the narrow favicon domain: check, generate, and HTML snippet. Each earns its place with no redundancy or missing essential operation.
The set covers the full favicon workflow: diagnosing an existing setup, generating a complete modern set, and providing the install snippet. There are no dead ends or significant gaps for the apparent purpose.
Available Tools
3 toolscheck_faviconCheck a site's favicon setupAInspect
Fetches a URL, probes every icon it declares (root favicon.ico, SVG icon, apple-touch-icon, web manifest), and grades the setup against the modern set. Follow up with generate_favicon to fix what is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The site to check, e.g. example.com |
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 discloses the multi-step behavior (fetching, probing declared icons, grading against the modern set) and the follow-up action. It does not mention potential side effects like network requests or rate limits, but for a read-only checking tool, the disclosed behavior is reasonably transparent.
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 zero waste. The action is front-loaded, the scope is specific, and the follow-up sibling is named. 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 single-parameter checking tool with no output schema, the description is complete enough: it states the input, the behavior, and the follow-up. It does not describe the grading criteria or return format, but the absence of an output schema and the simplicity of the tool make this a minor gap.
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 the single 'url' parameter. The description adds context that the URL is a site to check, but it does not add format details beyond the schema's example. Baseline 3 is appropriate when the schema does the heavy lifting.
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 states a specific verb ('Fetches', 'probes', 'grades') and a clear resource (a site's favicon setup), and it distinguishes itself from siblings by naming generate_favicon as the follow-up. It is immediately clear what the tool does and how it differs from the sibling tools.
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 when to use this tool (when you need to check a site's favicon setup) and explicitly points to generate_favicon as the follow-up for fixing issues. It does not explicitly state when not to use it or mention get_html_snippet as an alternative, but the context is clear enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_faviconGenerate a favicon packageAInspect
Generates the complete modern favicon set (favicon.ico, icon.svg, apple-touch-icon.png, PWA icons, manifest.webmanifest, favicon-setup.md with the install snippet) from an SVG, an emoji, or short text. Returns a download URL for favicon.zip plus the HTML head snippet to paste. Files follow current best practice: ICO with 16, 32, and 48px layers, a 96px Google Search icon, opaque apple-touch-icon, and a maskable icon with safe-zone padding.
| Name | Required | Description | Default |
|---|---|---|---|
| pwa | No | Include PWA icons + manifest (default true). | |
| svg | No | Raw SVG markup to use as the icon. The best source when available. | |
| font | No | Typeface for text mode: any Google Fonts family name (e.g. "Bangers", "Bebas Neue", "Press Start 2P"), or a bundled id like inter-800, geist-700, silkscreen-400. | |
| text | No | 1–4 characters rendered as vector glyphs (e.g. a brand initial like "F"). | |
| emoji | No | A single emoji character, rendered with Twemoji vector artwork. | |
| radius | No | Corner rounding: 0 square, ~0.25 rounded, 1 circle. | |
| padding | No | Content inset as a fraction of icon size, -1–0.35. Negative zooms in: the mark scales past the frame and is cropped toward the center (-0.5 renders it at 2x). | |
| app_name | No | App name written into the web manifest. | |
| offset_x | No | Nudge content horizontally, -0.25 (left) to 0.25 (right). | |
| offset_y | No | Nudge content vertically, -0.25 (up) to 0.25 (down). | |
| framework | No | Tailors the setup guide: html, nextjs, vite, astro, rails, wordpress. Next.js App Router uses file conventions, not link tags. | |
| google_96 | No | Emit favicon-96x96.png for Google Search results (default true). | |
| background | No | Icon background: "none" (default), a hex color, or a linear gradient. | |
| monochrome | No | Add a monochrome manifest icon for tinted/badge surfaces. | |
| short_name | No | ||
| text_color | No | Hex glyph color for text mode, default #0a0a0b. | |
| theme_color | No | Hex theme color for the manifest. | |
| env_variants | No | Also emit dev/staging/preview favicon copies with a corner badge. | |
| dynamic_module | No | Add favicon-dynamic.js — badge/progress/spinner with the icon baked in. | |
| dark_background | No | Hex background for a dark-mode variant; icon.svg then adapts to the browser theme. | |
| dark_text_color | No | Hex glyph color for the dark-mode variant (text mode). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it discloses substantial behavior: returns a download URL for favicon.zip, returns an HTML snippet, and details best-practice specifics (ICO 16/32/48px layers, 96px Google icon, opaque apple-touch-icon, maskable safe-zone padding). This is rich behavioral context beyond a mere 'generates icons' statement, though it omits any mention of requirements or failure modes.
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 the main output list and input modes front-loaded. The detailed file enumeration earns its place by clarifying scope, and there is no wasted prose. Slightly long for a single tool description, but each clause carries information, so it remains appropriately sized.
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?
This is a complex 21-parameter tool with no output schema and no annotations, so the description must compensate. It thoroughly covers output format and file details, but it never states a key operational requirement — that at least one of svg/emoji/text must be supplied despite all params being optional in the schema — nor does it address error handling. The schema's rich per-parameter descriptions help, but the missing input-requirement guidance is a notable gap for such a complex tool.
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 95%, well above the 80% threshold, so the baseline is 3. The description adds the overall output context (favicon.zip + HTML snippet) but does not enrich individual parameter meaning beyond the already-detailed schema descriptions (e.g., padding's negative zoom semantics are fully explained in the schema). The description maps input modes to params but adds marginal value over the 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 states a specific verb ('Generates') and resource (the complete modern favicon set), enumerating exact output files (favicon.ico, icon.svg, apple-touch-icon.png, PWA icons, manifest.webmanifest) and input modes (SVG, emoji, short text). This clearly differentiates from siblings — check_favicon (validation) and get_html_snippet (HTML retrieval) — even without naming them, because the tool's scope is precise.
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 explains what the tool does and notes it returns the HTML head snippet, but it never explicitly says when to use this vs. the sibling get_html_snippet, which presumably serves that snippet. The overlap is unaddressed, and there are no exclusions or alternative-routing statements, so usage guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_html_snippetGet the favicon HTML snippetAInspect
Returns the modern minimal snippet for favicons, plus placement guidance. Use when the favicon files already exist and only the HTML wiring is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| pwa | No | Site ships PWA icons + manifest (default true) | |
| google_96 | No | Site ships favicon-96x96.png (default true) | |
| has_svg_icon | No | Site ships an /icon.svg (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool returns a snippet and placement guidance, which is a read-only behavior. However, it doesn't disclose details like whether the snippet is customizable, whether it checks for file existence, or any side effects. The description is honest but minimal, earning a 3.
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 waste. The core function is front-loaded, and the usage condition is stated succinctly. Every word 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 three optional boolean parameters and no output schema, the description is nearly complete. It could mention what the output looks like (the snippet itself), but the title and description already imply that. The usage guidance is strong, and the parameter schema covers the rest. A 4 is appropriate because it's slightly above average but not perfect.
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 three boolean parameters. The description doesn't add meaning beyond what the schema provides, but it does mention 'modern minimal' which implies defaults. Baseline 3 is appropriate since the schema does the heavy lifting.
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 tool's function: returning the modern minimal <head> snippet for favicons, plus placement guidance. It distinguishes itself from siblings by specifying it's for when favicon files already exist and only HTML wiring is needed, which differentiates it from generate_favicon and check_favicon.
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 explicitly states when to use this tool: 'Use when the favicon files already exist and only the HTML wiring is needed.' This provides clear context and implies the alternative (generate_favicon) for when files don't exist. It doesn't explicitly name alternatives, but the condition is clear enough for an agent to select correctly.
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.
3 tool updates
- First observed
check_favicon - First observed
generate_favicon - First observed
get_html_snippet
Related MCP Connectors
Generate PWA icon sets and iOS splash screens from a text prompt or an existing image.
Generate and vectorize clean, editable SVG graphics from text, images, or both.
- miromiroOAuthapp.miromiro
Turn any live website into brand colors, fonts, design tokens, SVGs, Lottie and paste-ready code.
Read, screenshot, diff, verify and audit any URL: SEO, links, sitemaps, schema, a11y.
Related MCP Servers
- AlicenseAqualityFmaintenanceAutomatically generates complete favicon sets from PNG images or URLs, creating multiple sizes, ICO files, Apple touch icons, and manifest.json for web applications.234MIT
- AlicenseNot gradedqualityCmaintenanceGenerates all required web app icons and manifest files from a single source image with framework auto-detection. Supports Next.js App Router, traditional web apps, and PWA standards with zero configuration.9 npmMIT
- FlicenseNot gradedqualityBmaintenanceMCP server for RealFaviconGenerator to generate favicon sets, audit live sites for favicon correctness, and fetch changelogs.-
- AlicenseAqualityCmaintenanceRoutes one brief to the right image model across 60+ (gpt-image-1.5, Ideogram 3, Recraft V4, Flux), validates the output, and fans out to iOS/Android/PWA/favicon/visionOS/Flutter bundles. Works without an API key via Pollinations, HF Inference, Stable Horde, or host-LLM inline SVG.2421MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.