AI Tools · Developer docs · Windows

Open3D MCP server: setup & tool reference

Open3D Viewer for Windows ships a local Model Context Protocol server. Any MCP client can open 3D files, take screenshots, inspect geometry, check printability and edit meshes in the running app. Everything stays on your PC. Looking for the plain-English overview? See AI Tools.

On this page

How it works

Requirements: Windows 10 or 11, Open3D Viewer from the Microsoft Store (1.3.4 or later), and an MCP-capable client. The iPhone and Android apps don't include the MCP server.

One-click setup

  1. Open Open3D Viewer → Settings → AI Tools and turn it on.
  2. Click Install next to your client. Open3D writes the open3d entry into that client's config file and leaves your other servers alone.
  3. Fully quit and reopen the client so it loads the new server.
  4. Keep Open3D Viewer running while you use it.

Manual config per client

Use this if you'd rather edit the file yourself or your client isn't listed. Replace <token> with the token from Settings → AI Tools, and <user> with your Windows user folder name. In JSON, backslashes must be doubled.

ClientConfig fileKey
Claude Desktop%APPDATA%\Claude\claude_desktop_config.jsonmcpServers
Cursor%APPDATA%\Cursor\User\globalStorage\.cursor\mcp.jsonmcpServers
Windsurf%APPDATA%\Windsurf\User\mcp_config.jsonmcpServers
Google Antigravity (CLI & IDE)%USERPROFILE%\.gemini\config\mcp_config.jsonmcpServers
Zed%APPDATA%\Zed\settings.jsoncontext_servers
Codex / ChatGPT Desktop%USERPROFILE%\.codex\config.toml[mcp_servers.open3d]

JSON clients (Claude Desktop, Cursor, Windsurf, Antigravity)

{
  "mcpServers": {
    "open3d": {
      "command": "C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\open3d-mcp.exe",
      "args": ["--token", "<token>"]
    }
  }
}

Zed

Same entry, under context_servers in Zed's settings.json:

"context_servers": {
  "open3d": {
    "command": "C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\open3d-mcp.exe",
    "args": ["--token", "<token>"]
  }
}

Codex CLI / Codex IDE / ChatGPT Desktop

[mcp_servers.open3d]
command = "C:\\Users\\<user>\\AppData\\Local\\Microsoft\\WindowsApps\\open3d-mcp.exe"
args = ["--token", "<token>"]

Don't point clients at the copy inside C:\Program Files\WindowsApps\…. Windows blocks other apps from running files in that folder. Use the WindowsApps alias above. Open3D also keeps a fallback copy in its own local data folder and repairs older configs automatically at startup.

HTTP endpoint

For clients that take a server URL instead of a command, Settings → AI Tools shows a one-shot MCP JSON-RPC endpoint:

http://127.0.0.1:5717/mcp?token=<token>

It only listens on localhost. Web-only chat apps (web ChatGPT, web Gemini) can't reach it unless you tunnel it yourself, which isn't recommended. Clients with no MCP support at all can't use it either.

Tool reference

94 working tools. Units are whatever the scene is declared in (get_scene_units). Mesh formats default to millimetres; glTF is converted from metres. Every edit can be undone with undo_edit or reset_edits, and nothing is written to disk unless you call save_edits.

Open, look & inspect

open_fileOpen a 3D file from disk in the viewer and wait for it to load.
get_model_infoFile name, path, format, triangle count and bounds of the open model.
screenshotPNG of the viewer as the user sees it.
set_view · zoom_toCamera presets (top, front, side, iso); frame a mesh, the selection or the whole scene.
get_viewer_sizeCanvas size in pixels.
set_shading · set_backgroundSolid / wireframe / x-ray style drawing; background colour.
set_clipping_planeNon-destructive cross-section along any plane.
read_fileRaw bytes of the open file (base64).
get_world_bbox · mesh_statsBounding box; triangle/vertex counts, edge lengths, surface area.
get_geometryVertex and index arrays of a mesh.
raycast_ray · distance_to_meshArbitrary ray hits; signed distance from a point to a surface.
get_scene_units · set_scene_unitsRead or declare what one world unit means.

Pins (annotations)

annotateDrop a numbered pin with an optional label.
get_pins · update_pin · remove_pin · clear_annotationsList, relabel, remove one, or remove all pins.

3D-print checks & prep

manifold_checkWatertightness / open edges.
wall_thickness_checkFaces on walls thinner than a minimum (default 0.8 mm), thinnest wall, per-mesh breakdown; can paint them on screen.
overhang_checkFaces past the support-free angle (default 45°); can highlight them.
estimate_printMaterial and time estimate.
scale_to_dimensionScale so an axis measures exactly a target size.
drop_to_bed · center_on_originSit the model on the build plate; centre it.

Repair

repair_meshRuns the safe repairs in one go.
fill_holes · list_boundary_loops · fill_boundary_loop · bridge_boundary_loopsFind hole rims; fill all, fill one, or join two with a tube.
weld_vertices · recalculate_normals · flip_normalsMerge duplicate vertices; fix shading and inside-out faces.
remove_loose_geometry · smooth_boundary · smooth_regionDelete floating specks; smooth rims or an area.

Meshes & transforms

hide_mesh · show_mesh · delete_mesh · duplicate_meshScene-graph basics.
translate_mesh · rotate_mesh · scale_meshMove, rotate and scale.
mirror · symmetrize · array · radial_arrayMirror, make symmetric, linear and circular copies.
add_primitiveBox, sphere, cylinder or torus.
merge_meshes · split_by_components · split_component_atCombine meshes; split into connected parts.
boolean_union · boolean_difference · boolean_intersectionCSG between two meshes.
cut_by_planeSlice a mesh along any plane.
decimate · subdivideReduce or increase triangle count.

Face selection & editing

select_faces_flood_from_point · select_faces_by_normal · select_faces_in_box · select_faces_near_point · select_from_screen_clickBuild a face selection several ways.
invert_selection · clear_selection · selection_statusManage the selection.
delete_selected_faces · separate_selected_into_meshDelete or split off the selection.
delete_faces_in_box · keep_faces_in_box · delete_faces_near_point · keep_faces_near_pointDirect face deletion by region.

Materials & textures

set_material · apply_material_preset · tune_materialPBR colour / metal / roughness; presets like walnut, brass, chrome; fine-tune.
list_materials · select_by_materialWhat's in the scene and which meshes use it.
check_uvs · generate_uvsInspect or create UVs.
set_texture_folder · load_texture · set_material_texture · apply_pbr_pack · list_textures · unload_textureTexture from a folder you allow.

Edit history & saving

undo_edit · redo_edit · reset_edits · edit_statusUndo stack.
save_editsWrite the edited scene to GLB or STL at a path you choose.

list_meshes, measure and raycast_screen are listed too but are reserved and return "not implemented yet". Use get_model_info, raycast_ray and distance_to_mesh instead.

Example prompts

Troubleshooting

"Cannot reach Open3D Viewer"

The app isn't running or AI Tools is off. Open Open3D Viewer, check Settings → AI Tools is on, then retry.

The client doesn't list any Open3D tools

Fully quit the client (including from the system tray) and reopen it. Most clients only read their MCP config at launch. Then check the open3d entry is in the file from the table above.

"Access is denied" starting the server

The config points inside C:\Program Files\WindowsApps. Click Install again in Settings → AI Tools, or switch the command to the %LOCALAPPDATA%\Microsoft\WindowsApps\open3d-mcp.exe alias.

Unauthorized / bad token

The token was regenerated. Re-run Install, or paste the current token from Settings → AI Tools.

Still stuck?

Email [email protected] with your client name and version. AI apps change often, and we fix setup problems quickly.

Privacy & security