Structured thinking grids for AI agents: deterministic analysis frames, validation, learned traps
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
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.
frame_hash;
a filled analysis is checked section by section with actionable error codes.~/.multidim store.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:
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.
Register the server with any MCP client (stdio transport):
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.
| Tool | Role |
|---|---|
multidim_analyze | Build the grid for a subject (depth: core / deep / full; format: text or deterministic v2 JSON frame) |
multidim_contexts | List every known context with its axes and sub-lenses |
multidim_validate | Deterministic, stateless check of a filled analysis against its v2 frame β ACCEPT / WARNING / REJECT per section |
multidim_learn | Create or enrich a context (keywords, axes, traps) β the only write door |
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.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.
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.
CI runs both on Ubuntu and Windows across Python 3.9 / 3.11 / 3.13.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/multidim)<a href="https://allmcps.com/mcp/multidim"><img src="https://allmcps.com/api/badge/multidim?style=directory" alt="Multidim on AllMCPs" /></a>