crossmatrix について
crossmatrixは、多次元の品質機能展開(QFD)と関係マトリックス分析を行うRustプロジェクトです。要件やトレードオフの構造化に向け、MCPサーバーでモデル作成、ギャップ分析、レポート生成を行い、モデルと監査記録をリポジトリに保存できます。
主な機能
- 01多次元関係マトリックスの作成
- 02観察結果と根拠の記録
- 03カバレッジ、ギャップ、競合の分析
- 04House of Qualityレポートの生成
- 05モデル検証と変更追跡
活用シーン
- 01要件と技術属性の関係分析
- 02未カバー項目や孤立項目の特定
- 03リポジトリ内でのモデル変更・監査記録の確認
MCP 対応
MCPサーバーは`crossmatrix.command`で書き込み操作を、`crossmatrix.query`で読み取り、分析、検証、エクスポート操作を提供します。オプションのAI支援は既定で無効で、提案が分析に反映されるには確認が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/praxec/crossmatrix:0.3.4ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/praxec/crossmatrix:0.3.4stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
crossmatrix
多次元 品質機能展開(QFD) — 構造化されたトレードオフ分析と要件分析のための、次元間の関係マトリクスです。Rust ワークスペース:crossmatrix(エンジン)+ crossmatrix-mcp(MCP サーバー)。Praxec の一部です。
インストール
npm / npx(MCP クライアントに推奨)
npx -y @matthew-cochran/crossmatrix --version
claude mcp add crossmatrix --scope user -- npx -y @matthew-cochran/crossmatrix
@matthew-cochran/crossmatrix パッケージは小さなランチャーです。初回実行時に、お使いのプラットフォーム用のリリースバイナリをダウンロードし、リリースの checksums.sha256 と照合して検証し、キャッシュして、stdio 経由で実行します(シグナルは転送され、stdout は MCP が使用します)。CROSSMATRIX_MCP_BINARY を使うと、ご自身でインストールしたバイナリを指定できます。このパッケージにはエージェントスキルも同梱されています。
ビルド済みバイナリ(Rust、Cargo、Git は不要)
# Linux / macOS
curl -fsSL https://github.com/praxec/crossmatrix/releases/latest/download/install.sh | sh
# Windows (PowerShell)
irm https://github.com/praxec/crossmatrix/releases/latest/download/install.ps1 | iex
インストーラーは OS と CPU アーキテクチャを判別し、対応するリリースアセットをダウンロードして、リリースの checksums.sha256 と照合して SHA-256 を検証し、安全に展開したうえで、ユーザー専用の管理ディレクトリ(Linux/macOS では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\crossmatrix-mcp)にバイナリをアトミックにインストールします。ソースからコンパイルすることはなく、サポート対象外の OS/アーキテクチャでは明確にエラーになります。
現在の最新安定版ではなく、特定のリリースを指定するには:
curl -fsSL https://github.com/praxec/crossmatrix/releases/latest/download/install.sh \
| sh -s -- --version v0.3.1
インストーラースクリプトは、バイナリとともにリリースアセットとして公開されています。
または、アーカイブを直接ダウンロードしてください。すべてのリリースには checksums.sha256 と、各ターゲット、アセット、ダイジェスト、バージョン、ソース SHA を記載した機械可読な release-manifest.json が含まれます:
| OS | アーキテクチャ | ターゲットトリプル | アセット | ビルドサポート | ランタイムのスモークテスト |
|---|---|---|---|---|---|
| Linux | x86_64 | x86_64-unknown-linux-gnu | crossmatrix-mcp-x86_64-unknown-linux-gnu.tar.gz | ネイティブ CI | ネイティブ CI |
| Linux | arm64 | aarch64-unknown-linux-gnu | crossmatrix-mcp-aarch64-unknown-linux-gnu.tar.gz | ネイティブ CI | ネイティブ CI |
| macOS | x86_64 | x86_64-apple-darwin | crossmatrix-mcp-x86_64-apple-darwin.tar.gz | ネイティブ CI | ネイティブ CI |
| macOS | Apple Silicon | aarch64-apple-darwin | crossmatrix-mcp-aarch64-apple-darwin.tar.gz | ネイティブ CI | ネイティブ CI |
| Windows | x86_64 | x86_64-pc-windows-msvc | crossmatrix-mcp-x86_64-pc-windows-msvc.zip | ネイティブ CI | ネイティブ CI |
| Windows | arm64 | aarch64-pc-windows-msvc | crossmatrix-mcp-aarch64-pc-windows-msvc.zip | ネイティブ CI | ネイティブ CI |
「ネイティブ CI」とは、各アセットをそれぞれのプラットフォーム専用ランナーでビルドし、そのプラットフォーム上で MCP の initialize/tools/list ハンドシェイクをスモークテストすることを意味します。それ以外の CPU/OS の組み合わせはサポート対象としていません。サポート対象外のプラットフォームは、暗黙にクロスコンパイルするのではなく、拒否されます。
アップデート
アップデートするにはインストーラーを再実行してください。管理対象のインストールディレクトリ内のバイナリのみがアトミックに置き換えられます。アプリケーションの状態と設定はそのディレクトリの外に保存され、上書きされることはありません。
ソースから
cargo build --release
crossmatrix-mcp MCP stdio サーバーが生成されます。
リポジトリにコミットするモデル:.crossmatrix/
crossmatrix は、安定した id@version(ADR-0004)で関連付けられた3つのドキュメントと、追記専用の監査ログでモデルを管理します。これらはコミット対象のディレクトリに保存されます:
crossmatrix-mcp init # creates .crossmatrix/ in the current directory
crossmatrix-mcp check # validates every document and cross-reference
.crossmatrix/
config/<configId>@<version>.json # methodology: scales, relations, contractions
dimensions/<dimensionSetId>@<version>.json # dimensions and their members
state/<stateId>.json # cells/observations + revision
audit/<stateId>.jsonl # one line per accepted mutation (merge=union)
書き込みはキーをソートし、インデントを2スペースにして、末尾に改行を付けた正規 JSON 形式でアトミックに行われるため、差分を小さく保てます。指摘事項は読み取りのたびに計算され、保存されることはありません。check はパス固有の診断(例:state/demo.json: cells[3].to: unknown member 'x' in dimension 'dim_part')を出力して、ゼロ以外で終了します。CI で実行してください。
サーバーは次の順序でストアを探します:CROSSMATRIX_DIR、.crossmatrix/ を含む最も近い親ディレクトリ、$XDG_DATA_HOME/crossmatrix(または ~/.local/share/crossmatrix)、最後に ./crossmatrix-state。model.status は解決された root を報告します。
CLI
| コマンド | 効果 |
|---|---|
crossmatrix-mcp | stdio で MCP を提供します |
crossmatrix-mcp init [--dir D] | D/.crossmatrix/ を作成します(冪等) |
crossmatrix-mcp check [--dir D] | ストアを検証します。問題がある場合は終了コード 1 を返します |
crossmatrix-mcp skills install --target <t> (--project D | --user) [--dry-run] [--force] | 同梱のエージェントスキルをインストールします |
crossmatrix-mcp skills uninstall --target <t> (--project D | --user) / skills list | インストール済みのスキルを削除/一覧表示します |
crossmatrix-mcp --version / --help | バージョン/使用方法を表示します |
ツール
MCP ツールは 2 つあり、crossmatrix.command(書き込み)と crossmatrix.query(読み取り)です。
拒否の場合も含め、すべての応答には次に実行可能な操作を示す links が含まれます。
拒否時の structuredContent は {ok: false, error: {code, message}, links} です。
書き込み(crossmatrix.command)
{"request": {"schemaVersion": "0.2.0", "requestId": "r-17", "modelId": "checkout",
"expectedVersion": 16, "actor": {"actorType": "llm", "persona": "observer"},
"op": {"kind": "observe", "relationId": "rel_need_char", "from": "need_fast",
"to": "char_latency", "observation": "strong", "provenanceClass": "normative"}}}
| 操作 | レイヤー | 目的 |
|---|---|---|
model.open | — | state/<stateId>.json を開きます(または作成します)。再起動後も保持されます |
model.status | — | バージョン、ストアのルート、件数 |
scale.declare | Configuration | 観測トークンから値へのテーブル |
relation.declare | Configuration | from/to の次元、relationType、スケール、coveragePolicy |
contraction.declare | Configuration | 派生ビュー用の関係の連鎖 |
dimension.register | Dimensions | 軸(dimensionKind は任意の snake_case 形式の単語) |
members.sync | Dimensions | 名簿をアップサートします。不在のメンバーは削除されず、非推奨になります。変更のない名簿では何も行いません |
member.propose | Dimensions | メンバーを 1 つ追加します |
observe | State | セルにトークンと根拠を記録します(数値は使用しません) |
evidence.attach | State | 観測に根拠を追加します |
deprecate | 任意 | メンバーまたは関係を廃止します(supersededBy) |
観測専用です。数値のメンバー weight は sourceRef.system(決定論的なインポート)とともに指定した場合のみ受け入れられ、measuredValue は provenanceClass: observed と sourceRef を指定した場合のみ受け入れられます。expectedVersion は楽観的ロックです。requestId によりコマンドが冪等になり、再起動後もその性質が維持されます。
受け入れられた変更ごとに、監査ログに {ts, requestId, actor, op, beforeVersion, afterVersion, summary} の 1 行が追加されます。
従来の 1 回の呼び出しで完了するフローも引き続き利用できます。完全な model を含むコマンドは、それをセッションに(メモリ上で)インポートし、その後のクエリで使用します。
読み取り(crossmatrix.query)
model.status、describe、slice、trace、explain、coverage、
gaps.orphans、gaps.next、stale、conflicts、analyze.marginalize、
analyze.contract、analyze.findings、validate、report、export。
report {relationId?}は Markdown 形式の品質機能展開表を返します。重み、関係マトリクス、相関ルーフ(自己関係)、技術的重要度、目標(attributes.target)、カバレッジ、寄与元を含む所見を表示します。relationIdを指定しない場合は、すべての関係を対象にします。export {format: model|report|findings}は統合されたモデルの JSON を返します。conflicts {relationId?}は、価値と分離による緊張関係および競合の一覧を返します。traceとsliceは、メンバー ID またはsourceRef.uriを受け付けます。limit/cursorでページ分割でき、rollup: trueを指定すると、contains階層のリーフ観測をロールアップします(ディレクトリは、その下のファイルのいずれかが機能を実装していれば、その機能を実装しているとみなされます)。stale {hashes?, readFiles?}は保存済みのソースハッシュと現在のハッシュを比較し(readFilesはプロジェクト内のfile://ソースをハッシュ化します)、変更されたメンバーとそれらを参照するすべてのセルをページ分割して返します。
AI アシスト(任意、デフォルトでは無効)
2 つの任意の cargo 機能で、モデルを利用するヘルパーを追加できます。どちらもデフォルトのビルドやリリースバイナリには含まれません(有効にしてビルドした場合を除く)。どちらも明示的なオプトインとキーが必要です。また、分析値を書き込むことはありません。提案は提案済みの観測結果として記録され、人間または LLM が通常の observe でセルを確認するまでは、どの分析にも反映されません。
cargo build --release --features jev,rig
export CROSSMATRIX_ASSIST=jev,rig # explicit opt-in (or `all`)
export TYPESAFE_JEV_API_KEY=... # or OPENROUTER_API_KEY (also used by rig)
| クエリ | 機能 | 説明 |
|---|---|---|
assist.suggest {relationId, cells?, maxCells?, record?} | jev | 候補セルごとに(デフォルトでは gaps.next の結果を使用)、関係の尺度トークンから選ぶ質問を Jev に送り、2 つのメンバーのラベル、説明、エビデンスをまとめた状態を渡します。セルごとに {cell, token, probabilities, confidence} を返します。record: true を指定すると、アクター {classifier, jev} による proposed 観測結果として保存されます。 |
gaps.next {rankBy: "uncertainty", relationId} | jev | Jev の不確実性(1 − confidence)に基づいて候補セルを順位付けします。 |
proposals {relationId?} | — | 確認待ちの提案済み観測結果を一覧表示します。 |
assist.members {dimensionId, sourceText, sourceUri?} | rig | 指定されたテキスト(README、インタビューのメモ、競合他社のページなど)から新しいメンバーを提案します。各候補には原文の抜粋と文字位置の範囲が付属します。追加は行わず、それぞれに member.propose 用のペイロードが用意されます。 |
assist.narrative {relationId?} / report {narrative: true} | rig | レポート用に analyze.findings の短い説明を作成します。 |
設定:TYPESAFE_JEV_API_KEY が設定されている場合、Jev は https://api.typesafe.ai と jev-latest を使用します。設定されていない場合は、OpenRouter と ~typesafe/jev-latest を使用します。CROSSMATRIX_JEV_BASE_URL、CROSSMATRIX_JEV_MODEL、CROSSMATRIX_JEV_TIMEOUT_SECS で上書きできます。Rig は OpenRouter と CROSSMATRIX_RIG_MODEL(デフォルトは openai/gpt-5-mini)、CROSSMATRIX_RIG_TIMEOUT_SECS を使用します。呼び出しには上限(タイムアウト、呼び出しあたりのセル数、トークン予算)が設定され、すべての応答で usage が報告されます。機能、オプトイン、またはキーがない場合、クエリは {ok: false, status: "assist_unavailable", reason, links} を返します。
エージェントスキル
crossmatrix には、エージェントにメソッドと一般的な使い方を教える Agent Skills が付属しています。1 つのクライアントまたはすべてのクライアント向けに、プロジェクト(または --user)へインストールできます。
npx -y @matthew-cochran/crossmatrix skills install --target claude --project .
crossmatrix-mcp skills install --target all --project . # .claude/skills + .agents/skills
対象:claude、codex、cursor、copilot、gemini、agents-md、all。.crossmatrix-skills.json マニフェストにファイルのハッシュが記録されるため、再インストール時には編集されていないファイルのみが更新されます(--force を指定すると上書きします)。uninstall では、変更されていないファイルのみが削除されます。インストーラーは MCP の設定を編集せず、代わりに登録コマンドを表示します
(claude mcp add crossmatrix --scope user -- npx -y @matthew-cochran/crossmatrix)。
| スキル | 用途 |
|---|---|
crossmatrix | メソッド:Configuration / Dimensions / State、観測のみの書き込み、ドライバーループ、範囲を限定した読み取り、.crossmatrix/ |
crossmatrix-hoq | 古典的な品質機能展開:重み付きニーズ × 特性、屋根、技術的重要度、目標 |
crossmatrix-jtbd | ジョブ理論 × ユーザーセグメント × ジャーニーを、縮約で結合 |
crossmatrix-competitive | ニーズ × 競合他社のベンチマークと、勝ち目のあるギャップ |
crossmatrix-test-coverage | 要件/ジャーニー × テスト。孤立項目は未テストの要件です |
crossmatrix-risk | 故障モード × コンポーネント/要件(fmeca と組み合わせます) |
crossmatrix-prioritize | 成果物 × 価値ドライバー → プランナー向けの順位付きリスト(cpm と組み合わせます) |
crossmatrix-review | check、conflicts、stale、レポート、承認チェックリスト |
Praxec での使用
これは、Praxec のパックで使われる MCP ツールです。このツールと、それを使うワークフローパックを手早くセットアップするには、次のワンコマンドセットアップを実行します。
curl -fsSL https://raw.githubusercontent.com/praxec/packs/main/setup.sh | bash
このツールのプロバイダー座標(コンテナーイメージ/リリースバイナリ)と、依存するパックについては、パックレジストリを参照してください。
Releasing
Maintainers: see docs/releasing.md (version bump, dev → main, tag, scripts/npm-release.sh, crates.io, rollback).
License
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。