ediFabric EDI

com.edifabric由 edifabric.com 發布v1.0.1更新於 Nov 14, 2026

Validate, parse, build and acknowledge X12 and HIPAA EDI files locally with ediFabric Native.

發布方自己的服務:Fabric

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

在本機驗證、解析、建置、拆分 X12 與 HIPAA EDI 檔案並產生確認訊息,支援 EDI 與 JSON 互轉。

可以做什麼
  • 將 EDI 檔案解析為 JSON 並存成檔案,同時回傳交換與交易集摘要
  • 依實作指南驗證 EDI,可指定 SNIP 等級,並列出錯誤及所在區段位置
  • 從 JSON 建置 EDI 檔案,並把單一檔案依交易集拆分為多個檔案
  • 產生 999 或 997 確認訊息,交換需要時附上 TA1
  • 描述交易集的迴圈、區段與元素細節,或產生待填寫的 JSON 骨架
  • 查看授權狀態、模型來源與允許存取的資料夾
適用情境
適合處理 X12 或 HIPAA EDI(理賠、採購單、發票、確認訊息)的情境:讓助理檢查檔案、解釋驗證錯誤、透過 JSON 修改數值或產生確認訊息,而不必把資料上傳到外部。
執行需求
透過 npx 在本機執行,需要 Node.js 18 以上版本(Windows x64、Linux x64/arm64、macOS Apple 晶片);另提供 Claude Desktop 安裝包。需設定 EDIFABRIC_SERIAL 作為授權,離線機器可設定 EDIFABRIC_TOKEN。EDIFABRIC_ALLOWED_DIRS 限定可讀寫的資料夾。線上授權檢查與下載標準模型需要網路,除非設定 EDIFABRIC_OFFLINE 並搭配 EDIFABRIC_MAP。
安裝前請注意
EDIFABRIC_SERIAL 與 EDIFABRIC_TOKEN 是授權金鑰,不要寫進共用的設定檔。未提供序號時會使用示範序號,每日額度很小且不適合正式環境。工具會在允許的資料夾內寫入檔案(解析後的 JSON、建置的 EDI、確認訊息、拆分檔案),應盡量縮小 EDIFABRIC_ALLOWED_DIRS 範圍。預設會從 EdiNation 下載標準模型,只傳送交易類型與版本,不傳送檔案內容。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ediFabric EDI,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ediFabric MCP Server

An MCP server for EDI, currently X12 and HIPAA. It lets AI assistants such as Claude, Cursor and GitHub Copilot convert EDI to JSON and back, validate files, and generate 997 and 999 acknowledgments, using ediFabric Native on your own machine.

Your EDI files stay on your machine: the server reads and writes them locally, and returns summaries to the assistant rather than whole files.

Tools

ToolWhat it does
parse_ediConverts an EDI file to JSON, saves it to a file, and summarizes the interchanges and transaction sets
validate_ediValidates an EDI file up to HIPAA SNIP level 4, and returns each error with the segment it is in
acknowledge_ediSaves a 999 or 997 for an X12 file, with a TA1 when the interchange asks for one
build_ediConverts EDI JSON to an EDI file
split_ediSaves each transaction set in a file as its own EDI file
describe_specDescribes a transaction set from the model the other tools use, standard or custom: its loops and segments with their JSON property names, or one segment's elements, types, lengths, codes and syntax rules. With output: skeleton, it makes JSON of the required parts to fill in for build_edi
get_statusShows the license and how it's checked, where models come from and the allowed folders

The tools detect the format from the file, and take an optional format to set it.

Try asking:

  • "Validate claims.837 at SNIP level 4 and explain each error."
  • "Generate a 999 for every file in the inbound folder."
  • "Convert po.edi to JSON, change the quantity on line 2 to 12, and build it back to X12."
  • "What does an 856 in 004010 look like? Create a sample one."

Install

You need Node.js 18 or later. The server runs on Windows x64, Linux x64 and arm64, and macOS on Apple silicon.

Without EDIFABRIC_SERIAL, the server uses the free demo serial, which has a small daily quota and isn't for production. Use your own serial from Your account.

[Add to Cursor] [Install in VS Code] [Claude Desktop bundle]

Claude Code

Install it as a plugin, which asks for your serial and keeps it in your system's credential store:

/plugin marketplace add EdiFabric/edifabric-mcp/plugin install edifabric@edifabric

Or add the server on its own:

bash
claude mcp add edifabric -e EDIFABRIC_SERIAL=YOUR_SERIAL -- npx -y @edifabric/mcp

On Windows, outside WSL, run npx through cmd: claude mcp add edifabric -e EDIFABRIC_SERIAL=YOUR_SERIAL -- cmd /c npx -y @edifabric/mcp.

Claude Desktop

Download edifabric-mcp-<version>.mcpb from the latest release, then open it in Claude Desktop in one of these ways:

  • double-click the file (installing Claude Desktop registers the .mcpb file type);
  • drag the file onto the Claude Desktop window;
  • in Claude Desktop, go to Settings > Extensions > Advanced settings > Install Extension... and select the file.

Claude Desktop shows the extension: select Install, then enter your serial and your EDI folder. The bundle includes everything, so you don't need Node.js.

Or add this to claude_desktop_config.json, under Settings, Developer, Edit Config:

json
{  "mcpServers": {    "edifabric": {      "command": "npx",      "args": ["-y", "@edifabric/mcp"],      "env": {        "EDIFABRIC_SERIAL": "YOUR_SERIAL",        "EDIFABRIC_ALLOWED_DIRS": "C:\\EDI"      }    }  }}

Cursor

Add this to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "edifabric": {      "command": "npx",      "args": ["-y", "@edifabric/mcp"],      "env": { "EDIFABRIC_SERIAL": "YOUR_SERIAL" }    }  }}

VS Code

Add this to .vscode/mcp.json:

json
{  "servers": {    "edifabric": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@edifabric/mcp"],      "env": { "EDIFABRIC_SERIAL": "YOUR_SERIAL" }    }  }}

OpenAI Codex

Add this to ~/.codex/config.toml:

toml
[mcp_servers.edifabric]command = "npx"args = ["-y", "@edifabric/mcp"]env = { EDIFABRIC_SERIAL = "YOUR_SERIAL" }

Gemini CLI, Windsurf and others

Gemini CLI (~/.gemini/settings.json), Windsurf (~/.codeium/windsurf/mcp_config.json), Cline, and most other clients take the same mcpServers entry as Claude Desktop.

Other MCP clients use the same command, npx -y @edifabric/mcp, and the same environment variables.

Configuration

VariableWhat it does
EDIFABRIC_SERIALYour ediFabric serial. The default is the demo serial
EDIFABRIC_TOKENA token issued for you, for machines without internet access. See Licensing and quotas
EDIFABRIC_TOKEN_CACHEThe folder for cached tokens, or none to keep them in memory only. The default is your user cache folder
EDIFABRIC_ALLOWED_DIRSThe folders the tools can read and write, separated by ; on Windows and : elsewhere. Without it, the server uses the folders your MCP client shares, or your home folder
EDIFABRIC_MAPA map.json with local or custom models. See Models
EDIFABRIC_OFFLINESet to true to use only the models in EDIFABRIC_MAP
EDIFABRIC_LIBRARYThe path to the ediFabric Native library, if it isn't the one installed with the package

Models

Each transaction set is read and validated with a model for its type and version. By default, the server downloads the standard X12 and HIPAA models from EdiNation, which sends the transaction type and version, never the contents of your files.

To use local or custom models, such as ones you made in the EDI Spec Builder and downloaded for ediFabric Native, list them in a map.json and set EDIFABRIC_MAP to it:

json
{  "default": "",  "maps": {    "837:005010X222A1": { "type": 1, "name": "model837P.json", "location": "." },    "850:004010": { "type": 1, "name": "acme-850.json", "location": "models" }  }}

Each key is the transaction set and version from ST or GS. location is relative to the map file. Transactions that aren't in the map still use the online models, unless EDIFABRIC_OFFLINE is true.

describe_spec finds models the same way, so it describes your custom models too. It keeps the models it downloads in memory only, and never saves them.

Licensing and quotas

How the license is checked depends on your plan. You don't have to choose: set EDIFABRIC_SERIAL, and get_status shows which applies.

PlanHow it works
CommunityEach tool call that reads or writes EDI is checked online and counts towards your quota, so the server needs internet access. It allows 250 operations a day; see pricing
DeveloperThe server gets a token for this machine and saves it, so operations are checked locally and a restart needs no license call. It refreshes the token by itself. The plan covers up to 3 machines
Enterprise, PerpetualThe same, with a token that isn't limited to one machine
Issued tokenSet EDIFABRIC_TOKEN to a token issued for you, such as for a Perpetual license or a site without internet access. The server makes no license calls. Without EDIFABRIC_SERIAL as well, it can only use the models in EDIFABRIC_MAP

To upgrade, keep your serial if it stays the same, or set the new one in EDIFABRIC_SERIAL, and restart your MCP client. describe_spec and get_status don't read or write EDI, so they don't count as operations. describe_spec downloads models with your serial, as the other tools do.

This MCP server is open source under the MIT license. ediFabric Native, which it uses through the edifabric-x12 package for X12, is licensed under the ediFabric EULA.

Development

bash
npm installnpm test

The tests need Node.js 22.9 or later, for --env-file-if-exists. They use the sample model in test/fixtures and need a serial with quota left. Put EDIFABRIC_SERIAL=YOUR_SERIAL in a .env.local file, which git ignores, or set the variable. They need ediFabric Native 120 or later: set EDIFABRIC_LIBRARY if the installed package has an older one. Set EDIFABRIC_ONLINE_TESTS=1 to include the tests that download models online. To try the server interactively, run npm run inspect.

Adding a format

Each EDI format has a module in src/formats, with its own ediFabric Native library and bindings package. To add one, such as EDIFACT with edifabric-edifact-tools, write a module with the same members as src/formats/x12/index.js and register it in src/formats/index.js. The tools, licensing and models then work with it. Its library loads only when a file of that format is used, so the bindings package can be an optional dependency. test/formats.test.js shows a complete example with a stand-in library.

來源:README.md,提交 77a5512

工具

7

parse_edi

Convert EDI to JSON

Converts an EDI file (X12, including HIPAA) to JSON and saves it to a file. Returns a summary of its contents. The JSON uses the same property names as describe_spec, and build_edi converts it back.

輸入參數formatoverwriteinput_path必填output_path

validate_edi

Validate EDI

Validates an EDI file (X12, including HIPAA) against its implementation guide, up to the chosen SNIP level. Returns each error with the text of the segment, and its segment and element position. Doesn't write any files.

輸入參數formatinput_path必填max_errorssnip_level

acknowledge_edi

Generate an acknowledgment

Validates an EDI file and saves the acknowledgment for it. For X12: a 999 by default, or a 997, with a TA1 when the interchange asks for one. Returns the validation errors too.

輸入參數formatack_typeoverwriteinput_path必填max_errorssnip_leveloutput_pathsuppress_ta1include_accepted

build_edi

Convert JSON to EDI

Converts EDI JSON, as produced by parse_edi or written to match describe_spec, to an EDI file. The segments are written as they are in the JSON, so include the trailer segments with the correct counts, and run validate_edi on the result.

輸入參數formatoverwriteinput_path必填line_breaksoutput_path必填

split_edi

Split EDI into transactions

Splits an EDI file into one file per transaction, such as one claim batch into separate files. Each file keeps the original envelopes, with their counts set to 1.

輸入參數formatoverwriteinput_path必填output_folder

describe_spec

Describe a transaction

Describes a transaction (X12, including HIPAA) from the model parse_edi and build_edi use: a local or custom model in the map file, otherwise the standard model. The outline lists its loops and segments with the JSON property names. Give segment for one segment's elements, types, lengths, codes and syntax rules. Set output to skeleton for JSON to fill in and pass to build_edi.

輸入參數formatoutputsegmentversion必填max_depthoverwriteoutput_pathtransaction必填

get_status

Check the ediFabric setup

Shows the license and how it's checked, where models come from and which folders the tools can use. Use it when a tool reports a setup problem.

無需輸入參數。

版本歷史

2
  1. v1.0.1最新Nov 13, 2026
  2. v1.0.0Nov 12, 2026

評分

已滿足適用檢查項的 80%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Fabric 整合