Material Maker MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Material Maker MCPcreate a mossy forest floor PBR material with normal map"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Material Maker MCP
An MCP server that lets an AI assistant
author Material Maker node graphs
from natural language, render them headlessly to PBR texture maps, and hand back
editable .ptex files you finish in the app.
You describe a material in a sentence. The assistant drafts the node graph, the server validates it against Material Maker's own node catalog and renders it with Godot, and you get back the maps plus an editable graph. The assistant gets you most of the way there; you tweak the rest in Material Maker.
⚠️ Super, super, super alpha. Read this first.
I am an artist and animator in the game industry, not a software engineer. I do not really know what I am doing on the code side. This project was built mostly by AI assistants with me steering, and it is at an extremely early, rough, experimental stage.
What that means for you:
Expect breakage. Rough edges, sharp corners, things that only work on the one machine they were built on. It has been verified on exactly one setup (Windows, a specific Godot build, a specific Material Maker checkout).
No stability promises. Anything can change or break between versions. There is no test coverage beyond a small smoke and unit set.
Not production-ready. Please do not rely on this for anything that matters. Back up your work. Assume it will misbehave.
The material "quality" bar is deliberately low. The goal is "gets you 80% of the way there so you finish in the app," not "photoreal." See the
quality/scorecard for exactly how well (and badly) it does on 15 prompts: it currently passes 11 of them by a generous, artist's eyeball standard.I am sharing it in the open because it is a fun experiment and someone might find it useful or want to build on it, not because it is polished. Feedback, issues, and "you're doing this wrong" corrections from actual developers are very welcome.
Related MCP server: Blender MCP
Gallery
Each of these was authored by the server from the one-line prompt beside it, then
rendered headlessly. Full graphs and previews are in examples/.
|
|
|
"red brick wall" | "polished gray granite" | "brushed aluminum" |
|
|
|
"weathered copper" | "mossy forest floor" | "brown leather" |
How it works
Material Maker graphs are plain JSON (.ptex), and Material Maker ships a
headless CLI export mode. This server sits on top of an existing Material Maker
checkout:
A catalog builder reads Material Maker's node definitions (
addons/material_maker/nodes/*.mmg) into a machine-readable catalog the assistant authors against.The assistant drafts a graph as
.ptexJSON. The server validates it against the catalog (returning errors as data so the assistant can self-correct), then renders it by driving Godot's--export-materialmode.Rendered maps come back as image files (albedo, normal, roughness/metallic, height), and the
.ptexis saved for you to open in Material Maker.
Requirements
Python 3.13+
Godot 4.7.x (the standard desktop binary; the server prefers the matching
_console.exebuild on Windows when present, to capture render logs)A Material Maker project checkout on disk. The server reads that checkout's node definitions and bundled examples and drives its headless export. Clone it from github.com/RodZill4/material-maker. Material Maker needs a
steam_appid.txt(containing4110830) at the checkout root, or the app self-relaunches and exits on headless render; the upstream clone already includes one.
Install
git clone https://github.com/graysonchalmers/Tool-MaterialMaker-MCP.git
cd Tool-MaterialMaker-MCP
python -m venv .venv
# Windows: .\.venv\Scripts\activate
# macOS/Linux: source .venv/bin/activate
pip install -e .Then copy the environment template and point it at your machine:
cp .env.example .envEdit .env:
MM_GODOT_BINARY=/path/to/Godot_v4.7.x_console.exe
MM_PROJECT_PATH=/path/to/material-maker
MM_OUTPUT_DIR=/path/to/where/rendered/maps/should/go.env is gitignored. Config can also be supplied via MM_* environment
variables, which take precedence over .env.
Verify
Two smoke scripts prove the render path is alive end to end:
# Render a bundled example headlessly and confirm PNGs appear
python smoke/smoke_mcp.pyOn Windows there is also a PowerShell smoke that renders directly through Godot:
pwsh smoke/smoke.ps1Run the test suite (the one Godot-launching test is marked integration):
pytest -q -m "not integration" # fast unit + validation tests
pytest -q # everything, including a real renderConnect it to an MCP client
The server speaks MCP over stdio. After pip install -e . it is on your PATH as
mm-mcp. Point your client at that command with the three MM_* variables set.
Claude Desktop / Claude Code (claude_desktop_config.json or an equivalent MCP
config) example:
{
"mcpServers": {
"material-maker": {
"command": "mm-mcp",
"env": {
"MM_GODOT_BINARY": "C:\\path\\to\\Godot_v4.7.1-stable_win64_console.exe",
"MM_PROJECT_PATH": "C:\\path\\to\\material-maker",
"MM_OUTPUT_DIR": "C:\\path\\to\\output"
}
}
}
}If mm-mcp is not on the client's PATH, use the venv's Python instead:
"command": "/abs/path/.venv/bin/python", "args": ["-m", "mm_mcp.server"].
Config is validated at startup, so a missing or wrong MM_GODOT_BINARY /
MM_PROJECT_PATH fails fast with an actionable message rather than partway
through a render.
Tools
The server exposes seven tools and one resource:
Tool | What it does |
| List catalog node types, optionally filtered by category |
| Full typed inputs/outputs/parameters for one node type |
| Validate a |
| Render a |
| Write a |
| List the bundled Material Maker examples |
| Load a bundled example as a |
Resource catalog://nodes exposes the full node catalog.
Notes and gotchas
Learned while getting headless rendering to work reliably (all verified on this project's setup):
Use
--export-material, not--export. Godot 4 reserved--exportfor its own build-export flag; the Material Maker app flag is--export-material.Use the
_console.exebinary on Windows to capture stdout; the GUI exe returns empty logs.Do not pass
--headless; texture rendering needs a real rendering context.The Material Maker checkout needs
steam_appid.txt(4110830) or it self-relaunches and exits immediately.The
normal_mapnode is a compound node: its real parameters areparam0(buffer size),param1(strength),param2,param4, notamount/size.
Project status
Very early alpha (see the warning up top). Phases 0 through 3 of my own rough plan
are done and verified on one machine. See STATUS.md for the gate
ledger and docs/PLAN.md for the phase plan. Authoring quality is
measured against a frozen 15-case test set in quality/; the current
scorecard is 11/15 usable by an artist's eyeball standard (see
quality/scorecards/). "Verified" here means "worked when I ran it," not
"battle-tested."
License and attribution
This project is MIT licensed (see LICENSE).
Material Maker is MIT licensed, Copyright (c) Rodolphe Suescun and contributors. This project drives a separate Material Maker checkout and does not modify or redistribute it.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI-assisted 3D modeling and scene control in Autodesk Maya through natural language commands, supporting object creation, transformation, material application, and more.847MIT
- AlicenseBqualityAmaintenanceEnables AI assistants to control Blender 3D software through natural language, with tools for modeling, materials, animation, rendering, and rigging.388MIT
- FlicenseNot gradedqualityCmaintenanceConnects AI assistants to Blender 3D for natural language 3D modeling, scene inspection, material creation, and rendering.
- AlicenseNot gradedqualityBmaintenanceEnables conversational control of Adobe Substance 3D Painter for look-dev iteration, including baking, smart materials, and generator parameter tuning.MIT
Related MCP Connectors
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Build and run visual creative-production workflows from your AI agent.
Generate logos, social posts, app screenshots, comic panels & visual-novel assets from prompts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/graysonchalmers/Tool-MaterialMaker-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server





