svg比较MCP工具

这是一个用于比较项目中SVG文件的MCP工具,支持通过文件路径或直接提供SVG内容进行比较,扫描指定目录中的所有SVG文件,返回相同SVG文件列表或保存新的SVG文件。可用于管理项目中的SVG资源,避免重复文件,优化资源使用。

  • 本地部署
  • 更新于

使用说明

svg-compare-mcp

产品定位

一个轻量级的SVG文件比较工具,用于帮助开发者管理项目中的SVG资源,避免重复文件,优化资源使用。

核心功能

  1. 支持多种输入方式:可通过文件路径或直接提供SVG内容进行比较
  2. 智能目录扫描:自动扫描指定目录(或整个项目)中的所有SVG文件
  3. 精准内容比较:比较SVG文件的实际内容,忽略格式差异
  4. 灵活的结果处理:
    • 找到相同SVG文件时,返回完整的文件列表
    • 未找到相同文件时,自动保存SVG到指定目录
  5. 无外部依赖:仅使用Node.js内置模块,无需安装额外依赖

技术栈

  • Node.js
  • 内置模块:fs、path

使用方法

基本用法

node index.js --svgSource <svgSource> --targetDir <targetDir> --isContent <isContent>

参数说明

参数名 类型 描述 是否必填 默认值
svgSource string SVG源,可以是文件路径或SVG内容 是 -
targetDir string 要扫描的目标目录,默认是项目根目录 否 项目根目录
isContent boolean svgSource是否为SVG内容,默认为false 否 false

示例

  1. 通过文件路径比较:

    node index.js --svgSource ./test/icons/test1.svg --targetDir ./test/icons
    
  2. 直接提供SVG内容比较:

    node index.js --svgSource "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/></svg>" --isContent true --targetDir ./test/icons
    

输出格式

找到相同SVG文件时:

{
  "success": true,
  "message": "Same SVG files found",
  "sameSvgList": [
    {
      "name": "icon1.svg",
      "path": "src/icons/icon1.svg"
    }
  ]
}

未找到相同SVG文件时:

{
  "success": true,
  "message": "SVG file saved successfully",
  "savedPath": "src/icons/new_svg.svg"
}

安装和使用

  1. 直接下载或克隆项目文件
  2. 无需安装依赖,直接运行命令
  3. 可根据需要调整mcp.json配置文件

适用场景

  • 项目中SVG资源管理
  • 避免重复SVG文件
  • 快速查找相同SVG资源
  • 统一SVG资源命名规范