3d Texture Toolkit

io.github.JiangShan118Published by GitHub account JiangShan118v0.1.1Updated Oct 24, 2026

Extract embedded PBR texture maps from local GLB files.

VerifiedSTDIODesktop onlyFiles & StorageMedia & Design

Overview

AI-generated 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.
Before you install
The tool writes image files to disk; existing files with matching names are skipped unless overwrite is enabled, so turning it on replaces them. Only GLB 2.0 with embedded images is supported; external URLs, KTX2/Basis formats, occlusion and emissive maps, and texture transforms are not handled. Files over 512 MiB and images above 100 million pixels are rejected.

Installation

In SourceWeft

  1. Open 3d Texture Toolkit in the dashboard and add it to a workspace.
  2. 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:

sh
npx -y 3d-texture-toolkit-mcp

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:

json
{  "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>-textures is created beside the GLB.
  • overwrite (optional, defaults to false): 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

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  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