Skip to content

Releases: graysonchalmers/Tool-MaterialMaker-MCP

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 02:01
b7533c3

0.7.0 (2026-09-06)

⚠ BREAKING CHANGES

  • retire examples/ (folded into cookbook), README counts are now test-enforced

Features

  • cookbook: add plastics category + Donegal tweed (68c51dc)
  • cookbook: add reference-photo authoring workflow + first glass material (9a02a8d)
  • cookbook: fold denim, mossy floor, and rusted painted steel heroes into their categories (6416eb3)
  • cookbook: fold s02_gray_granite hero into stone (grouped, carded, gated) (1586d66)
  • cookbook: new metal and ceramic categories from the copper, aluminum, and hex-tile heroes (1cf947f)
  • cookbook: retrofit fabrics category with subgraph grouping (6c1d894)
  • cookbook: retrofit glass category with subgraph grouping (b468bf3)
  • cookbook: retrofit leather category with subgraph grouping (2d928b6)
  • cookbook: retrofit organics category with subgraph grouping (7be7a81)
  • cookbook: retrofit painted-metal category with subgraph grouping (78fdf68)
  • cookbook: retrofit plastics category with subgraph grouping (4e9cda8)
  • cookbook: retrofit sci-fi category with subgraph grouping (98fbf16)
  • cookbook: retrofit stone category with subgraph grouping (b264ea1)
  • cookbook: retrofit terrain category with subgraph grouping (c1f80c4)
  • cookbook: retrofit wood category with subgraph grouping (0983184)
  • live: add live.load_graph client (dict or .ptex path, validated) (a282f27)
  • live: add load_graph addon command (in-place tab replace) (740dd4e)
  • play: add MM_PLAY_PORT config field (4bbdb0d)
  • play: add play.bat one-click launcher; promote mm-play to verified (27bf78f)
  • play: apply slider values back onto a material graph (86862ff)
  • play: derive web sliders from subgraph widgets + catalog ranges (942af5a)
  • play: download current material as a maps + .ptex zip (5b8406b)
  • play: gallery, sliders, and WebGL PBR sphere frontend (4d3ea8c)
  • play: pure API handlers for materials list, sliders, and render (a4588e8)
  • play: push the picked material into a live session on pick change (2bc46b9)
  • play: render facade with live auto-detect and serialized renders (b38648f)
  • play: stdlib http server, routing, mm-play entry, packaging (5179538)
  • quality: add group_into_subgraph and tolerance-based render comparison (15a73b0)
  • quality: take_variant helper + verify_hero_fold render check for folding examples/ heroes (78456b3)
  • quality: vendor the 9 load-bearing donor examples (94b44b2)
  • retire examples/ (folded into cookbook), README counts are now test-enforced (7ce30e2)
  • server: add live_load MCP tool (closes backlog item J) (c58fdf5)

Bug Fixes

  • catalog: resolve compound param ranges from linked inner shader nodes (3ab0929)
  • cookbook: correct leather/terrain bugs surfaced by the subgraph retrofit (5cd9e0b)
  • cookbook: make l05 quilt pads drive the relief (blend_h_q amount 0.35 -> 0.85) (6d460c4)
  • docs: mark play-surface STATUS row wired, not verified (5439c36)
  • harden README count regexes, POSIX-correct play bind flag, note retired examples/ in verify script (892f05a)
  • play: address sliders by unique id, not slot_id, to stop cross-subgraph fan-out (d0b7556)
  • play: copy live-render images into the play outdir (365856a)
  • play: dock slider panel + reliable canvas resize (c7e85ee)
  • play: fail fast on bad config, return handler errors as JSON (991f958)
  • play: refuse to start beside a stale listener, name the PID holding the port (4ff3fa2)

Documentation

  • backlog Unreal UE5 export (memory issues on the pipeline) (615d335)
  • baton diet (teardown #3 item 2): STATUS as a ledger, HANDOFF latest-session-only, archive retired (5b93785)
  • correct the host-render blocker (it does not reproduce) (b016f1b)
  • document live_load and close backlog item J (2994765)
  • fabrics: correct f04's parity claim to disclose the pattern->weave artifact fix (73cf8d0)
  • implementation plan for author.py split + donor vendoring (36ab975)
  • implementation plan for live_load (6dd0aca)
  • implementation plan for the live web play surface (e6134ef)
  • live: note load_graph in the mutation-op timeout comment (56bec19)
  • mark l05 height-weighting follow-up done in the baton ([899d09b](https://gi...
Read more

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 02:40
88dcaa9

0.6.0 (2026-09-04)

Features

  • server: serve docs/AUTHORING.md as the guide://authoring resource (ec72228)

Documentation

  • cookbook: recipe cards for fabrics, organics, wood (d006b1b)
  • cookbook: recipe cards for leather, painted-metal, sci-fi (1676b8e)
  • cookbook: recipe cards for stone and terrain (6d3e134)
  • point references at the guide+cards split; add card-parity gate; sweep em dashes and card backticks (a2455b8)
  • wrap up v0.5.0 + AUTHORING split + hygiene session (baton, plan, archive trim) (677f852)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 01:19
35484e3

0.5.0 (2026-09-04)

⚠ BREAKING CHANGES

  • list_examples/load_example serve the tracked cookbook alongside bundled examples

Features

  • add mm_mcp.cookbook lookup for the tracked cookbook/ tree (ee60045)
  • config: add cookbook_dir (MM_COOKBOOK_DIR, defaults to the checkout's cookbook/) (5a0b42b)
  • cookbook: +4 natural terrain materials (t05-t08) via topology-not-donor (6ed5773)
  • cookbook: +5 masonry materials, fix render.py pipe-EOF hang (4c14f8f)
  • cookbook: +5 painted-metal materials (pm01-pm05) (4d72c8b)
  • cookbook: +f07 herringbone tweed; close wool-knit as unreachable (8ca2c2b)
  • cookbook: promote the 43 authored graphs into a tracked cookbook/ tree (6c3083c)
  • debug-swatches: +2 blend port/opacity diagnostic swatches (80256d0)
  • doctor: report the cookbook directory and material count (56f1e23)
  • list_examples/load_example serve the tracked cookbook alongside bundled examples (68a7d67)

Bug Fixes

  • cookbook: address final review findings on cookbook-as-data (f31d753)
  • cookbook: resolve sf03 circuit-board trace-bleed-through (6667b4b)
  • doctor: guard the cookbook check so an unreadable dir is reported, never raised (251fb4a)
  • gitignore: restore the quality/cookbook/ ignore rule dropped in the promote commit (55132eb)

Documentation

  • add cookbook-as-data design spec + phased plan (a91f129)
  • cookbook: README/AUTHORING describe the tracked cookbook; contact sheet at 43 (9384266)
  • noise: noise-vocabulary gallery + close list_node_types/render_preview backlog (20e485d)
  • wrap up blend-opacity debug-swatch session (HANDOFF/STATUS baton) (198e2ad)
  • wrap up masonry + sf03 session (HANDOFF/STATUS baton) (a849784)
  • wrap up noise-vocab + backlog batch session (HANDOFF/STATUS baton) (e7bb420)
  • wrap up painted-metal cookbook session (HANDOFF/STATUS baton) (c0b96d7)
  • wrap up teardown #2 + cookbook-as-data session (HANDOFF/STATUS baton, STATUS header capped) (66661f5)
  • wrap up v0.4.0 release session (HANDOFF/STATUS + archive trim) (d946942)
  • wrap up wool-knit-closed + herringbone + terrain session (HANDOFF/STATUS baton) (4136c9e)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 07:37
c2aa170

0.4.0 (2026-08-30)

Features

  • add inspect_project batch tool (9a54953)
  • add inspect_ptex pure metrics helper (2453208)
  • add MM_ALLOWED_ROOTS config field (allowed_roots) (f71cbde)
  • add path guards (ensure_within_roots, reject_path_fragment) (6e6bb65)
  • bound client-facing tool paths (save_graph dict return, traversal guards) (945d6d6)
  • config: add live_overlay_dir (846f310)
  • cookbook: add l06 topstitched leather (real raised stitch dashes) (f55359a)
  • cookbook: add leather category (4 materials) + AUTHORING recipes (5f1a27b)
  • cookbook: fix l04 reptile albedo polarity + add l05 quilted leather (6915fc8)
  • extend authoring cookbook with 4 fabric materials (a714faf)
  • extend authoring cookbook with 4 organic materials (bec23b5)
  • extend authoring cookbook with 4 sci-fi panel materials (61c83bd)
  • extend authoring cookbook with 4 terrain materials (afb3290)
  • live: add async add_node command to the live-control addon (3711fea)
  • live: add connect_nodes and set_param commands to the live-control addon (1c8bd92)
  • live: add connect_or_launch (attach-or-launch, poll for ready) (b1242b5)
  • live: add low-level ping/get_graph protocol client (9ff21ec)
  • live: add render command to the live-control addon (ce6961a)
  • live: add render to the live.py client, reusing render.py's freshness check (efd6334)
  • live: add reposition_node op; rule out live rename as unsupported (backlog item I) (352317a)
  • live: add socket server addon skeleton (ping/get_graph) (33dad4e)
  • live: add validated add_node/connect_nodes/set_param to the live.py client (b0032da)
  • live: report whether a graph tab exists from ping (ba9f620)
  • live: verify Phase 5 hands-on, add live_clear reset tool (b414763)
  • overlay: add idempotent autoload-line injection (82644fa)
  • overlay: add stable directory content hash (ecabb38)
  • overlay: add staleness marker read/write/compare (a7a3b15)
  • overlay: ensure_overlay first-build path (93858ba)
  • preview: add render_preview MCP tool for lit sphere/cube material preview (41bd60b)
  • preview: overhaul preview scene composition, wire tile knob through (aefd7af)
  • quality: add phase-1 debug diagnostic swatch gallery (a0d7674)
  • quality: add phase-2 automated regression checks for debug swatches (ba3d968)
  • quality: expand relief swatch into a shapes+text relief family (ab688e6)
  • render_node_output + live_render_node_output (backlog item H) (f891fbb)
  • report MM_ALLOWED_ROOTS in --check and document it (a44c649)
  • server: add live_apply MCP tool (0862265)
  • server: add live_get_graph MCP tool (a82e764)
  • server: add live_render MCP tool (8ed1c9b)
  • server: add live_start MCP tool (235b6b8)

Bug Fixes

  • final-review fix wave for Phase 5 step 4 (502eb4d)
  • live: check restore success in live_render_node_output, catch AttributeError in live_apply (12a4be3)
  • live: fail fast when an attached instance never reports has_graph (4f4240a)
  • live: harden connect_or_launch against a squatted/dying port (6a0ee8b)
  • live: render via material_node.export_material directly, not the un-awaited main_window wrapper (17a98d3)
  • live: require a graph tab before connect_or_launch reports ready (0df1992)
  • live: set_param rejects unknown parameter names before sending (7037f46)
  • live: terminate launched process on unexpected exception in connect_or_launch (5614ea0)
  • live: terminate the GUI child process, not just the launcher (f97a2ac)
  • live: use := for from_name/to_name so GDScript can infer from_node_name's type (0bc5f92)
  • overlay: clear read-only attrs before rmtree on rebuild (09455c8)
  • overlay: correct autoload insertion to respect section boundaries (040c5bd)
  • overlay: guard against non-dict JSON in marker file (7e88a10)
  • overlay: guard destructive fs ops, polish for final review (67a028a)
  • phase5-review: ignore live overlay dir, detect dead launch process, harden integration gate ([25675d3](25675d3...
Read more

v0.1.0 — super-alpha first public release

Choose a tag to compare

@graysonchalmers graysonchalmers released this 26 Aug 10:54

⚠️ Super, super, super alpha. Built by an artist/animator, not a software engineer, with heavy AI assistance. Expect breakage, no stability promises, verified on exactly one machine. Please don't rely on it for anything that matters. See the README warning.

First public release of Material Maker MCP: an MCP server that lets an AI assistant author Material Maker node graphs from natural language, render them headlessly to PBR maps, and hand back editable .ptex files.

What's in it

  • MCP server with seven tools + a node-catalog resource (list_node_types, describe_node, validate, render_graph, save_graph, list_examples, load_example).
  • Node catalog built from Material Maker's own .mmg definitions; graphs validated against it (errors returned as data so the assistant can self-correct).
  • Headless Godot render path producing albedo / normal / roughness-metallic (ORM) / height maps.
  • pip-installable with an mm-mcp console entry point; config via .env / MM_* env vars.
  • Six example materials (examples/) authored from one-line prompts.

Authoring quality

Measured against a frozen 15-case test set (quality/): 11/15 usable by an artist's eyeball standard. The bar is "gets you ~80% of the way there so you finish in the app," not photoreal.

Requirements

Python 3.13+, Godot 4.7.x, and a local Material Maker checkout. See the README for setup and MCP client config.