mcpField
C
Compare Xml

Compare Xml

ローカル
github.com/unitstack開発ツール11 週間前に更新

Compare Xml について

Compare Xmlは、XML文書を比較する開発者向けツールキットです。構造化API、コマンドライン、VSCode拡張機能、MCPサーバーを備え、パスと変更種別を含む差分を返します。

主な機能

  1. 01要素、属性、テキストの詳細比較
  2. 023種類の配列マッチング方式
  3. 03キーと値の大文字小文字を無視
  4. 042形式でのパス追跡
  5. 05テーブル形式とJSON形式の出力
  6. 06VSCodeの差分表示とナビゲーター

活用シーン

  1. 01異なるバージョンのXML変更確認
  2. 02順序を考慮または無視した配列比較
  3. 03パスや変更種別による差分の絞り込み

MCP 対応

CLIはMCPサーバーとして起動でき、MCP対応AIアシスタントにXML比較機能を公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"compare-xml": {
"command": "npx",
"args": [
"-y",
"@compare-xml/cli"
]
}
}
}
起動コマンドnpx -y @compare-xml/cli

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@compare-xml/cli

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

compare-xml

構造化 XML 比較のためのツールキットです。キー、値、配列の照合方法を制御しながら、2 つの XML ドキュメント間の変更点を見つけられます。

オンラインプレイグラウンド:comparejson.com/tools/compare-xml

目的

多くの XML 差分ツールは、構造化されていないテキストを出力するか、重要な部分(要素がどこに追加されたか、配列の違いが順序によるものか内容によるものか)を見えなくしてしまいます。compare-xml は XML を構造化された表現に解析し、差分のリストを返します。各エントリーにはパス、対象側(base / contrast / both)、変更の種類(added、deleted、valueChanged)が含まれるため、表示、フィルタリング、プログラムからの処理が可能です。

特長

  • XML 要素、属性、配列、テキスト値の詳細な比較。
  • 3 種類の配列比較方式:byIndex(デフォルト)、lcs(最長共通部分列による最小差分)、unordered(マルチセット照合)。
  • キーや値の照合で大文字と小文字を区別しない設定が可能です。
  • セグメント配列形式とドット表記形式の両方でパスを追跡します。
  • 表形式または JSON 形式で出力できるCLI。インライン文字列またはファイルから読み込みます。
  • MCP サーバーを内蔵しており、MCP 対応の AI アシスタントに CLI を組み込めます。
  • エージェントスキル。Claude Code、OpenAI Codex CLI、OpenCode で使える単一のスキルです。
  • 完全な TypeScript 型定義。

パッケージ

pnpm ワークスペースです。

パッケージ説明
@compare-xml/coreコア比較ライブラリ(プログラム用 API)。
@compare-xml/clicore をベースにしたコマンドラインツールと MCP サーバー。
compare-xml-vscodeVSCode 拡張機能:並列差分表示と差分ナビゲーター。

クイックスタート

ライブラリ
npm install @compare-xml/core
import { compareXML } from '@compare-xml/core';

const differences = compareXML({
  baseXML: '<user><name>Alice</name><age>30</age></user>',
  contrastXML: '<user><name>Bob</name><age>30</age><email>[email protected]</email></user>',
});

// [
//   { pathString: 'user.name',  pathBelongsTo: 'both',     diffType: 'valueChanged', ... },
//   { pathString: 'user.email', pathBelongsTo: 'contrast', diffType: 'added',        ... },
// ]

API の全容については、コアの README を参照してください。

CLI
npm install -g @compare-xml/cli

compare-xml base.xml contrast.xml
┌──────────────┬──────────────┐
│ Key          │ Change Type  │
├──────────────┼──────────────┤
│ (Base) a     │ valueChanged │
│ (Base) b     │ deleted      │
│ (Contrast) c │ added        │
└──────────────┴──────────────┘

機械可読な出力には --json-export を、MCP サーバーとして起動するには --mcp を使用してください。すべてのフラグと MCP ツールのスキーマについては、CLI の README を参照してください。

MCP
{
  "mcpServers": {
    "compare-xml": {
      "command": "npx",
      "args": ["@compare-xml/cli@latest", "--mcp"]
    }
  }
}
スキル

単一の SKILL.md で、AI コーディングアシスタントが必要に応じて CLI を呼び出す方法を説明します。このファイルはオープンな Agent Skills 形式に準拠しており、Claude Code、OpenAI Codex CLI、OpenCode、Cursor など 50 以上のツールで動作します。

最も手早くインストールするには npx skills を使用してください。インストール済みの各エージェントを自動検出し、それぞれにスキルを追加します。

npx skills add unitstack/compare-xml

開発

Node.js ≥ 20 と pnpm が必要です。

# install dependencies
pnpm install

# build all packages
pnpm -r build

# run tests across the workspace
pnpm -r test

# lint
pnpm -r lint

リポジトリの構成:

apps/
└── compare-xml-vscode/   # VSCode extension
packages/
├── compare-xml-core/     # @compare-xml/core — library
├── compare-xml-cli/      # @compare-xml/cli  — CLI + MCP server
└── internal/             # shared eslint/tsconfig (not published)
skills/
└── compare-xml/          # SKILL.md for Claude Code / Codex CLI / OpenCode

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。