Material Maker MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MATERIAL_MAKER_BRIDGE_HOST | No | The host of the Material Maker bridge. | |
| MATERIAL_MAKER_BRIDGE_PORT | No | The port of the Material Maker bridge. Defaults to 8767. | 8767 |
| MATERIAL_MAKER_BRIDGE_TIMEOUT | No | The timeout for Material Maker bridge operations. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| material_maker_statusA | Check whether the bridge, Material Maker, and a material graph are ready. |
| material_maker_diagnosticsA | Return queue state, active operation timing, versions, and recent bridge errors. |
| list_bridge_actionsA | List the internal bridge actions and their implementation status. |
| list_materialsA | List open material tabs with stable session IDs, active state, and undo state. |
| activate_materialA | Activate one material tab by an ID returned from list_materials. |
| list_node_typesB | List Material Maker node types, optionally filtered by category or text. |
| describe_node_typeB | Get ports, parameters, defaults, ranges, and documentation for a node type. |
| get_material_graphB | Return the current material graph, connections, parameters, and save path. |
| get_material_nodeB | Inspect a graph node, including ports and current parameter values. |
| new_materialB | Open a new material project with Material Maker's default PBR output node. |
| load_materialB | Load an existing .ptex material from an absolute or user-relative path. |
| save_materialB | Save the current material; omit path to reuse its existing .ptex path. |
| add_nodeB | Add one node. Call describe_node_type first when ports or parameters are unknown. |
| add_graph_fragmentA | Add up to 256 nodes and their internal connections in one undoable operation. Each node needs at least |
| validate_graph_fragmentC | Preflight a graph fragment without changing Material Maker. |
| remove_nodeB | Remove a node and all of its graph connections. |
| move_nodeB | Move a node to an absolute [x, y] graph position. |
| duplicate_nodeC | Duplicate one node; by default the copy is offset by 80 pixels. |
| connect_nodesC | Connect an output port to an input port after validating both indexes. |
| disconnect_nodesC | Disconnect one exact graph connection. |
| set_node_parameterC | Set a validated node parameter and trigger Material Maker's update path. |
| get_node_parameterC | Read one node parameter. |
| render_nodeB | Render one node output to a PNG file; the destination directory must exist. |
| save_material_previewB | Save Material Maker's actual 3D PBR preview to a PNG file. |
| preview_materialB | Return the live 3D PBR preview as MCP image content for visual inspection. |
| list_export_profilesB | List export profiles supported by the current PBR material node. |
| export_materialC | Export a material and return every output file with size, hash, and channel. |
| preview_material_mapsA | Export and return all PNG/JPEG/WebP PBR maps as labeled MCP images. The temporary export is deleted after its bytes have been embedded in the MCP response. Use export_material when persistent output files are required. |
| render_material_variationsA | Render up to 64 parameter combinations and restore the original graph state.
|
| preview_material_variationsC | Return safe parameter variations as labeled 3D MCP images without keeping files. |
| list_material_recipesA | List the curated declarative starter recipes, optionally filtered by text or tag. |
| describe_material_recipeB | Return one recipe's graph, parameters, connections, and suggested variations. |
| apply_material_recipeA | Validate and apply a curated recipe, optionally with constrained parameter overrides. Overrides use |
| undoB | Undo one operation in the selected or active material. |
| redoC | Redo one operation in the selected or active material. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Most tools target distinct resources and actions, but there are several closely related preview/render/export variants (e.g., preview_material, preview_material_maps, preview_material_variations, render_material_variations) and overlapping meta tools (material_maker_status vs. material_maker_diagnostics). Descriptions help, but an agent could still hesitate between some of these.
Almost all tools use snake_case and a verb_noun pattern, with clear operations like list_materials, add_node, and export_material. Minor deviations include server-prefixed noun phrases (material_maker_status, material_maker_diagnostics) and new_material instead of a create-style verb, but the convention is largely predictable.
35 tools is well above the recommended 3–15 range and exceeds the 25+ threshold for being too many. While the domain is complex, many granular tools could be consolidated or composed, and the large surface increases selection burden for an agent.
The toolset covers material creation/loading/saving, node graph editing, parameter access, previews, exports, recipes, and undo/redo, which is strong lifecycle coverage. Some gaps remain, such as closing/deleting material tabs and batch parameter updates, but agents can generally work around them.