MCP server: One MCP server.

3D Texture Toolkit

@jiangshan118MCP server · External

Extract embedded PBR texture maps from local GLB files.

3D modelling & CADv0.1.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm3d-texture-toolkit-mcpv0.1.1

Run

npx -y 3d-texture-toolkit-mcp

MCP client config

{
  "mcpServers": {
    "3d-texture-toolkit": {
      "command": "npx",
      "args": [
        "-y",
        "3d-texture-toolkit-mcp"
      ]
    }
  }
}
README2 min read

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.

Similar modules

Browse 3D modelling & CAD