ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Crossmatrix

โดย praxecรุ่น 0.3.4i★ –iรันบนเครื่อง
ชื่อใน registryio.github.praxec/crossmatrix

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Multidimensional House of Quality (QFD) MCP server — cross-dimensional relationship matrices.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • Dockerติดตั้ง Docker ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "crossmatrix": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/praxec/crossmatrix:0.3.4"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add crossmatrix -- docker run -i --rm ghcr.io/praxec/crossmatrix:0.3.4

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "crossmatrix": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/praxec/crossmatrix:0.3.4"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "crossmatrix": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/praxec/crossmatrix:0.3.4"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub praxec ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32466 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 72% ของอีก 32466 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32466 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Crossmatrix ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.4) เข้า registry 15 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, HotCodePush

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

HotCodePush

โดย hotcodepush-team

Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

crossmatrix

Multidimensional House of Quality (QFD) — cross-dimensional relationship matrices for structured trade-off and requirement analysis. A Rust workspace: crossmatrix (engine) + crossmatrix-mcp (MCP server). Part of Praxec.

Install

npm / npx (recommended for MCP clients)
npx -y @matthew-cochran/crossmatrix --version

claude mcp add crossmatrix --scope user -- npx -y @matthew-cochran/crossmatrix

The @matthew-cochran/crossmatrix package is a small launcher: on first run it downloads the release binary for your platform, verifies it against the release's checksums.sha256, caches it, and runs it over stdio (signals are forwarded; stdout belongs to MCP). CROSSMATRIX_MCP_BINARY points it at a binary you installed yourself. The package also bundles the agent skills.

Prebuilt binary (no Rust, Cargo, or Git required)
# 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

The installer resolves your OS and CPU architecture, downloads the matching release asset, verifies its SHA-256 against the release's checksums.sha256, extracts it safely, and atomically installs the binary into a user-local managed directory ($HOME/.local/bin on Linux/macOS, %LOCALAPPDATA%\Programs\crossmatrix-mcp on Windows). It never compiles from source and fails loudly on an unsupported OS/architecture.

Pin a specific release instead of the current latest stable:

curl -fsSL https://github.com/praxec/crossmatrix/releases/latest/download/install.sh \

| sh -s -- --version v0.3.1

The installer scripts are published as release assets alongside the binaries.

Or download the archive directly. Every release publishes a checksums.sha256 and a machine-readable release-manifest.json listing each target, asset, digest, version, and source SHA:

OSArchTarget tripleAssetBuild supportRuntime smoke tested
Linuxx86_64x86_64-unknown-linux-gnucrossmatrix-mcp-x86_64-unknown-linux-gnu.tar.gznative CInative CI
Linuxarm64aarch64-unknown-linux-gnucrossmatrix-mcp-aarch64-unknown-linux-gnu.tar.gznative CInative CI
macOSx86_64x86_64-apple-darwincrossmatrix-mcp-x86_64-apple-darwin.tar.gznative CInative CI
macOSApple Siliconaarch64-apple-darwincrossmatrix-mcp-aarch64-apple-darwin.tar.gznative CInative CI
Windowsx86_64x86_64-pc-windows-msvccrossmatrix-mcp-x86_64-pc-windows-msvc.zipnative CInative CI
Windowsarm64aarch64-pc-windows-msvccrossmatrix-mcp-aarch64-pc-windows-msvc.zipnative CInative CI

"Native CI" means each asset is built and its MCP initialize/tools/list handshake smoke-tested on that platform's own runner. No other CPU/OS combination is claimed; unsupported platforms are rejected rather than silently cross-compiled.

Updates

Re-run the installer to update. Only the binary in the managed install directory is replaced (atomically); application state and configuration live outside that directory and are never overwritten.

From source
cargo build --release

produces the crossmatrix-mcp MCP stdio server.

Repo-committed models: .crossmatrix/

crossmatrix keeps a model as three documents linked by stable id@version (ADR-0004), plus an append-only audit log, in a directory you commit:

crossmatrix-mcp init            # creates .crossmatrix/ in the current directory

crossmatrix-mcp check # validates every document and cross-reference

.crossmatrix/ config/ @ .json # methodology: scales, relations, contractions dimensions/ @ .json # dimensions and their members state/ .json # cells/observations + revision audit/ .jsonl # one line per accepted mutation (merge=union)

Writes are canonical JSON (sorted keys, 2-space indent, trailing newline) and atomic, so diffs stay small. Findings are computed on every read and never stored. check exits non-zero with path-specific diagnostics (for example state/demo.json: cells[3].to: unknown member 'x' in dimension 'dim_part'); run it in CI.

The server finds its store from, in order: CROSSMATRIX_DIR, the nearest ancestor directory containing .crossmatrix/, $XDG_DATA_HOME/crossmatrix (or ~/.local/share/crossmatrix), then ./crossmatrix-state. model.status reports the resolved root.

CLI

CommandEffect
crossmatrix-mcpserve MCP on stdio
crossmatrix-mcp init [--dir D]create D/.crossmatrix/ (idempotent)
crossmatrix-mcp check [--dir D]validate the store; exit 1 on any problem
`crossmatrix-mcp skills install --target (--project D \--user) [--dry-run] [--force]`install the bundled agent skills
`crossmatrix-mcp skills uninstall --target (--project D \--user) / skills list`remove / list installs
crossmatrix-mcp --version / --helpversion / usage

Tools

Two MCP tools, crossmatrix.command (writes) and crossmatrix.query (reads). Every response, including a rejection, carries links to the legal next ops; a rejection's structuredContent is {ok: false, error: {code, message}, links}.

Writes (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"}}}

OpLayerPurpose
model.open—open (or create) state/ .json; survives restarts
model.status—version, store root, counts
scale.declareConfigurationobservation token → value table
relation.declareConfigurationfrom/to dimensions, relationType, scale, coveragePolicy
contraction.declareConfigurationa chain of relations for derived views
dimension.registerDimensionsan axis (dimensionKind is any snake_case word)
members.syncDimensionsupsert a roster; missing members are deprecated, not deleted; an unchanged roster is a no-op
member.proposeDimensionsadd one member
observeStatea token + evidence on a cell (never a number)
evidence.attachStateadd evidence to an observation
deprecateanyretire a member or relation (supersededBy)

Observation-only: a numeric member weight is accepted only with sourceRef.system (a deterministic import), and a measuredValue only with provenanceClass: observed plus a sourceRef. expectedVersion is an optimistic lock; requestId makes a command idempotent, also across restarts. Each accepted mutation appends one audit line {ts, requestId, actor, op, beforeVersion, afterVersion, summary}.

The legacy one-call flow still works: a command carrying a full model imports it into the session (in memory) for the queries that follow.

Reads (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?} returns a Markdown House of Quality: weights, the relationship matrix, the correlation roof (a self-relation), technical importance, targets (attributes.target), coverage and findings with contributors. Without relationId it covers every relation.
  • export {format: model|report|findings} returns the merged model JSON.
  • conflicts {relationId?} lists valence-by-separation tensions and conflicts.
  • trace and slice accept a member id or a sourceRef.uri, page with limit/cursor, and with rollup: true roll leaf observations up a contains hierarchy (a directory implements a feature if any file under it does).
  • stale {hashes?, readFiles?} compares stored source hashes with current ones (readFiles hashes file:// sources inside the project) and returns the changed members plus every cell that references them, paged.

AI assist (optional, off by default)

Two optional cargo features add model-backed helpers. Neither is in the default build or the release binaries unless you build with them, both need an explicit opt-in and a key, and neither ever writes an analysis number: suggestions are recorded as *proposed* observations that count in no analysis until a human or LLM confirms the cell with an ordinary 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)

QueryFeatureWhat it does
assist.suggest {relationId, cells?, maxCells?, record?}jevFor each candidate cell (default: from gaps.next), asks Jev a choice question over the relation's scale tokens, with a compact state from the two members' labels, descriptions and evidence. Returns {cell, token, probabilities, confidence} per cell; record: true stores them as proposed observations by actor {classifier, jev}.
gaps.next {rankBy: "uncertainty", relationId}jevRanks candidate cells by Jev uncertainty (1 − confidence).
proposals {relationId?}—Lists proposed observations awaiting confirmation.
assist.members {dimensionId, sourceText, sourceUri?}rigProposes new members from supplied text (README, interview notes, a competitor page), each with a verbatim excerpt and its character span. Never adds them; each comes with a ready member.propose payload.
assist.narrative {relationId?} / report {narrative: true}rigA short narrative of analyze.findings for the report.

Configuration: Jev uses https://api.typesafe.ai with jev-latest when TYPESAFE_JEV_API_KEY is set, otherwise OpenRouter with ~typesafe/jev-latest; override with CROSSMATRIX_JEV_BASE_URL, CROSSMATRIX_JEV_MODEL and CROSSMATRIX_JEV_TIMEOUT_SECS. Rig uses OpenRouter with CROSSMATRIX_RIG_MODEL (default openai/gpt-5-mini) and CROSSMATRIX_RIG_TIMEOUT_SECS. Calls are bounded (timeout, cells per call, token budget) and every response reports usage. Without the feature, opt-in or key, the query returns {ok: false, status: "assist_unavailable", reason, links}.

Agent skills

crossmatrix ships Agent Skills that teach an agent the method and common uses. Install them into a project (or --user) for one client or all:

npx -y @matthew-cochran/crossmatrix skills install --target claude --project .

crossmatrix-mcp skills install --target all --project . # .claude/skills + .agents/skills

Targets: claude, codex, cursor, copilot, gemini, agents-md, all. A .crossmatrix-skills.json manifest records file hashes, so re-installs update only files you have not edited (--force overwrites them) and uninstall removes only unmodified files. The installer never edits MCP configuration; it prints the registration command instead (claude mcp add crossmatrix --scope user -- npx -y @matthew-cochran/crossmatrix).

SkillUse it for
crossmatrixthe method: Configuration / Dimensions / State, observation-only writes, the driver loop, scoped reads, .crossmatrix/
crossmatrix-hoqa classic House of Quality: weighted needs × characteristics, roof, technical importance, targets
crossmatrix-jtbdjobs to be done × user segments × journeys, joined by a contraction

| `crossmatrix

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx