mcpField
F
Favicon MCP Server

Favicon MCP Server

本地服务
github.com/elliotxx媒体与设计484 周前更新

关于 Favicon MCP Server

Favicon MCP Server 将 SVG 图标转换为适用于 Web 应用的 ICO 和 PNG 网站图标。MCP 客户端可提交 SVG 内容或文件,并接收 Base64 数据或保存后的文件。

主要功能

  1. 01将 SVG 转为 ICO
  2. 02将 SVG 转为 PNG
  3. 03生成 16、32、48 像素尺寸
  4. 04返回 Base64 编码数据
  5. 05保存生成的文件

适用场景

  1. 01从 SVG 标志创建网站图标文件
  2. 02为网站生成 ICO 和 PNG 资源

MCP 相关

它向 MCP 客户端提供 `svg_to_favicon` 工具,可接收 SVG 内容或文件路径及所需格式。结果可作为 Base64 数据返回,也可写入文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Favicon MCP 服务

一个模型控制协议(MCP)服务,可将 SVG 图像转换为适用于 Web 应用的多种 favicon 格式(ICO 和 PNG)。

https://github.com/user-attachments/assets/7dcab05c-2340-4f8b-befc-7614b495685f

功能

  • SVG 转 ICO:将 SVG 图像转换为 ICO 格式(16x16、32x32、48x48 像素)。
  • SVG 转 PNG:将 SVG 图像转换为 PNG 格式(16x16、32x32、48x48 像素)。
  • Base64 编码输出:通过 Base64 编码输出,便于集成。
  • MCP 协议支持:与由大模型驱动的应用无缝集成。

先决条件

  • Go 1.20 或更高版本
  • 依赖项:
    • github.com/mark3labs/mcp-go v0.13.0
    • github.com/sergeymakinen/go-ico
    • github.com/tdewolff/canvas

安装

git clone https://github.com/elliotxx/favicon-mcp-server.git
cd favicon-mcp-server
go mod download

使用方法

  • 启动服务:
go run main.go
  • 工具参数:
    • svg_data:以字符串形式提供的 SVG 图标内容。
    • output_formats:指定所需输出格式(ico、png)的字符串数组。默认值:["ico", "png"]。
响应示例

服务会以所请求的格式返回 Base64 编码的 favicon 数据:

{
  "content": [
    {
      "type": "text",
      "text": "Successfully generated favicons"
    }
  ],
  "meta": {
    "ico": "base64_encoded_ico_data",
    "png": "base64_encoded_png_data"
  }
}

使用方法

输入方式
  1. 直接输入 SVG:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "svg_to_favicon",
    "arguments": {
      "svg_data": "<svg width=\"32\" height=\"32\"><rect width=\"32\" height=\"32\" fill=\"red\"/></svg>"
    }
  }
}
  1. 输入 SVG 文件:
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "svg_to_favicon",
    "arguments": {
      "svg_file": "path/to/your/icon.svg"
    }
  }
}
输出方式
  1. Base64 编码输出(默认):

    • 在响应中返回 Base64 编码的 ICO 和 PNG 数据
  2. 文件输出:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "svg_to_favicon",
    "arguments": {
      "svg_data": "<svg width=\"32\" height=\"32\"><rect width=\"32\" height=\"32\" fill=\"red\"/></svg>",
      "output_dir": "path/to/output/directory",
      "output_formats": ["ico", "png"]
    }
  }
}

使用文件输出时:

  • ICO 文件将保存为 favicon.ico
  • PNG 文件将保存为 favicon-{size}x{size}.png(例如,favicon-32x32.png)

测试

快速测试(推荐)

使用直接 SVG 输入进行测试的最简单方法:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"svg_to_favicon","arguments":{"svg_data":"<svg width=\"32\" height=\"32\"><rect width=\"32\" height=\"32\" fill=\"red\"/></svg>"}}}' | go run main.go
使用测试文件

如果希望使用测试文件:

  1. 创建测试文件 test.json,并写入测试用例
  2. 运行命令:
echo $(tr -d '\n' < test/test.json) | go run main.go
参数
  • svg_data:以字符串形式提供的 SVG 内容
  • svg_file:SVG 文件的路径
  • output_dir:保存输出文件的目录
  • output_formats:所需格式的数组(["ico", "png"])

开发

本项目遵循标准的 Go 项目布局,并使用 Go modules 管理依赖项。

项目结构
favicon-mcp-server/
├── main.go         # Main server implementation
├── go.mod         # Go module definition
├── go.sum         # Go module checksums
└── README.md      # This file
从源代码构建
go build

贡献

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 创建 Pull Request
与 Windsurf 集成

按照以下步骤将此 MCP 服务与 Windsurf 集成:

  1. 打开 Windsurf,并前往 Cascade 界面。
  2. 配置 MCP 服务:
    • 点击锤子图标并选择“配置”,打开 ~/.codeium/windsurf/mcp_config.json 文件。
    • 添加以下配置:
"mcpServers": {
  "favicon-mcp-server": {
    "command": "go",
    "args": ["run", "main.go"],
    "cwd": "/path/to/favicon-mcp-server",
    "env": {}
  }
}

将 /path/to/favicon-mcp-server 替换为项目目录的实际路径。 3. 刷新 Windsurf: - 点击 MCP 工具栏中的“刷新”按钮,以加载新配置。

与 Cursor 集成

按照以下步骤将此 MCP 服务与 Cursor 集成:

  1. 启用 MCP 服务:
    • 前往 Cursor 设置并找到 MCP 服务选项。
    • 如果尚未启用,请启用 MCP 服务。
  2. 添加新的 MCP 服务:
    • 点击“添加新的 MCP 服务”。
    • 提供可执行文件的路径,或用于运行服务的命令。
    • 对于本项目,你可能需要创建独立的可执行文件,或使用打包工具来简化集成。
  3. 配置服务详情:
    • 输入用于运行 MCP 服务的命令。例如:
go run main.go
- 确保可执行文件的路径正确。

4. 启用服务: - 添加服务后,点击“启用”以激活服务。

按照这些步骤,你可以将 Favicon MCP Server 与 Windsurf 和 Cursor 集成,借助 AI 工具提升开发工作流。

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。