Skip to main content

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

claude mcp add threecrate -- uvx threecrate-mcp

Codex (from your project folder):

codex mcp add threecrate -- uvx threecrate-mcp

OpenCode (opencode.json in your project):

{
  "$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:

{
  "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

Tool What it does
inspect_point_cloud Point count, bounds, spacing, and suggested voxel sizes and radii
inspect_mesh Vertex and face counts, bounds
convert Change format (PLY, PCD, XYZ, CSV; meshes PLY, OBJ)
downsample Voxel grid downsampling
remove_outliers Statistical or radius outlier removal
estimate_normals Save per-point normals to a PLY
register Align two clouds: ICP, point-to-plane, GICP, or global (no starting pose needed)
transform Apply a 4x4 rigid transform
segment_plane Find a floor, wall or table plane; split the cloud
extract_clusters Split a cloud into separate objects
reconstruct Point cloud to mesh: auto, Poisson, ball pivoting, alpha shape, Delaunay
simplify_mesh Reduce triangle count
smooth_mesh Taubin, Laplacian or HC smoothing

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

pip install -e ".[test]"
pytest

Metadata

Release files for threecrate-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for threecrate-mcp 0.1.0
File Size Uploaded Provenance Actions
threecrate_mcp-0.1.0.tar.gz 17.8 kB With provenance Details for threecrate_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for threecrate-mcp 0.1.0
File Interpreter ABI Platform Actions
threecrate_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for threecrate_mcp-0.1.0-py3-none-any.whl

Total release size: 33.2 kB

Release files / threecrate_mcp-0.1.0.tar.gz

Download URL threecrate_mcp-0.1.0.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
92d8d8e2706f6416aed398c6ab033449ad8850c637bb1e122984842223d7a5a6
BLAKE2b-256 checksum
How to use checksums
93d467b0c0a505a2c44aa7bb63b2ac107debe61e1f307514a43f85c7238ad2bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / threecrate_mcp-0.1.0-py3-none-any.whl

Download URL threecrate_mcp-0.1.0-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57b8e76bfce16935674f8d94ef2b0a58b2dad8083de1f46857ee805a9be11a86
BLAKE2b-256 checksum
How to use checksums
c74286b2c3fcc248c9921abb89cfb94596aed4c5c2711f12365aaeb083e67137
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Security for threecrate-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for threecrate_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page