favicon
A MCP server for converting input images into favicon
claude mcp add --transport stdio elliotxx-favicon-mcp-server go run main.go
How to use
The Favicon MCP Server accepts an SVG image and converts it into favicon formats (ICO and PNG) at common web sizes. It exposes an MCP-compatible interface that accepts an SVG document as input (either directly as a string or via a file) and returns base64-encoded output for easy embedding in web apps. Supported output formats include ICO (with sizes 16x16, 32x32, and 48x48) and PNG (same sizes), with a convenient default grouping of formats. This makes it simple to pilot favicon generation within large language model workflows or other MCP-enabled automation.
To use the server, start it using the MCP command provided for your environment (Go in this case): go run main.go. Then invoke the tools/call RPC method with the name svg_to_favicon and provide either svg_data (the raw SVG content) or svg_file (a path to an SVG file). You can request default formats (ico and png) or specify output_formats to tailor the results. The response contains a base64-encoded payload (in the meta field) that you can embed directly into web assets or decode as needed.
How to install
Prerequisites:
- Go 1.20 or higher
- Internet access to fetch modules
Install steps:
- Clone the repository git clone https://github.com/elliotxx/favicon-mcp-server.git
- Change into the project directory cd favicon-mcp-server
- Download dependencies go mod download
- Run or build the server
- To run directly (development): go run main.go
- To build a binary: go build
- Verify the server starts and listens for MCP requests (stdout will indicate readiness)
Notes:
- Ensure you replace placeholder paths (e.g., /path/to/favicon-mcp-server) with your actual project directory when configuring MCP integrations.
- If you plan to run in production, consider building a static binary and setting an appropriate working directory and environment.
Additional notes
Tips and considerations:
- Default output formats are ICO and PNG for sizes 16x16, 32x32, and 48x48; you can override via the output_formats parameter in the RPC call.
- Base64 output is provided to simplify embedding in HTML or JSON-based workflows.
- Ensure your SVG data is well-formed and includes width/height or viewBox attributes to produce accurate raster outputs.
- If integrating with Windsurf or Cursor, wire the mcp_config with the correct cwd and environment, and restart the tool to pick up changes.
- Common issues: module download failures due to network restrictions; ensure GOPROXY is accessible or run in an environment with module cache pre-populated.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go