Multidim

io.github.Cherridsaid由 GitHub 帳號 Cherridsaid 發布v0.2.0更新於 Oct 25, 2026

Structured thinking grids for AI agents: deterministic analysis frames, validation, learned traps

概覽

AI 產生的概覽

一個在本機執行的確定性 MCP 伺服器,為助理提供結構化分析框架供其填寫,並逐節驗證填寫後的分析。

可以做什麼
為某個主題建立分析框架,可選擇深度以及文字或 JSON 框架格式,自動比對最合適的情境,並把已學習的陷阱作為必答問題注入。列出所有已知情境及其軸與子視角。對照框架驗證填寫好的分析,逐節回傳 ACCEPT、WARNING 或 REJECT 及具名錯誤碼,並拒絕遭竄改或過期的框架。建立或擴充情境的關鍵字、軸與陷阱,這是唯一的寫入操作。
適用情境
適合希望助理在決策、程式碼審查或技術寫作上的推理依固定結構接受檢查,而非自由行文時使用;也適合把反覆出現的經驗記錄一次、在後續分析中強制執行。它只提供結構,思考仍由呼叫的模型完成。
執行需求
以 Python 套件形式透過 stdio 在本機執行(Python 3.9+,僅用標準函式庫),可從 PyPI 安裝或以 uvx 執行。不需帳號、API 金鑰或網路存取。選用變數 MULTIDIM_MCP_HOME 可覆寫建立儲存區所用的每位使用者資料目錄。
安裝前請注意
learn 工具會寫入本機儲存區,建立或修改會影響後續框架的情境與陷阱。伺服器不發出網路請求、不呼叫 LLM,並拒絕碰觸他人的個人儲存目錄。驗證以規則為基礎,並不判斷內容是否真的正確。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

[multidim-mcp: one subject, split through a prism into eight analysis lenses]

multidim-mcp

Structured thinking grids for AI agents — a standalone MCP server, pure standard library.

Multidim routes a subject to a set of analysis lenses (a context) and returns a hierarchical grid — axes, sub-lenses, mandatory questions — for the calling LLM to fill in. The thinking stays with the caller: the server provides structure, never cognition. It calls no LLM, makes no network requests, and the same input always produces the same frame.

  • Zero dependencies — Python 3.9+, standard library only.
  • Deterministic v2 contract — every frame carries a self-verifiable frame_hash; a filled analysis is checked section by section with actionable error codes.
  • Learned traps — lessons you record once become mandatory questions injected into every future frame whose subject matches.
  • Hardened store — atomic writes, native cross-process locking, additive migrations, backed-up resets, and a guard that refuses to ever touch a foreign ~/.multidim store.

See the difference

An agent analyses "Should we migrate the billing service from MySQL to PostgreSQL?". Every section is filled, every sentence reads fine. Here is what multidim_validate returns on that first pass:

overall verdict: REJECT
REJECT  alternatives        NOT_ENOUGH_ALTERNATIVES, ALTERNATIVE_DUPLICATES_PRIMARYREJECT  hypotheses          HYPOTHESIS_NOT_FALSIFIABLEREJECT  second_order_risks  SECOND_ORDER_REPEATS_FIRSTREJECT  cross_talk          GENERIC_DENSITY_HIGHREJECT  synthesis           SYNTHESIS_WITHOUT_REFERENCESWARNING premortem           PREMORTEM_SIMILAR_TO_RISKS

The only alternative restated the hypothesis, the hypothesis carried no test that could prove it wrong, the second-order effect repeated the first one word for word, and the conclusion referenced none of the work above. None of that is visible when you read the answer; all of it is reported here, by name.

Redo the rejected sections and the same checker returns ACCEPT. Edit the frame to delete the rule you find inconvenient, and it refuses the whole submission — the frame carries a hash of its own content.

Full transcript, including what the fixed sections look like and what this deliberately does not check: DEMO.md. Reproduce it in one command: python demo.py.

Quickstart

bash
pip install multidim-mcp        # from PyPIpip install .                   # or from a source checkout

Register the server with any MCP client (stdio transport):

json
{  "mcpServers": {    "multidim": {      "command": "multidim-mcp"    }  }}

Or run it directly: python -m multidim_mcp, or without installing: uvx multidim-mcp.

The server is listed in the official MCP Registry as io.github.Cherridsaid/multidim-mcp.

Tools

ToolRole
multidim_analyzeBuild the grid for a subject (depth: core / deep / full; format: text or deterministic v2 JSON frame)
multidim_contextsList every known context with its axes and sub-lenses
multidim_validateDeterministic, stateless check of a filled analysis against its v2 frame — ACCEPT / WARNING / REJECT per section
multidim_learnCreate or enrich a context (keywords, axes, traps) — the only write door

How it works

[multidim_analyze produces a deterministic v2 frame; your LLM fills it; multidim_validate stamps ACCEPT / WARNING / REJECT and only rejected sections are redone]

  1. multidim_analyze detects the best context for your subject (word-boundary keyword matching, accent-folded) and returns a v2 frame: required sections, section schemas, validation rules, mandatory questions — including every learned trap whose triggers match the subject.
  2. Your LLM fills the frame, section by section.
  3. multidim_validate rebuilds the frame from the store, refuses a tampered or stale one (frame_hash), then checks the analysis: structural completeness, falsification tests on hypotheses, alternatives that genuinely differ from the primary, second-order effects distinct from first-order, a pre-mortem that does not copy the risk list, a synthesis that references real identifiers, and a filler-phrase density cap. Only rejected sections are redone, within the frame's max_validation_rounds.

The four seed contexts are neutral and deterministic: generic (8 general lenses), code_review, technical_writing, decision.

Storage

The store lives on a dedicated per-user data path (MULTIDIM_MCP_HOME overrides it) and is created on first run from the neutral seeds. Writes are atomic and serialized across processes with the OS's native file locking; a corrupt store is backed up before any reset, never silently discarded. A tripwire refuses every read or write that would resolve into a foreign personal ~/.multidim store.

Maintainers publishing forks can extend the neutrality guard with their own private markers via MULTIDIM_MCP_EXTRA_FORBIDDEN (comma-separated), without hardcoding them into public source.

Transparency

  • Not an AI system. multidim-mcp contains no model and performs no inference: it is deterministic, rule-based software. Under the EU AI Act (Reg. 2024/1689) it is not an AI system in the sense of Art. 3(1), and as free and open-source software it falls under the Art. 2(12) exemption. It collects no data and makes no network calls.
  • Illustrations in this README were generated with GPT and keep their C2PA provenance metadata intact.

Development

bash
python run_tests.py      # full suite, stdlib onlypython smoke_install.py  # packaging smoke test (wheel + venv + entry point)python demo.py           # the analyse -> validate -> fix -> accept cycle of DEMO.md

CI runs both on Ubuntu and Windows across Python 3.9 / 3.11 / 3.13.

License

Apache-2.0 — see LICENSE and NOTICE.

來源:README.md,提交 0423ab8

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分