
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
measure-mcp
Advanced tools
MCP server that turns photos, depth maps and 3D scans into real-world measurements for AI assistants: cookware capacity and recipe scaling, room fit, Amazon FBA size tiers, moving volume.
An AI tape measure. An MCP server that turns iPhone LiDAR captures, depth maps, room scans and photos with a reference card into real-world measurements that Claude (or any MCP client) can use.
Every number comes back with a ± and a confidence level, and the server says plainly when it is guessing.
The AI never touches a sensor. Capture happens on the phone (the companion iOS app, a LiDAR scanner app, or the camera), and this server does the geometry on the files. It picks the best depth source available:
[depth] extra, Depth Anything V2 Small, Apache-2.0).A plain photo with none of these has no real scale. The tools say so instead of inventing a number.
pip install measure-mcp # core: all tools, no ML
pip install "measure-mcp[usd]" # + reading RoomPlan .usdz files
pip install "measure-mcp[depth]" # + depth model for plain photos (pulls in PyTorch)
Python 3.10 or newer. uvx measure-mcp works too.
Add this to claude_desktop_config.json (Settings, Developer, Edit Config):
{
"mcpServers": {
"measure": {
"command": "uvx",
"args": ["--from", "measure-mcp[usd]", "measure-mcp"]
}
}
}
claude mcp add measure -- uvx --from "measure-mcp[usd]" measure-mcp
All 34 tool descriptions take about 19k tokens of context. Set MEASURE_MCP_TOOLS to the groups you want (the core measure_* tools always load):
MEASURE_MCP_TOOLS | Tools | Context |
|---|---|---|
| (unset) | 34 | ~19k tokens |
kitchen | 9 | ~4k tokens |
room | 14 | ~6k tokens |
moving | 15 | ~6k tokens |
fba | 14 | ~8k tokens |
"measure": {
"command": "uvx",
"args": ["--from", "measure-mcp", "measure-mcp"],
"env": { "MEASURE_MCP_TOOLS": "fba" }
}
Combine groups with commas, for example kitchen,room.
Tools take file paths on the machine running the server. When you share a photo in chat, save it to ~/measure-mcp-inbox (or AirDrop it to Downloads) and the AI finds it with measure_find_files. Files the tools write (floor plans, inventories) go to ~/measure-mcp-output, or wherever MEASURE_MCP_OUTPUT_DIR points. Tools never write anywhere else.
Measure the bowl in
~/measure-mcp-inbox/bowl_capture.zipand scale my brownie recipe to it: 1 cup butter, 2 cups sugar, 4 eggs, 1 1/4 cups flour. The original recipe is for a 9x13 pan.
Here's my living room scan (
~/Downloads/living.usdz). Will an 84 x 37 x 34 in sofa get through the door, and does it fit on the wall with the window?
What FBA size tier is a 12 x 9 x 3 in box at 1.4 lb priced at $24, and how close is it to the next tier?
I'm moving out of a 2 bedroom: queen bed, 3-seat sofa, dining table with 4 chairs, 2 dressers, 30 medium boxes. What truck and storage unit do I need?
| Group | Tools |
|---|---|
| Core | measure_find_files, measure_depth_info, measure_open_capture, measure_object, measure_distance_between_points, measure_list_reference_objects |
| Kitchen | kitchen_measure_vessel, kitchen_vessel_from_dimensions, kitchen_scale_recipe |
| Room | room_load_scan, room_summary, room_list_walls, room_list_openings, room_list_objects, room_check_fit, room_check_doorway, room_floor_plan_svg |
| Amazon FBA | fba_analyze, fba_size_tier, fba_fee_estimate, fba_tier_headroom, fba_audit_listing, fba_draft_remeasure_request, fba_measure_package, fba_data_status |
| Moving | moving_estimate_from_inventory, moving_estimate_from_scan, moving_estimate_object, moving_cube_sheet_lookup, moving_recommend_truck, moving_recommend_container, moving_recommend_storage, moving_export_inventory, moving_data_info |
Conventions shared by every tool: the input file is path, sizes are dims ("12 x 9 x 3 in", a list, or a dict), weights are weight (1.4 or "1.4 lb"), output units are units (metric, imperial, both), and errors come back as {"error": {"code", "message", "hint"}}. An argument a tool doesn't take is rejected with the closest valid name, never silently ignored.
Measured on synthetic scenes with known answers and simulated iPhone LiDAR noise (256 x 192 depth, σ 5 mm). Real-world accuracy will be somewhat worse. Treat these as a ceiling, not a promise.
| What | Result |
|---|---|
| Bowls, pans and pots (12 vessels, 3 camera angles, 108 renders) | median capacity error 0.9%, 90th percentile 2.5%; the reported ± contained the truth in every render |
| Rim diameter | worst error 0.35 cm |
| Bowls from scanner-app meshes (OBJ/PLY, cm or m, Y-up or Z-up, holes, clutter) | median capacity error 0.7% on 16 random scans; the ± contained the truth every time |
| Boxes (single view, any rotation) | footprint within 0.5 cm across 240 camera views |
| Room walls from a LiDAR point cloud | mean 0.13 cm, worst 0.38 cm without drift; 3.5 cm worst with 2 cm drift |
| FBA tier risk flags | caught 100% of boxes whose tier was wrong because of measurement noise |
| Moving estimates (studio to 3 bedroom) | all within published industry ranges |
Known limits:
fba_data_status lists every gap. These are estimates. Amazon's own measurement and fee schedule govern.ios/ holds the source for a small capture app. One tap saves an iPhone Pro LiDAR depth map, photo and camera calibration as a zip bundle that measure_open_capture reads, and it exposes App Intents ("Measure object") to Siri and Shortcuts. It has not been compiled or run on a device yet. See ios/README.md.
measure-mcp --transport streamable-http # 127.0.0.1:8765, local only
MEASURE_MCP_TOKEN=... measure-mcp --transport streamable-http --host 0.0.0.0
The server reads files on its host, so any non-loopback address requires a bearer token.
git clone https://github.com/purahmanian/measure-mcp && cd measure-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev,usd]"
python -m pytest -q # about 1,300 tests, no network
python -m ruff check .
PYTHONPATH=src:. python bench/kitchen_bench.py --quick
Design notes for each feature are in designs/.
MIT, Puya Ventures LLC. Depth Anything V2 Small (optional extra) is Apache-2.0.
Puya Rahmanian. Need an MCP server or an AI integration built for your product? puyarahmanian.com
FAQs
MCP server that turns photos, depth maps and 3D scans into real-world measurements for AI assistants: cookware capacity and recipe scaling, room fit, Amazon FBA size tiers, moving volume.
We found that measure-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.