Skip to main content
Glama
gprethesh
by gprethesh

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
appYesPath to the ArmorPaint application (e.g., /Applications/ArmorPaint MCP.app)
launchNoSet to "true" to launch ArmorPaint automatically
timeoutNoServer operation timeout in seconds (e.g., "180")
workspaceYesWorkspace folder for meshes, references, projects, and exports
bridge_dirYesDirectory used for bridge communication, preferences, and logs
allow_scriptsNoSet to "true" to enable armorpaint_run_script; requires ARMORPAINT_MCP_ALLOW_SCRIPTS=1
ARMORPAINT_MCP_ALLOW_SCRIPTSNoEnvironment variable required when scripting is enabled; set to "1"

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
armorpaint_statusA

Check the local connection and supported bridge version without changing the project.

armorpaint_get_stateA

Inspect objects, triangle counts, materials, layers, assets, current selection, and project path.

armorpaint_list_node_typesA

List material node types with socket and button schemas, and installed export presets. Query this before building node graphs.

armorpaint_new_projectA

Create a new project. Save the current project before discarding it.

armorpaint_open_projectA

Open an existing .arm project. Save the current project first.

armorpaint_save_projectA

Save the project to an absolute .arm path, optionally packing imported assets. Existing files require overwrite=true.

armorpaint_import_meshA

Import a UV-mapped OBJ or supported Blender mesh. Replacement can clear the current layers; use append mode to preserve geometry.

armorpaint_import_textureA

Import an image into the project's texture assets. Returns the updated asset list.

armorpaint_set_resolutionA

Resize the project's texture maps. Larger maps increase GPU memory use.

armorpaint_select_objectA

Select a mesh by the zero-based index returned by get_state.

armorpaint_set_objectB

Rename or show/hide a mesh object.

armorpaint_create_materialA

Create and select a named PBR material.

armorpaint_select_materialB

Select a material by its stable ID.

armorpaint_delete_materialA

Delete a material. The final material cannot be deleted.

armorpaint_set_material_pbrA

Set constant PBR channel values, disconnecting existing links to those channels. Color uses RGBA values in the ArmorPaint material UI.

armorpaint_get_material_graphA

Read a material's nodes, socket values, buttons, and connections. material_id=-1 uses the current material.

armorpaint_add_nodeB

Add a material node using a type returned by list_node_types. Returns the graph including the new node ID.

armorpaint_disconnect_nodesB

Disconnect the incoming link to a material node input socket.

armorpaint_import_materialB

Import an ArmorPaint .arm material library into the current project.

armorpaint_remove_nodeA

Remove a material node and its links. The PBR output node is protected.

armorpaint_connect_nodesB

Connect an output socket to an input socket, replacing any previous connection to that input.

armorpaint_set_node_valueB

Set a node input, output, or button value. The numeric array must have the length reported by get_material_graph.

armorpaint_create_layerA

Create a paint layer, material fill, mask, or group. Masks require a parent layer ID. UV modes: 0=UV map, 1=triplanar, 2=projection.

armorpaint_bakeA

Bake a mesh map to PNG using ArmorPaint. Types: 0=curvature, 1=tangent normal, 2=object normal, 3=height, 4=derivative, 5=position, 6=UV, 7=material ID, 8=object ID, 9=vertex color, 10=AO, 11=lightmap, 12=bent normal, 13=thickness. Types 1/3/4 require a high-poly object index; 10–13 require ray tracing. Use a regular paint layer. Import the exported image for persistent reuse.

armorpaint_set_layer_channelsC

Enable or disable individual PBR channels on a paint or fill layer.

armorpaint_select_layerC

Select a layer by stable ID.

armorpaint_set_layerC

Edit a layer. object_mask=0 affects all objects; index+1 restricts it to one object. Opacity ranges from zero to one.

armorpaint_layer_actionB

Duplicate, delete, merge, reorder, or convert a layer; apply or invert masks. Save a checkpoint before merging or deleting.

armorpaint_clear_layerB

Replace a paint layer's pixels with uniform color and packed PBR values. RGBA components range from zero to one.

armorpaint_fill_layerC

Paint the selected material over an entire paint layer, respecting object masks.

armorpaint_paint_strokeA

Paint one continuous stroke. Screen points use normalized viewport coordinates; world points use XYZ and are projected through the current camera. Hidden surfaces require another camera view.

armorpaint_import_maskA

Import a grayscale image as a mask for a paint or fill layer. White reveals the layer; black hides it.

armorpaint_set_cameraB

Orbit the camera by yaw/pitch radians, move forward by zoom units, or reset its view. projection: 0=perspective, 1=orthographic.

armorpaint_set_viewportA

Set viewport channel: 0=lit, 1=base color, 2=normal, 3=AO, 4=roughness, 5=metallic, 6=opacity, 7=height, 8=emission, 10=UV, 14=mask, 15=path traced.

armorpaint_capture_viewportA

Capture the rendered 3D viewport as a PNG and return it as an MCP image for visual inspection.

armorpaint_export_layerA

Export one layer's base color/mask, normal, or packed occlusion-roughness-metallic texture to a PNG file.

armorpaint_export_texturesA

Export the visible layer stack as PNG PBR maps using an installed preset. Get exact preset names from list_node_types.

armorpaint_export_meshB

Export the current mesh to an OBJ file.

armorpaint_export_materialC

Export a material as an ArmorPaint material file.

armorpaint_undoA

Undo the most recent operation recorded by ArmorPaint history. Not every operation is covered; checkpoints protect whole workflows.

armorpaint_redoA

Redo the most recently undone operation.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
project_resourceCurrent project state

Latest Blog Posts

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/gprethesh/armorpaint-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server