Favicon MCP服务器
一种模型控制协议(MCP)服务器,将SVG图像转换为各种favicon格式(ICO和PNG),用于web应用程序。
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协议支持:与LLM驱动的应用程序无缝集成。
先决条件
- 达到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"
}
}用法
输入法
- 直接SVG输入:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "svg_to_favicon",
"arguments": {
"svg_data": ""
}
}
}- SVG文件输入:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "svg_to_favicon",
"arguments": {
"svg_file": "path/to/your/icon.svg"
}
}
}输出方法
- Base64编码输出(默认):
- 在响应中返回base64编码的ICO和PNG数据
- 文件输出:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "svg_to_favicon",
"arguments": {
"svg_data": "",
"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":""}}}' | go run main.go使用测试文件
如果您更喜欢使用测试文件:
- 创建测试文件
test.json使用您的测试用例 - 运行命令:
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模块进行依赖关系管理。
项目结构
favicon-mcp-server/
├── main.go # Main server implementation
├── go.mod # Go module definition
├── go.sum # Go module checksums
└── README.md # This file从源头构建
go build贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
与Windsurf集成
要将此MCP服务器与Windsurf集成,请执行以下步骤:
- 开放式风帆 并导航到Cascade界面。
- 配置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集成,请执行以下步骤:
- 启用MCP服务器:
- 导航到光标设置并找到MCP服务器选项。 - 启用MCP服务器(如果尚未启用)。
- 添加新的MCP服务器:
- 点击“添加新的MCP服务器”。 - 提供运行服务器的可执行文件或命令的路径。 - 对于这个项目,您可能需要创建一个独立的可执行文件或使用捆绑工具来简化集成。
- 配置服务器详细信息:
- 输入运行MCP服务器的命令。例如:
go run main.go- Ensure the path to the executable is correct.- 启用服务器:
- 添加服务器后,单击“启用”将其激活。
按照这些步骤,您可以将Favicon MCP Server与Windsurf和Cursor集成,使用AI驱动的工具增强您的开发工作流程。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件
