基本能力
产品定位
mcp-data-extractor 是一个数据提取工具,专注于从源代码中提取结构化数据(如国际化翻译、配置数据)和 SVG 组件,并将其转换为易于管理和使用的格式。
核心功能
- 数据提取:
- 提取字符串字面量、模板字面量和复杂嵌套对象。
- 保留模板变量(如
Hello, {{name}}!
)。 - 支持嵌套对象结构和数组。
- 使用点符号维护层次化键结构。
- 支持 TypeScript 和 JavaScript 文件(包括 JSX)。
-
提取成功后,源文件内容会被替换为 "MIGRATED TO <目标路径>"(可配置)。
-
SVG 提取:
- 从 React/TypeScript/JavaScript 文件中提取 SVG 组件。
- 保留 SVG 结构和属性。
- 移除 React 特定代码和属性。
- 生成单独的 .svg 文件,以组件命名。
- 提取成功后,源文件内容会被替换为 "MIGRATED TO <目标目录>"(可配置)。
适用场景
- 国际化(i18n):从源代码中提取翻译字符串并生成 JSON 文件。
- 配置管理:提取键值配置并生成结构化配置文件。
- SVG 资源管理:将 SVG 组件从 React 代码中分离出来,便于复用和维护。
工具列表
- extract_data:用于从源文件中提取数据(如国际化翻译)。
- 输入:源文件路径和目标 JSON 文件路径。
-
输出:结构化的 JSON 文件。
-
extract_svg:用于从源文件中提取 SVG 组件。
- 输入:源文件路径和目标目录。
- 输出:单独的 .svg 文件。
常见问题解答
- 如何禁用源文件替换行为?
-
在 MCP 配置中设置
DISABLE_SOURCE_REPLACEMENT
环境变量为true
。 -
支持哪些数据提取模式?
-
支持简单对象导出、嵌套对象、复杂数组结构和模板字面量。
-
如何扩展支持的模式?
- 通过修改源代码中的
extractStringValue
和processValue
方法,或添加自定义 AST 遍历逻辑。
使用教程
使用依赖
- 确保已安装 Node.js 和 npm。
- 安装 MCP 客户端(如未安装)。
安装教程
- 通过 npm 安装:
bash
npm install -g mcp-data-extractor - 或在项目中作为开发依赖安装:
bash
npm install --save-dev mcp-data-extractor
调试方式
- 使用 MCP Inspector 进行调试:
bash
npm run inspector - 访问提供的 URL 以使用浏览器调试工具。