
3d Texture Toolkit
io.github.JiangShan118Published by GitHub account JiangShan118v0.1.1Updated Oct 24, 2026
Extract embedded PBR texture maps from local GLB files.
Overview
Local MCP server that extracts embedded PBR texture maps from GLB 3D model files and writes them out as image files.
- What you can do
- Extract PBR texture maps from a local GLB 2.0 file, choosing the output folder and whether to overwrite existing files.
- Copy base color and normal images out unchanged in their original PNG, JPEG or WebP bytes.
- Split a packed glTF metallic-roughness image into separate grayscale roughness and metallic PNGs, applying the material factors.
- Report which files were written, which maps were skipped, and any warnings.
- When to use it
- Useful when you have GLB models with embedded textures and want the individual PBR maps on disk for editing, inspection or reuse in another pipeline. It is a single-purpose local tool, so it only helps with GLB texture extraction.
- Requirements
- Node.js 20 or newer and an MCP client that supports local stdio servers; it is run locally via npx. The GLB file and output directory must be readable and writable by the machine running the server. No accounts, API keys or network access are needed.
Installation
In SourceWeft
- Open 3d Texture Toolkit in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
Install and run
After this package is published to npm, install it in an MCP client using
npx:
The 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:
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.
Source: README.md at commit 4fa8437
Tools
0Version history
1- v0.1.1LatestOct 14, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts