Threecrate Mcp

io.github.rajgandhi1Published by GitHub account rajgandhi1v0.2.2Updated Nov 6, 2026

Clean, align, measure and repair 3D scans and meshes; make scans printable as STL.

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Local MCP server for 3D point clouds and meshes: inspect, clean, align, measure, reconstruct and repair scans, including export to printable STL.

What you can do
  • Inspect point clouds and meshes: point counts, bounds, spacing, holes, watertightness, area, volume and printability
  • Convert between formats and clean clouds: voxel downsampling, outlier removal, normal estimation
  • Align and edit geometry: register two clouds, apply a 4x4 transform, segment planes, extract clusters
  • Build and refine meshes: reconstruct from a cloud, simplify and smooth meshes
  • Render point clouds or meshes to images, including before/after comparisons, so results can be checked
  • Repair scans for 3D printing and write an STL with a before/after picture
When to use it
Useful when you have 3D scan or mesh files in a folder and want an assistant to clean them up, align two scans, measure or check them, turn a cloud into a mesh, or prepare a model for 3D printing.
Requirements
Runs locally over stdio; needs uv (for uvx) or Python 3.10+, or install the package with pip. Tools only read and write inside one workspace folder: the folder the server starts in or the path given with --root (or THREECRATE_MCP_ROOT). No accounts or API keys declared.
Before you install
Tools write new files into the workspace folder; existing files are only replaced with overwrite=true. Point clouds above 50 million points are refused unless the limit is raised. Results are written as files, so disk space is used for each output.

Installation

In SourceWeft

  1. Open Threecrate Mcp 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

threecrate-mcp

An MCP server that lets AI agents work with 3D point clouds and meshes using threecrate. Ask your agent to "clean up scan.ply", "align these two scans" or "turn this cloud into a mesh", and it calls these tools.

Works with any MCP client: Claude Code, Claude Desktop, Codex, OpenCode, Cursor, Gemini CLI and others.

Setup

You need uv (for uvx) or Python 3.10+.

Claude Code (from your project folder):

bash
claude mcp add threecrate -- uvx threecrate-mcp

Codex (from your project folder):

bash
codex mcp add threecrate -- uvx threecrate-mcp

OpenCode (opencode.json in your project):

json
{  "$schema": "https://opencode.ai/config.json",  "mcp": {    "threecrate": { "type": "local", "command": ["uvx", "threecrate-mcp"], "enabled": true }  }}

Claude Desktop, Cursor and other apps (their MCP JSON config). These apps don't start servers in your project folder, so pass it with --root:

json
{  "mcpServers": {    "threecrate": {      "command": "uvx",      "args": ["threecrate-mcp", "--root", "/path/to/your/scans"]    }  }}

Without uv, install with pip install threecrate-mcp and use threecrate-mcp as the command.

How it behaves

  • One workspace folder. Tools only read and write inside it: the folder the server starts in, or --root (also THREECRATE_MCP_ROOT). Paths are relative to it.
  • New files, never overwrites. Results go to a new file next to the input (for example scan.downsampled.ply) unless you name one. Inputs are never overwritten, and existing files only with overwrite=true.
  • Summaries, not points. Tools return counts, bounds, transforms and errors. Point data stays in files, so a big scan doesn't flood the agent's context.
  • Size limit. Clouds above 50 million points are refused (--max-points or THREECRATE_MCP_MAX_POINTS to change).

Tools

ToolWhat it does
inspect_point_cloudPoint count, bounds, spacing, and suggested voxel sizes and radii
inspect_meshMesh health and size: holes, pieces, watertight, area, volume, printable or not (and why)
convertChange format (PLY, PCD, XYZ, CSV; meshes PLY, OBJ, STL)
downsampleVoxel grid downsampling
remove_outliersStatistical or radius outlier removal
estimate_normalsSave per-point normals to a PLY
registerAlign two clouds: ICP, point-to-plane, GICP, or global (no starting pose needed)
transformApply a 4x4 rigid transform
segment_planeFind a floor, wall or table plane; split the cloud
extract_clustersSplit a cloud into separate objects
reconstructPoint cloud to mesh: auto, Poisson, ball pivoting, alpha shape, Delaunay
simplify_meshReduce triangle count
smooth_meshTaubin, Laplacian or HC smoothing
renderPicture of one or more files (before and after) from several angles, returned to the agent; holes show in orange
repair_for_printMake a scan or mesh printable (junk, floor, holes, missing base, face direction, size); writes STL and returns a before/after picture

Readable point cloud formats: PLY, PCD, XYZ, CSV (and others threecrate supports). Writable: PLY, PCD, XYZ, CSV.

Agent Skill

If you would rather not run a server, the threecrate skill teaches an agent to do the same work with short Python scripts. See INSTALL.md for Claude Code, Codex, Gemini CLI, OpenCode and Cursor.

Development

bash
pip install -e ".[test]"pytest

Source: threecrate-mcp/README.md at commit 58f3da3

Tools

15

inspect_point_cloud

Summarize a point cloud file: point count, bounds, centroid, median point spacing, and suggested voxel sizes and radii for the other tools. Call this first on any new cloud.

Parameterspathrequired

inspect_mesh

Check a mesh's health and measure it: holes, separate pieces, non-manifold or flipped faces, watertight, size, surface area, volume, and whether it can be 3D printed as is (with the reasons if not).

Parameterspathrequired

convert

Convert a point cloud (PLY, PCD, XYZ, CSV) or mesh (PLY, OBJ) to another format.

Parameterskindpathrequiredoutputrequiredoverwrite

downsample

Reduce point density with a voxel grid. Good before registration or reconstruction. 2x the median spacing is a light pass, 5x a strong one.

Parameterspathrequiredoutputoverwritevoxel_sizerequired

remove_outliers

Remove stray points (sensor noise, reflections) from a point cloud.

Parameterspathrequiredmethodoutputradiusoverwritestd_ratiok_neighborsmin_neighbors

estimate_normals

Estimate a surface normal for every point and save them in a PLY file. Not needed before register or reconstruct; those estimate normals themselves.

Parameterspathrequiredoutputoverwritek_neighborsnormal_orientation

register

Align a source point cloud to a target. Returns the 4x4 rigid transform (source to target), fit error (mse, rmse) and convergence.

Parametersmethodsourcerequiredtargetrequiredoverwritevoxel_sizealigned_outputmax_iterationsinitial_transformmax_correspondence_distance

transform

Apply a 4x4 rigid transform to every point of a cloud.

Parameterspathrequiredoutputoverwritetransformrequired

segment_plane

Find the dominant plane (floor, wall, table) with RANSAC. Returns its equation and how many points lie on it; can split the cloud in two.

Parameterspathrequiredoverwriteinliers_outputmax_iterationsoutliers_outputdistance_threshold

extract_clusters

Split a cloud into separate objects by distance (Euclidean clustering). Often run after segment_plane removes the floor.

Parameterspathrequiredmax_filesoverwritetolerancerequiredoutput_dirmax_cluster_sizemin_cluster_size

reconstruct

Build a triangle mesh from a point cloud. Clean and downsample first for better results. Poisson always closes the surface; set trim_distance for scans that only see one side.

Parameterspathrequiredalphadepthmethodoutputradiusnormals_koverwritetrim_distancenormal_orientation

simplify_mesh

Reduce a mesh's triangle count while keeping its shape (quadric decimation).

Parameterspathrequiredoutputoverwritereduction_ratiopreserve_boundary

smooth_mesh

Smooth a noisy or bumpy mesh, for example after reconstruct. Taubin keeps the overall size; Laplacian smooths harder but shrinks the mesh.

Parameterspathrequiredmethodoutputoverwriteiterations

render

Draw point clouds or meshes and return the picture, so you can check a result yourself: holes or flipped faces show as orange, a missing base shows in the bottom view. Pass two files to compare before and after.

Parametersupsizepathsrequiredviewsoutputoverwrite

repair_for_print

Make a scan or mesh 3D-printable: removes stray points and loose bits, optionally the floor, closes holes (including a missing base), fixes face direction, reduces the size and converts to millimetres. Writes an STL and returns what it did, the health before and after, and a before/after picture to check.

Parametersuppathrequireddepthunitsoutputoverwriteremove_floortarget_faces

Version history

1
  1. v0.2.2LatestNov 5, 2026

Score

90% 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
  • 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 listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts