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 クライアント構成に追加します:
基本的な使い方
サーバーは次の 2 つのツールを提供します。
1. データ抽出
extract_data
を使用して、ソース ファイルからデータ (i18n 翻訳など) を抽出します。
2. SVG抽出
extract_svg
を使用して SVG コンポーネントを個別のファイルに抽出します。
ソースファイルの置換
デフォルトでは、抽出が成功すると、サーバーはソース ファイルの内容を次のように置き換えます。
- データ抽出のために「移行先」
- SVG抽出の「移行先」
これにより、どのファイルがすでに処理済みかを追跡し、重複抽出を防ぐことができます。また、LLMや開発者が後でソースファイルにアクセスした際に、抽出されたデータが現在どこに保存されているかを簡単に確認できるようになります。
この動作を無効にするには、MCP 構成でDISABLE_SOURCE_REPLACEMENT
環境変数をtrue
に設定します。
サポートされているパターン
データ抽出パターン
データ抽出機能は、TypeScript/JavaScript アプリケーションで一般的に使用されるさまざまなパターンをサポートしています。
- 単純なオブジェクトのエクスポート:
- ネストされたオブジェクト:
- 配列を使用した複雑な構造:
- 変数を含むテンプレートリテラル:
出力形式
データ抽出出力
抽出されたデータは、ネストされた構造のドット表記を含む JSON ファイルとして保存されます。
SVG抽出出力
SVGコンポーネントは、React固有のコードが削除された個別の.svgファイルに抽出されます。例:
入力(Reactコンポーネント):
出力 (InspectionIcon.svg):
サポートされるパターンの拡張
抽出ツールはBabelを使用してソースファイルのAST(抽象構文木)を解析・走査します。ソースコードを変更することで、サポートされるパターンを拡張できます。
- 新しいノードタイプの追加:
src/index.ts
のextractStringValue
メソッドは、さまざまなタイプの文字列値を処理します。これを拡張して、新しいノードタイプをサポートします。
- カスタム値処理:
processValue
メソッドは、さまざまな値型(文字列、配列、オブジェクト)を処理します。新しい値型やカスタム処理をサポートするように拡張できます。
- カスタムASTトラバーサル:サーバーはBabelのトラバースを使用してASTを走査します。異なるノードタイプを処理するために、新しいビジターを追加できます。
発達
依存関係をインストールします:
サーバーを構築します。
自動リビルドを使用した開発の場合:
デバッグ
MCPサーバーはstdio経由で通信するため、デバッグが困難になる場合があります。パッケージスクリプトとして提供されているMCP Inspectorの使用をお勧めします。
インスペクターは、ブラウザでデバッグ ツールにアクセスするための URL を提供します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
You must be authenticated.
TypeScript/JavaScript ソース コードから埋め込みデータ (i18n 翻訳やキー/値構成など) を構造化された JSON 構成ファイルに抽出するモデル コンテキスト プロトコル サーバー。