remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Uses Babel to parse and traverse the AST (Abstract Syntax Tree) of source files for data extraction
Extracts data from JavaScript source code files, including nested objects, string literals, and template literals
Extracts SVG components from React files and removes React-specific code and props
mcp-data-extractor MCP 서버
TypeScript/JavaScript 소스 코드에서 내장된 데이터(i18n 번역이나 키/값 구성 등)를 추출하여 구조화된 JSON 구성 파일에 저장하는 모델 컨텍스트 프로토콜 서버입니다.
특징
- 데이터 추출:
- 문자열 리터럴, 템플릿 리터럴 및 복잡한 중첩 객체를 추출합니다.
- 템플릿 변수(예:
Hello, {{name}}!
)를 보존합니다. - 중첩된 객체 구조 및 배열을 지원합니다.
- 점 표기법을 사용하여 계층적 키 구조를 유지합니다.
- JSX 지원을 통해 TypeScript 및 JavaScript 파일을 모두 처리합니다.
- 성공적인 추출 후 소스 파일 내용을 "MIGRATED TO"로 바꿉니다(구성 가능)
- SVG 추출:
- React/TypeScript/JavaScript 파일에서 SVG 구성 요소를 추출합니다.
- SVG 구조 및 속성을 보존합니다.
- React 관련 코드와 속성을 제거합니다.
- 구성 요소의 이름을 따서 개별 .svg 파일을 만듭니다.
- 성공적인 추출 후 소스 파일 내용을 "MIGRATED TO"로 바꿉니다(구성 가능)
용법
MCP 클라이언트 구성에 추가:
지엑스피1
기본 사용법
서버는 두 가지 도구를 제공합니다.
1. 데이터 추출
extract_data
사용하여 소스 파일에서 데이터(i18n 번역 등)를 추출합니다.
2. SVG 추출
extract_svg
사용하여 SVG 구성 요소를 개별 파일에 추출합니다.
소스 파일 교체
기본적으로 추출이 성공적으로 완료되면 서버는 소스 파일의 내용을 다음으로 바꿉니다.
- 데이터 추출을 위해 "MIGRATED TO"로 변경
- SVG 추출을 위한 "MIGRATED TO"
이를 통해 이미 처리된 파일을 추적하고 중복 추출을 방지할 수 있습니다. 또한 LLM과 개발자가 나중에 소스 파일을 접할 때 추출된 데이터가 현재 어디에 있는지 쉽게 확인할 수 있습니다.
이 동작을 비활성화하려면 MCP 구성에서 DISABLE_SOURCE_REPLACEMENT
환경 변수를 true
로 설정하세요.
지원되는 패턴
데이터 추출 패턴
데이터 추출기는 TypeScript/JavaScript 애플리케이션에서 일반적으로 사용되는 다양한 패턴을 지원합니다.
- 간단한 객체 내보내기:
- 중첩된 객체:
- 배열을 사용한 복잡한 구조:
- 변수가 있는 템플릿 리터럴:
출력 형식
데이터 추출 출력
추출된 데이터는 중첩 구조에 대한 점 표기법을 사용하여 JSON 파일로 저장됩니다.
SVG 추출 출력
SVG 구성 요소는 React 관련 코드가 제거된 개별 .svg 파일로 추출됩니다. 예:
입력(React 구성 요소):
출력(InspectionIcon.svg):
지원되는 패턴 확장
추출기는 Babel을 사용하여 소스 파일의 AST(추상 구문 트리)를 파싱하고 탐색합니다. 소스 코드를 수정하여 지원되는 패턴을 확장할 수 있습니다.
- 새 노드 유형 추가 :
src/index.ts
의extractStringValue
메서드는 다양한 유형의 문자열 값을 처리합니다. 새 노드 유형을 지원하도록 확장합니다.
- 사용자 지정 값 처리 :
processValue
메서드는 다양한 값 유형(문자열, 배열, 객체)을 처리합니다. 새로운 값 유형이나 사용자 지정 처리를 지원하도록 확장합니다.
- 사용자 지정 AST 순회 : 서버는 바벨의 순회를 사용하여 AST를 순회합니다. 다양한 노드 유형을 처리하기 위해 새로운 방문자를 추가할 수 있습니다.
개발
종속성 설치:
서버를 빌드하세요:
자동 재빌드를 사용한 개발의 경우:
디버깅
MCP 서버는 stdio를 통해 통신하므로 디버깅이 어려울 수 있습니다. 패키지 스크립트로 제공되는 MCP Inspector를 사용하는 것이 좋습니다.
검사기는 브라우저에서 디버깅 도구에 액세스할 수 있는 URL을 제공합니다.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
You must be authenticated.
TypeScript/JavaScript 소스 코드에서 내장된 데이터(i18n 번역이나 키/값 구성 등)를 추출하여 구조화된 JSON 구성 파일에 저장하는 모델 컨텍스트 프로토콜 서버입니다.