ediFabric EDI について
ediFabric EDIは、X12およびHIPAAのEDIファイルを扱うローカルMCPサーバーです。解析、検証、生成、分割、確認応答の作成に対応し、ファイル全体ではなく要約をアシスタントに返します。
主な機能
- 01EDIファイルをJSONに解析
- 02HIPAA SNIPレベル4まで検証
- 03997および999の確認応答を生成
- 04JSONからEDIファイルを作成
- 05トランザクションセット単位で分割
- 06標準・カスタム仕様の記述
活用シーン
- 01受信EDIファイルを確認用に変換
- 02セグメント単位で検証エラーを特定
- 03X12ファイルの確認応答を作成
- 04トランザクション仕様からJSONを準備
MCP 対応
このMCPサーバーは、X12およびHIPAA EDIの解析、検証、生成、分割、確認応答作成、仕様記述のツールを提供します。ファイルはローカルで読み書きし、アクセス範囲は設定済みまたはクライアント共有のフォルダーに制限されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @edifabric/mcpEDIFABRIC_SERIALシークレットYour ediFabric serial key. Without it, the server uses the demo serial, which has a small daily quota.EDIFABRIC_ALLOWED_DIRSFolders the tools may read and write, separated by ; on Windows and : elsewhere. Defaults to the client's roots or the home folder.EDIFABRIC_MAPPath to a map.json with local or custom models.EDIFABRIC_OFFLINESet to true to use only the models in EDIFABRIC_MAP.EDIFABRIC_TOKENシークレットA token issued for you, for machines without internet access.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ediFabric MCP サーバー
EDI(現在は X12 と HIPAA)向けの MCP サーバーです。Claude、Cursor、GitHub Copilot などの AI アシスタントを使って、EDI を JSON に変換したり、JSON から EDI に戻したり、ファイルを検証したり、ediFabric Native をお使いのマシン上で使用して 997 および 999 の確認応答を生成したりできます。
EDI ファイルはお使いのマシン上に保持されます。サーバーはファイルをローカルで読み書きし、ファイル全体ではなく概要をアシスタントに返します。
ツール
| ツール | 機能 |
|---|---|
parse_edi | EDI ファイルを JSON に変換してファイルに保存し、インターチェンジとトランザクションセットの概要を示します |
validate_edi | EDI ファイルを HIPAA SNIP レベル 4 まで検証し、各エラーとそのエラーが発生したセグメントを返します |
acknowledge_edi | X12 ファイルの 999 または 997 を保存します。インターチェンジから要求されている場合は TA1 も保存します |
build_edi | EDI JSON を EDI ファイルに変換します |
split_edi | ファイル内の各トランザクションセットを個別の EDI ファイルとして保存します |
describe_spec | 標準またはカスタムの、他のツールが使用するモデルからトランザクションセットを説明します。JSON プロパティ名を含むループとセグメント、または 1 つのセグメントの要素、型、長さ、コード、構文ルールを確認できます。output: skeleton を指定すると、build_edi で入力する必須部分の JSON を作成します |
get_status | ライセンスとその確認方法、モデルの取得元、使用が許可されているフォルダーを表示します |
ツールはファイルから形式を検出します。また、形式を指定する場合は任意の format を使用できます。
次のように尋ねてみてください。
- 「claims.837 を SNIP レベル 4 で検証し、各エラーを説明してください。」
- 「inbound フォルダー内のすべてのファイルについて 999 を生成してください。」
- 「po.edi を JSON に変換し、2 行目の数量を 12 に変更して、X12 に戻してください。」
- 「004010 の 856 はどのような形式ですか? サンプルを作成してください。」
インストール
Node.js 18 以降が必要です。サーバーは Windows x64、Linux x64 および arm64、Apple シリコン搭載の macOS で動作します。
EDIFABRIC_SERIAL が設定されていない場合、サーバーは無料のデモ用シリアルを使用します。デモ用シリアルには少量の日次クォータがあり、本番環境での使用には適していません。アカウントからご自身のシリアルを取得してください。
Claude Code
プラグインとしてインストールします。シリアルの入力が求められ、システムの認証情報ストアに保存されます。
/plugin marketplace add EdiFabric/edifabric-mcp
/plugin install edifabric@edifabric
または、サーバーを単独で追加します。
claude mcp add edifabric -e EDIFABRIC_SERIAL=YOUR_SERIAL -- npx -y @edifabric/mcp
Windows で WSL を使用せずに実行する場合は、cmd 経由で npx を実行します。claude mcp add edifabric -e EDIFABRIC_SERIAL=YOUR_SERIAL -- cmd /c npx -y @edifabric/mcp。
Claude Desktop
最新リリースから edifabric-mcp-<version>.mcpb をダウンロードして開きます。Claude Desktop がインストールし、シリアルと EDI フォルダーの入力を求めます。バンドルにはすべて含まれているため、Node.js は必要ありません。
または、Settings、Developer、Edit Config の下にある claude_desktop_config.json に次の内容を追加します。
{
"mcpServers": {
"edifabric": {
"command": "npx",
"args": ["-y", "@edifabric/mcp"],
"env": {
"EDIFABRIC_SERIAL": "YOUR_SERIAL",
"EDIFABRIC_ALLOWED_DIRS": "C:\\EDI"
}
}
}
}
Cursor
プロジェクト内の .cursor/mcp.json、または ~/.cursor/mcp.json に次の内容を追加します。
{
"mcpServers": {
"edifabric": {
"command": "npx",
"args": ["-y", "@edifabric/mcp"],
"env": { "EDIFABRIC_SERIAL": "YOUR_SERIAL" }
}
}
}
VS Code
.vscode/mcp.json に次の内容を追加します。
{
"servers": {
"edifabric": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@edifabric/mcp"],
"env": { "EDIFABRIC_SERIAL": "YOUR_SERIAL" }
}
}
}
OpenAI Codex
~/.codex/config.toml に次の内容を追加します。
[mcp_servers.edifabric]
command = "npx"
args = ["-y", "@edifabric/mcp"]
env = { EDIFABRIC_SERIAL = "YOUR_SERIAL" }
Gemini CLI、Windsurf など
Gemini CLI(~/.gemini/settings.json)、Windsurf(~/.codeium/windsurf/mcp_config.json)、Cline、およびその他のほとんどのクライアントでは、Claude Desktop と同じ mcpServers エントリを使用します。
その他の MCP クライアントでも、同じコマンド npx -y @edifabric/mcp と同じ環境変数を使用します。
設定
| 変数 | 機能 |
|---|---|
EDIFABRIC_SERIAL | ediFabric のシリアル番号です。デフォルトはデモ用シリアル番号です |
EDIFABRIC_TOKEN | インターネットに接続できないマシン用に発行されたトークンです。ライセンスとクォータを参照してください |
EDIFABRIC_TOKEN_CACHE | キャッシュされたトークンを保存するフォルダーです。none を指定すると、メモリ内だけに保持します。デフォルトはユーザーのキャッシュフォルダーです |
EDIFABRIC_ALLOWED_DIRS | ツールが読み書きできるフォルダーです。Windows では ;、それ以外では : で区切ります。指定しない場合、サーバーは MCP クライアントが共有するフォルダー、またはホームフォルダーを使用します |
EDIFABRIC_MAP | ローカルまたはカスタムモデルを指定する map.json です。モデルを参照してください |
EDIFABRIC_OFFLINE | true に設定すると、EDIFABRIC_MAP にあるモデルのみを使用します |
EDIFABRIC_LIBRARY | ediFabric Native ライブラリのパスです。パッケージとともにインストールされたものを使用しない場合に指定します |
モデル
各トランザクションセットは、その種類とバージョンに対応するモデルを使用して読み込まれ、検証されます。デフォルトでは、サーバーは標準の X12 モデルと HIPAA モデルを EdiNation からダウンロードします。この際、送信されるのはトランザクションの種類とバージョンだけで、ファイルの内容は送信されません。
EDI Spec Builderで作成し、ediFabric Native 用にダウンロードしたモデルなど、ローカルまたはカスタムモデルを使用するには、モデルを map.json に記載し、EDIFABRIC_MAP にそのファイルを指定します。
{
"default": "",
"maps": {
"837:005010X222A1": { "type": 1, "name": "model837P.json", "location": "." },
"850:004010": { "type": 1, "name": "acme-850.json", "location": "models" }
}
}
各キーは、ST または GS に含まれるトランザクションセットとバージョンです。location はマップファイルからの相対パスです。マップに含まれないトランザクションには、EDIFABRIC_OFFLINE が true でない限り、引き続きオンラインモデルが使用されます。
describe_spec も同じ方法でモデルを検索するため、カスタムモデルも説明します。ダウンロードしたモデルはメモリ内にのみ保持し、保存しません。
ライセンスとクォータ
ライセンスの確認方法はプランによって異なります。プランを選ぶ必要はありません。EDIFABRIC_SERIAL を設定すると、どの方法が適用されるかが get_status に表示されます。
| プラン | 動作 |
|---|---|
| Community | EDI を読み書きする各ツール呼び出しはオンラインで確認され、クォータに加算されるため、サーバーにはインターネット接続が必要です。1 日あたり 250 回の操作が可能です。料金を参照してください |
| Developer | サーバーはこのマシン用のトークンを取得して保存するため、操作はローカルで確認され、再起動時にライセンス確認は不要です。トークンは自動的に更新されます。このプランは最大 3 台のマシンを対象とします |
| Enterprise, Perpetual | 同じ仕組みですが、トークンは 1 台のマシンに限定されません |
| Issued token | Perpetual ライセンス用やインターネットに接続できないサイト用などに発行されたトークンを EDIFABRIC_TOKEN に設定します。サーバーはライセンス確認を行いません。EDIFABRIC_SERIAL も設定されていない場合、EDIFABRIC_MAP にあるモデルのみを使用できます |
アップグレードするには、シリアル番号が変わらない場合はそのまま使用し、新しいシリアル番号を使用する場合は EDIFABRIC_SERIAL に設定して、MCP クライアントを再起動してください。describe_spec と get_status は EDI を読み書きしないため、操作回数に加算されません。describe_spec は、他のツールと同様に、シリアル番号を使用してモデルをダウンロードします。
この MCP サーバーは、MIT ライセンスの下でオープンソースとして公開されています。X12 用の edifabric-x12 パッケージを通じて使用する ediFabric Native は、ediFabric EULAに基づいてライセンスされています。
開発
npm install
npm test
テストには --env-file-if-exists を使用するため、Node.js 22.9 以降が必要です。test/fixtures にあるサンプルモデルを使用し、クォータが残っているシリアルが必要です。git の追跡対象外となる .env.local ファイルに EDIFABRIC_SERIAL=YOUR_SERIAL を記述するか、変数を設定してください。ediFabric Native 120 以降が必要です。インストール済みのパッケージが古いバージョンの場合は、EDIFABRIC_LIBRARY を設定してください。オンラインでモデルをダウンロードするテストを含めるには、EDIFABRIC_ONLINE_TESTS=1 を設定してください。サーバーを対話形式で試すには、npm run inspect を実行してください。
フォーマットの追加
各 EDI フォーマットには src/formats にモジュールがあり、それぞれ独自の ediFabric Native ライブラリとバインディングパッケージを使用します。たとえば edifabric-edifact-tools を使って EDIFACT を追加するには、src/formats/x12/index.js と同じメンバーを持つモジュールを作成し、src/formats/index.js に登録してください。これで、ツール、ライセンス、モデルを利用できるようになります。そのライブラリは該当フォーマットのファイルが使用される場合にのみ読み込まれるため、バインディングパッケージをオプションの依存関係にできます。test/formats.test.js に、スタンドインライブラリを使った完全な例があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。