MCP server for Agisoft Metashape Professional 2.3+. Provides tools covering the full photogrammetry pipeline: project management, photo import, alignment, dense reconstruction, mesh generation, texturing, survey product creation, export/import, markers/GCPs, coordinate systems, and network processing.
The Metashape MCP server presents 39 tools covering a comprehensive photogrammetry pipeline. Strengths: all tools have descriptions (10-150 chars each), clear verb-noun naming (match_photos, build_model, export_point_cloud), and input parameters are consistently typed with descriptions. Weaknesses: descriptions are generic and brief (averaging ~80 chars, below production baseline of 194 chars), many lack actionable context about when/why to use them, output schemas are not documented in the visible source, and error recovery guidance is absent. Parameter quality is moderate, most have types and brief descriptions, but lack format constraints, ranges, or enum declarations where applicable. The server includes a detailed instructions string in the FastMCP definition addressing agent rules (keep_keypoints, GPU/CPU usage, tie point filtering), which partially compensates for tool-level documentation gaps. Tools are well-composed (each has a single responsibility), but the response structure and chaining behavior are not visible in the provided code snippet.
Import photos into the current chunk
Align cameras using matched tie points
Analyze image quality for all photos in chunk
Build digital elevation model from point cloud or depth maps
Build depth maps from aligned cameras
Build 3D mesh model from depth maps or point cloud
Build orthomosaic from aligned images and elevation model
Build dense point cloud from depth maps
Build texture map for the model
Output schemas not documented. None of the 39 tools include return type documentation or example responses visible in source. Agents cannot plan multi-step workflows without knowing what fields to expect from each tool result.
Descriptions lack actionable context. Tool descriptions are brief (35 - 60 chars, well below production baseline of 194 chars) and generic ('Build depth maps', 'Export DEM'). They do not explain WHEN to use a tool, WHAT prerequisites are needed, or HOW the output chains into downstream tools. Example: build_model lacks guidance on when to choose 'depth_maps' vs 'point_cloud' as source_data, forcing agents to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Generate UV mapping for the model
Calibrate color consistency across photos
Cancel any currently running Metashape processing operation
Capture screenshot from the 3D viewport
Classify ground points in point cloud for terrain extraction
Clean up model by removing small components or noise
Create a new Metashape project
Export camera calibration and poses
Export DEM to GeoTIFF or other raster format
Export 3D model to file
Export orthomosaic to GeoTIFF or other raster format
Export point cloud to file
Export processing report to PDF
Export tiled model for web viewing
Filter point cloud points by confidence threshold
Filter tie points by reconstruction uncertainty, projection accuracy, or reprojection error
Get alignment quality statistics
Get spatial statistics about aligned cameras
Get model geometry statistics
Get point cloud statistics
Import point cloud from external file (LAS, LAZ, PLY, etc.)
Import reference/GCP data from CSV or other formats
Match photos and generate tie points for camera alignment
Open an existing Metashape project
Refine camera calibration and pose parameters
Remove photos from the chunk by label or key
Save the current project
Set the coordinate reference system for the chunk
Configure GPU and CPU usage for processing
Smooth the model surface
String enums without constraints. Parameters accepting a known set of values (filter_mode in build_depth_maps, surface_type in build_model, blending_mode in build_texture) are documented as strings without enum definitions. LLMs may hallucinate invalid values like 'AGGRESSIVE' or 'HEIGHT_FIELD' instead of lowercase alternatives.
Statistics tools lack return structure guidance. get_alignment_stats, get_camera_spatial_stats, get_point_cloud_stats, get_model_stats have no schema or description of what metrics they return. Agents cannot reason about threshold values for filtering or decision-making without knowing available fields.
No error recovery guidance. No tool description explains what happens on failure or how to recover. Example: match_photos could fail due to insufficient texture, poor image overlap, or motion blur, but agents receive no hint about diagnosis or next steps. Export tools give no warning about disk space or permission errors.
Numeric parameters lack ranges. downscale in match_photos and build_depth_maps, keypoint_limit, tiepoint_limit, texture_size, resolution in build_dem, threshold in filter_points_by_confidence, none specify valid min/max values. Agents could pass downscale=0 or texture_size=1000000 without constraint.
Destructive tools lack confirmation or dry-run option. remove_photos, clean_model, smooth_model are marked as DESTRUCTIVE or WRITE but offer no confirmation, preview, or undo capability. Agents may irreversibly delete data without explicit user approval.
import_reference parameter 'columns' is under-specified. Description says 'Column order for CSV (e.g. nxyz for label, X, Y, Z)' but does not clarify if columns should be 'n,x,y,z' (comma-separated string), an array ['n','x','y','z'], or a different format. Ambiguity invites format errors.