Threecrate Mcp

io.github.rajgandhi1由 GitHub 账号 rajgandhi1 发布v0.2.2更新于 Nov 6, 2026

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

已验证STDIO仅桌面开发者工具媒体与设计

概览

AI 生成的概览

本地 MCP 服务器,用于处理 3D 点云与网格:检查、清理、对齐、测量、重建和修复扫描数据,并可导出可打印的 STL。

可以做什么
  • 检查点云与网格:点数、边界、点间距、孔洞、是否水密、面积、体积以及能否直接 3D 打印
  • 转换格式并清理点云:体素降采样、去除离群点、估计法向量
  • 对齐与编辑几何:配准两个点云、应用 4x4 变换、分割平面、提取聚类
  • 构建与优化网格:由点云重建网格、简化与平滑网格
  • 渲染点云或网格为图片,支持前后对比,便于自行检查结果
  • 为 3D 打印修复扫描数据,写出 STL 并返回前后对比图
适用场景
当文件夹中有 3D 扫描或网格文件,希望助手帮忙清理、对齐两份扫描、测量或检查、把点云转成网格,或为 3D 打印准备模型时适用。
运行要求
以 stdio 在本地运行;需要 uv(用于 uvx)或 Python 3.10+,也可用 pip 安装该包。工具只能在一个工作区文件夹内读写:服务器启动所在目录,或通过 --root(或 THREECRATE_MCP_ROOT)指定的路径。未声明需要账号或 API 密钥。
安装前请注意
工具会在工作区文件夹中写入新文件;已有文件仅在 overwrite=true 时才会被替换。超过 5000 万点的点云会被拒绝,除非调高上限。结果以文件形式写出,每次输出都会占用磁盘空间。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Threecrate Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:threecrate-mcp/README.md,提交 58f3da3

工具

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.

输入参数path必填

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).

输入参数path必填

convert

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

输入参数kindpath必填output必填overwrite

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.

输入参数path必填outputoverwritevoxel_size必填

remove_outliers

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

输入参数path必填methodoutputradiusoverwritestd_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.

输入参数path必填outputoverwritek_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.

输入参数methodsource必填target必填overwritevoxel_sizealigned_outputmax_iterationsinitial_transformmax_correspondence_distance

transform

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

输入参数path必填outputoverwritetransform必填

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.

输入参数path必填overwriteinliers_outputmax_iterationsoutliers_outputdistance_threshold

extract_clusters

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

输入参数path必填max_filesoverwritetolerance必填output_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.

输入参数path必填alphadepthmethodoutputradiusnormals_koverwritetrim_distancenormal_orientation

simplify_mesh

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

输入参数path必填outputoverwritereduction_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.

输入参数path必填methodoutputoverwriteiterations

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.

输入参数upsizepaths必填viewsoutputoverwrite

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.

输入参数uppath必填depthunitsoutputoverwriteremove_floortarget_faces

版本历史

1
  1. v0.2.2最新Nov 5, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分