3d-texture-toolkit-mcp
Extracts embedded PBR texture images from GLB 2.0 files, including base color, normal, and packed metallic-roughness maps, with metallic-roughness split into grayscale roughness and metallic PNGs.
Click on "Deploy 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., "@3d-texture-toolkit-mcpextract the PBR textures from chair.glb into ./chair-textures"
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.
3D Texture Toolkit MCP
A local MCP server that extracts embedded PBR texture images from GLB files.
It exposes one tool: extract_pbr_maps.
Requirements
Node.js 20 or newer
An MCP client that supports local stdio servers
Related MCP server: MCP Three
Install and run
After this package is published to npm, install it in an MCP client using
npx:
npx -y 3d-texture-toolkit-mcpThe server reads the GLB path supplied by the MCP client and writes extracted images to disk. Base color and normal images keep their original PNG, JPEG, or WebP bytes. The glTF metallic-roughness image is split into grayscale PNG files: roughness comes from the green channel and metallic comes from the blue channel. The corresponding glTF material factors are applied to those two maps.
Client configuration
Example configuration for an MCP client that accepts a mcpServers object:
{
"mcpServers": {
"3d-texture-toolkit": {
"command": "npx",
"args": ["-y", "3d-texture-toolkit-mcp"]
}
}
}For local development before an npm release, build the package and point the
client at node with the absolute path to dist/index.js as its argument.
Tool inputs
glb_path(required): path to a local GLB 2.0 file.output_dir(optional): output folder. By default, a folder named<glb-name>-texturesis created beside the GLB.overwrite(optional, defaults tofalse): replace files with matching output names. Existing files are skipped by default.
Output names include the material number, a sanitized material name, and the map type. The tool reports written files, skipped maps, and warnings.
Privacy
The server processes files on your computer. It makes no network requests and does not upload model or texture data. The GLB and output directory must be accessible to the machine running the MCP server.
Limitations
Supports GLB 2.0 with embedded images in buffer views or supported PNG, JPEG, and WebP data URIs.
External image URLs and external buffer files are not read.
Other image formats, including KTX2 and Basis Universal, are not decoded.
Texture transforms, alternate UV sets, occlusion maps, emissive maps, and extensions that alter material interpretation are not applied.
Packed metallic-roughness images are converted to grayscale PNGs. Base color and normal images are copied without recompression.
Files larger than 512 MiB and decoded images above 100 million pixels are rejected by safety limits.
Publication status
The package name is 3d-texture-toolkit-mcp, and this repository includes
server.json metadata for the official MCP Registry. The package uses the MIT
License. After submitting it to the Registry, verify that the server is visible
there; the metadata alone does not confirm a Registry listing.
Available Tools
1 toolextract_pbr_mapsExtract PBR maps from a GLBA
Extract embedded base color and normal images, and split the glTF metallic-roughness image into roughness and metallic PNG files. Reads and writes local files only.
| Name | Required | Description | Default |
|---|---|---|---|
| glb_path | Yes | Path to a local .glb file. | |
| overwrite | No | Replace files with matching output names. Defaults to false. | |
| output_dir | No | Directory for extracted images. Defaults to <glb-name>-textures beside the GLB. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose meaningful traits: it writes files, produces PNGs, splits the packed metallic-roughness image, and is local-only. It does not mention what happens if images are absent in the GLB, error behavior, or whether any source files are modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core operation followed by the I/O constraint. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should convey return artifacts; it does by naming the extracted images and PNG outputs. Output filenames are partly covered by the schema's default output_dir naming convention, so the remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in-schema, establishing a baseline of 3. The description adds only a mention of PNG output format, not parameter-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (extract/split) and concrete resources (base color, normal, metallic-roughness maps), plus the output format (PNG). An agent immediately understands the transformation performed. No siblings exist, so differentiation isn't a factor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'Reads and writes local files only' sets a boundary condition that helps an agent know this operates on local disks rather than remote storage. However, there is no explicit guidance on when to invoke it versus other processing steps, and no stated prerequisites (e.g., that the GLB must contain embedded textures).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.1- First observed
extract_pbr_maps
TDQS
Scored across 1 tool
With only one tool, there is no possibility of selecting the wrong tool or confusing overlapping purposes. Its purpose is clearly scoped to extracting PBR maps.
The single tool name follows a clear verb_noun snake_case pattern: extract_pbr_maps. Although consistency across a larger set cannot be assessed, the available name is predictable and readable.
A single tool is borderline thin for a server named as a texture toolkit. It may be adequate for narrow PBR extraction, but the name implies broader texture-processing capability.
The surface covers extraction and channel splitting of existing PBR maps, but lacks complementary operations such as packing maps, validating inputs, or handling other texture workflows. For a toolkit, this leaves significant gaps.
Maintenance
Related MCP Connectors
Geometry and CAD file metadata extraction for STL, OBJ, PLY, PCD, LAS/LAZ, glTF/GLB.
Free text/image → 3D: generate, rig, avatar-ify, and refine GLB models. No auth, no payment.
3D avatar/asset foundry: text/image -> rigged, validated, engine-ready GLB via x402.
Split images into editable layers (PSD/PNG), outpaint images, and generate clean vector SVGs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables processing, validation, optimization, and analysis of 3D models with glTF/GLB support, including format conversion, compression (Meshopt/Draco), texture optimization, and detailed model statistics.17 npmMIT
- FlicenseAqualityDmaintenanceEnables working with 3D models by converting GLTF/GLB files into React Three Fiber JSX components and analyzing model structures, hierarchies, and properties for debugging and optimization.215 npm26-
- AlicenseNot gradedqualityDmaintenanceReconstructs a reference image as procedural 3D geometry through a staged pipeline, generating a Three.js model, preview, comparison, and glTF export.MIT
- AlicenseNot gradedqualityAmaintenanceEnables local glTF/GLB asset validation against versioned profiles via MCP, returning actionable reports.MIT