使用说明

项目简介

'mcp-data-extractor' 是一个 MCP 服务器,旨在从代码库中提取嵌入的数据(如国际化翻译文本)和 SVG 组件。提取后的数据可以结构化的 JSON 和 SVG 文件形式输出,方便大型语言模型 (LLM) 理解和利用代码上下文信息。

主要功能点

  • 数据提取: 从 TypeScript/JavaScript 源代码中提取字符串字面量、模板字面量以及复杂的嵌套对象和数组,并转换为 JSON 格式。支持处理 i18n 翻译、配置数据等场景。
  • SVG 提取: 从 React/TypeScript/JavaScript 代码中提取 SVG 组件,并保存为独立的 '.svg' 文件。提取过程中会移除 React 特定的代码和属性,保留 SVG 的结构和属性。
  • 源码替换: 在成功提取数据或 SVG 后,可以选择将源文件内容替换为 "MIGRATED TO <目标路径>" 的标记,方便追踪已处理的文件,并避免重复提取。此行为可配置禁用。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm 包管理器。
  2. 克隆仓库: 使用 git 命令克隆 'mcp-data-extractor' 仓库到本地:
    git clone https://github.com/sammcj/mcp-data-extractor.git
  3. 进入项目目录: 使用 'cd' 命令进入克隆下来的项目目录:
    cd mcp-data-extractor
  4. 安装依赖: 运行 'npm install' 命令安装项目所需的依赖包:
    npm install
  5. 构建项目: 运行 'npm run build' 命令编译 TypeScript 代码:
    npm run build

服务器配置

要将 'mcp-data-extractor' 服务器配置到 MCP 客户端,需要在客户端的配置文件中添加以下 JSON 配置。这指示客户端如何启动和连接到数据提取服务器。

{
  "mcpServers": {
    "data-extractor": {  // 服务器名称,客户端配置中引用此名称
      "command": "npx",  // 启动服务器的命令,这里使用 npx 运行 npm 包
      "args": [           // 命令参数
        "-y",           // (可选) 自动确认 npm 包安装(如果需要)
        "mcp-data-extractor" // 要执行的 npm 包名称,确保已安装
      ],
      "disabled": false, // 设置为 true 禁用此服务器,设置为 false 启用
      "autoApprove": [  // 自动允许客户端调用的工具列表
        "extract_data", // 数据提取工具
        "extract_svg"   // SVG 提取工具
      ]
    }
  }
}

基本使用方法

配置完成后,在 MCP 客户端中可以使用以下方式调用 'mcp-data-extractor' 服务器提供的工具。

  • 数据提取工具 (extract_data)

    使用 'extract_data' 工具从指定的源代码文件提取数据,并将结果保存到 JSON 文件中。

    <use_mcp_tool>
    <server_name>data-extractor</server_name>
    <tool_name>extract_data</tool_name>
    <arguments>
    {
      "sourcePath": "src/translations.ts", // 要提取数据的源文件路径
      "targetPath": "src/translations.json"  // 提取数据后保存的 JSON 文件路径
    }
    </arguments>
    </use_mcp_tool>
  • SVG 提取工具 (extract_svg)

    使用 'extract_svg' 工具从指定的源代码文件提取 SVG 组件,并将每个组件保存为独立的 SVG 文件到目标目录。

    <use_mcp_tool>
    <server_name>data-extractor</server_name>
    <tool_name>extract_svg</tool_name>
    <arguments>
    {
      "sourcePath": "src/components/icons/InspectionIcon.tsx", // 包含 SVG 组件的源文件路径
      "targetDir": "src/assets/icons" // SVG 文件保存的目标目录
    }
    </arguments>
    </use_mcp_tool>

信息

分类

开发者工具