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.
pathrequired
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.
Local MCP server for 3D point clouds and meshes: inspect, clean, align, measure, reconstruct and repair scans, including export to printable STL.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
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.
You need uv (for uvx) or Python 3.10+.
Claude Code (from your project folder):
Codex (from your project folder):
OpenCode (opencode.json in your project):
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:
Without uv, install with pip install threecrate-mcp and use threecrate-mcp
as the command.
--root (also THREECRATE_MCP_ROOT). Paths are relative
to it.scan.downsampled.ply) unless you name one. Inputs are never
overwritten, and existing files only with overwrite=true.--max-points or THREECRATE_MCP_MAX_POINTS to change).Readable point cloud formats: PLY, PCD, XYZ, CSV (and others threecrate supports). Writable: PLY, PCD, XYZ, CSV.
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.
Source: threecrate-mcp/README.md at commit 58f3da3
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.
pathrequiredCheck 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).
pathrequiredConvert a point cloud (PLY, PCD, XYZ, CSV) or mesh (PLY, OBJ) to another format.
kindpathrequiredoutputrequiredoverwriteReduce point density with a voxel grid. Good before registration or reconstruction. 2x the median spacing is a light pass, 5x a strong one.
pathrequiredoutputoverwritevoxel_sizerequiredRemove stray points (sensor noise, reflections) from a point cloud.
pathrequiredmethodoutputradiusoverwritestd_ratiok_neighborsmin_neighborsEstimate a surface normal for every point and save them in a PLY file. Not needed before register or reconstruct; those estimate normals themselves.
pathrequiredoutputoverwritek_neighborsnormal_orientationAlign a source point cloud to a target. Returns the 4x4 rigid transform (source to target), fit error (mse, rmse) and convergence.
methodsourcerequiredtargetrequiredoverwritevoxel_sizealigned_outputmax_iterationsinitial_transformmax_correspondence_distanceApply a 4x4 rigid transform to every point of a cloud.
pathrequiredoutputoverwritetransformrequiredFind the dominant plane (floor, wall, table) with RANSAC. Returns its equation and how many points lie on it; can split the cloud in two.
pathrequiredoverwriteinliers_outputmax_iterationsoutliers_outputdistance_thresholdSplit a cloud into separate objects by distance (Euclidean clustering). Often run after segment_plane removes the floor.
pathrequiredmax_filesoverwritetolerancerequiredoutput_dirmax_cluster_sizemin_cluster_sizeBuild 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.
pathrequiredalphadepthmethodoutputradiusnormals_koverwritetrim_distancenormal_orientationReduce a mesh's triangle count while keeping its shape (quadric decimation).
pathrequiredoutputoverwritereduction_ratiopreserve_boundarySmooth a noisy or bumpy mesh, for example after reconstruct. Taubin keeps the overall size; Laplacian smooths harder but shrinks the mesh.
pathrequiredmethodoutputoverwriteiterationsDraw 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.
upsizepathsrequiredviewsoutputoverwriteMake 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.
uppathrequireddepthunitsoutputoverwriteremove_floortarget_faces90% 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.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
claude mcp add threecrate -- uvx threecrate-mcpcodex mcp add threecrate -- uvx threecrate-mcp{ "$schema": "https://opencode.ai/config.json", "mcp": { "threecrate": { "type": "local", "command": ["uvx", "threecrate-mcp"], "enabled": true } }}{ "mcpServers": { "threecrate": { "command": "uvx", "args": ["threecrate-mcp", "--root", "/path/to/your/scans"] } }}pip install -e ".[test]"pytest