Skip to content
Agentmart
Submit a tool

measure-mcp

AI tape measure: cookware capacity, recipe scaling, room fit, Amazon FBA size tiers, moving volume.

Connector by purahmanian · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Chalk Labs

Need help deploying measure-mcp?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/purahmanian-measure-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

AI tape measure: cookware capacity, recipe scaling, room fit, Amazon FBA size tiers, moving volume.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
14 read · 11 write · 0 delete · 1 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 26

Read from the source code; the running server may list different tools.

Read 14 · Look things up without changing anything.

  • kitchen_measure_vessel
  • measure_depth_info
  • measure_distance_between_points
  • measure_find_files
  • measure_list_reference_objects
  • measure_object
  • measure_open_capture
  • room_check_doorway
  • room_check_fit
  • room_floor_plan_svg
  • room_list_objects
  • room_list_openings
Show 2 more tools
  • room_list_walls
  • room_load_scan

Write 11 · Create, change, send or run things.

  • kitchen_scale_recipe
  • kitchen_vessel_from_dimensions
  • moving_cube_sheet_lookup
  • moving_data_info
  • moving_estimate_from_inventory
  • moving_estimate_from_scan
  • moving_estimate_object
  • moving_export_inventory
  • moving_recommend_container
  • moving_recommend_storage
  • moving_recommend_truck

Not yet classified 1 · We could not tell from the name and description.

  • room_summary

Files it touches

  • Any path the agent passes to its tools

Tools (26)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • kitchen_measure_vessel

    Capacity of a bowl, baking dish, cake pan, sheet pan or pot from one depth capture or 3D scan (to scale a recipe). Camera looking down into the upright vessel on a flat surface (45 degrees above the table or steeper), whole rim in frame. path: LiDAR/Portrait HEIC, capture bundle (folder or .zip), metric depth file (16-bit PNG in mm, TIFF or NPZ in meters), a plain photo, or a 3D scan: a Scaniverse, Polycam or 3D Scanner App OBJ or PLY (a .zip with the .obj, .mtl and texture is fine). A scan needs the vessel upright on a table with some table in view; it is the object nearest the middle, clutt…

  • kitchen_scale_recipe

    Scale a recipe written for one pan to another vessel, with kitchen-friendly amounts. ingredients: ONE text block, an ingredient per line (paste the list as is), or a list of strings ("2 1/4 cups flour", "3 eggs", "1/2 cup (115 g) butter, melted") or {"amount", "unit", "name"} objects. A line with no number stays unscaled and is listed in warnings. source_vessel: the pan the recipe was written for; target_vessel: the pan to use now. Each is a `vessel` object from kitchen_measure_vessel or kitchen_vessel_from_dimensions, or just a name ("9x13", "8 inch round", "half sheet"); vessels_resolved sa…

  • kitchen_vessel_from_dimensions

    Build a vessel and its capacity from a standard pan name or typed dimensions; no photo, always works. Pass EITHER preset OR dimensions (both is an error). preset takes natural names: "9x13", "9 x 13 inch pan", "8 inch round", "8-inch cake pan", "half sheet", "loaf pan", "bundt", "2 qt saucepan", "10 inch skillet", "23x33 cm"... Presets include square/round/springform pans, 9x13, loaf pans, quarter/half/full sheets, pie plate, skillets, bundt and tube pans, one muffin cup, casseroles and pots by quart. The result says which preset it resolved to (preset.resolved_to, preset.match exact|alias|pa…

  • measure_depth_info

    Check what a photo or depth file contains BEFORE measuring from it. path: HEIC/HEIF, TIFF, 16-bit PNG, NPZ, JPEG, or a capture-app bundle (folder or .zip). Returns summary (quote it), info {kind, has_depth, depth_size [w, h], accuracy absolute|relative, source, intrinsics_origin, valid_fraction, warnings}, advice and capabilities {monocular_depth, heic, usd}. accuracy "relative" needs a reference object; intrinsics_origin "assumed" means the camera field of view is a guess (every size is then capped at low confidence with a wide +/-). A file with no depth is a plain photo: see advice for the …

  • measure_distance_between_points

    Straight-line distance between two pixels of a depth capture (a doorway width, a shelf gap). path: LiDAR/Portrait HEIC, capture bundle or metric depth file (TIFF, 16-bit PNG in mm, NPZ). point_a and point_b: [x, y] in PHOTO pixels (depth-map pixels when there is no photo). rgb_path: optional original photo (EXIF gives the focal length). reference: see measure_list_reference_objects; with a plain photo the two points must lie on the reference's surface. units: metric|imperial|both. Returns summary (quote it), confidence, measurements [distance] (+/- about 95%), warnings. A depth file without c…

  • measure_find_files

    List recent measurable files on this computer, newest first, with what each contains. When the user says "this photo" or "the scan I just took" in chat you have NO file path: ask them to save it to ~/measure-mcp-inbox (or AirDrop it to Downloads), then call this tool and use the path it returns. folder: look only there (direct children, no recursion); default: $MEASURE_MCP_INBOX, ~/Downloads, ~/Desktop, ~/measure-mcp-inbox. limit: 1-100 (default 20). Finds HEIC/HEIF, JPEG, depth TIFF/PNG/NPZ, capture .zip or folders, PLY/OBJ/USDZ and RoomPlan/scan JSON. Each file: path, size_bytes, modified, …

  • measure_list_reference_objects

    List everyday objects of known size (credit_card, us_quarter, us_letter, a4, half_sheet_pan, dollar_bill) that give a photo a metric scale, and how to pass one as `reference`. Lay it flat on the same surface as the thing measured, fully visible, then pass reference={"type": key, "corners": [[x,y] x4 in photo pixels, clockwise from top-left]} (discs: "bbox"). Needed for relative depth; it also fixes a guessed field of view, and measures a flat object's footprint in a plain photo.

  • measure_object

    Size (length, width, height) of one object standing on a flat surface, from a depth capture or 3D scan. path: LiDAR/Portrait HEIC, capture bundle (folder or .zip), a metric depth file (TIFF, 16-bit PNG in mm, NPZ), or a 3D scan: a Scaniverse, Polycam or 3D Scanner App OBJ or PLY export (a .zip holding the .obj plus its .mtl and texture is fine). A scan must show the object standing on a table; the object is the one nearest the middle, as a gravity-aligned box, and rgb_path, bbox, point and reference do not apply to it. The file's units and up axis are detected and reported in the result's `sc…

  • measure_open_capture

    Describe a capture bundle from the measure-mcp iOS app (a folder or .zip): depth.tiff, confidence, colour image and a capture.json sidecar with intrinsics, pose and device. Returns summary (quote it), depth_size, source (lidar), accuracy, valid_fraction, depth_range_m, intrinsics. Pass the same path to kitchen_measure_vessel, measure_object, measure_distance_between_points to measure.

  • moving_cube_sheet_lookup

    Look up how many cubic feet (and pounds) the movers' cube sheet assigns to an item, with sources. Use this to answer "why 50 cu ft for my sofa?" or to find the right catalog name before building an inventory. Accepts names, aliases, plurals, small typos and size hints ("55 inch tv", "18 cu ft fridge"). Each match lists the value, the range across published sheets, alternative values, the weight at the movers' 7 lb per cu ft rule, and whether the row was re-verified against its source. Never includes prices.

  • moving_data_info

    Report the versions, as-of dates, source URLs, verified/unverified row counts and staleness warnings of the moving data files (cube sheet, trucks, containers, storage units).

  • moving_estimate_from_inventory

    Estimate the volume (cu ft / m3) and weight of a move from a list of belongings. Give ``inventory_text`` (one block or a list of lines) such as "queen bed, 3-seat sofa, 20 medium boxes", and/or structured ``items``. Text understands quantities ("3x", "two", "a dozen"), plurals, small typos, "Bedroom:" headers and notes in parentheses. Items it cannot match are returned in ``unresolved`` and are NOT in the total; assumed sizes are listed in ``needs_review``: ask the user about them rather than hiding them.

  • moving_estimate_from_scan

    Estimate a move from a RoomPlan room scan (JSON export, USDZ, or a PLY/OBJ the room tools can load). Pass ``path`` (one merged scan) or ``paths`` (one file per room). Scanned furniture (sofa, bed, table, storage, appliances...) is mapped to cube-sheet sizes; built-in fixtures (sink, toilet, bathtub, built-in cabinets) are excluded unless fixture_policy="include_all". IMPORTANT: a scan only sees large furniture, so boxes, clothes, books and kitchenware are missing: read ``coverage_warning``, ask the user about boxes, and pass them as ``extra_items`` (same item format as moving_estimate_from_in…

  • moving_estimate_object

    Volume of one oddly shaped object from measured size, ready to add to an inventory. Give ``dims`` ("36 x 72 x 12 in", [36, 72, 12] with dims_unit, or {length,width,height}; any order, default unit inches, no edge over 10 m) or ``path`` to a depth capture of the object on a surface, or a 3D scan export of it (a Scaniverse, Polycam or 3D Scanner App OBJ or PLY; a .zip holding the .obj, .mtl and texture is fine; the object is the one nearest the middle of the scan). For a scan the file's units and up axis are detected and reported in the notes; if that is wrong, pass scan_units (m|cm|mm|in: what…

  • moving_export_inventory

    Turn an estimate into a printable or shareable inventory list for movers, insurance or storage. Pass ``estimate_id`` from moving_estimate_* (or the full dict from detail='full'). ``html`` has print CSS (open in a browser, Save as PDF); ``markdown``, ``csv`` and ``json`` come back inline in ``content`` when small. Files are only written into the server's output folder (MEASURE_MCP_OUTPUT_DIR, default ~/measure-mcp-output): ``output_name`` is a plain file name (no folders; the extension follows ``format``), an existing file is never overwritten, and the result's ``path`` says where it went. The…

Show 11 more tools
  • moving_recommend_container

    Pick portable moving containers (PODS 8/12/16 ft, U-Haul U-Box) for a load, by volume AND weight limit. Containers have hard weight limits that dense loads (books, tools) can hit before the volume is full; ``weight_binding`` says when weight, not volume, decides the count. Returns a plan such as [{"container_id": "pods.16ft", "count": 1}] per family. PODS capacities come from third-party sources (marked unverified): confirm with the provider. Input as in moving_recommend_truck. No prices.

  • moving_recommend_storage

    Pick a self-storage unit size (5x5 up to 10x30) for a load, leaving an access aisle. Unit volume is floor area times ceiling height (8 ft is typical; pass ceiling_ft if the facility differs). Usable space is 0.65-0.80 of that (packing efficiency minus 0.05 for an aisle). Also reports the next smaller unit and how much would not fit, and two-unit combinations. Input as in moving_recommend_truck. No prices.

  • moving_recommend_truck

    Pick the smallest rental truck or van (U-Haul, Penske, Budget) for a load, by volume AND payload. Pass ``estimate_id`` (or the dict) from moving_estimate_*, or bare volume_cuft / weight / box_fraction (not both an estimate and volume_cuft). Loads never fill a truck completely, so the required capacity is volume divided by a packing efficiency of 0.70-0.85 (more boxes pack tighter; override with ``efficiency``). ``size_range`` shows whether the answer holds across the estimate's error. Capacities are provider-published approximations. U-Haul does not publish payloads here: for those vehicles t…

  • room_check_doorway

    Can this item go through that door or open passage? Tests a rigid box through the clear opening, turning it any way it can go. ``dims`` as in room_check_fit but all three sizes are needed: "84 x 37 x 34 in", [84, 37, 34] with ``dims_unit``, or {"name": "sofa", "width": 84, "depth": 37, "height": 34, "unit": "in", "diagonal_depth": 31, "leg_height": 6}. Real sofas are not boxes: give ``diagonal_depth`` (top-back corner to bottom-front corner of the frame, the figure movers use) when known, and ``leg_height`` if the legs unscrew. ``opening_id`` is a door or open passage from room_list_openings;…

  • room_check_fit

    Will this item fit? Checks an item's footprint against a wall's free run or the whole room and returns a verdict with margin. ``dims`` is the item size, width x depth x height (width = longest front-facing side, depth = front to back): a string such as "84 x 37 x 34 in", "60x30 in" (height unknown), "2.1 x 0.95 x 0.9 m"; a list such as [84, 37, 34] with ``dims_unit`` (default inches, and the reply says so); or an object like {"name": "sofa", "width": 84, "depth": 37, "height": 34, "unit": "in"} ({"length", "width", "height"} is read as width = length, depth = width). ``item_name`` labels it. …

  • room_floor_plan_svg

    Draw the room as a floor plan SVG: walls with dimension lines, doors with swing arcs, windows, furniture, and optionally a proposed item. Pass ``placement`` (one entry of ``placements`` from room_check_fit, with an optional "verdict" key to color it) to draw the item; ``dims`` / ``item_name`` only supply its label. Dimensions are written in the requested ``units``. The SVG is ALWAYS saved into the server's output folder (MEASURE_MCP_OUTPUT_DIR, default ~/measure-mcp-output) as ``output_name`` (a plain file name; folders in it are dropped and ``.svg`` is enforced, default "floor_plan") and the…

  • room_list_objects

    List furniture and appliances found in the scan with category, size (width x depth x height), footprint, height off the floor and nearest wall. RoomPlan scans carry Apple categories (sofa, table, bed, storage, refrigerator, ...); raw point clouds give ``unknown``. Filter by ``category`` (case-insensitive). Long listings are capped (``detail="full"`` for all). ``load_options`` as in room_summary.

  • room_list_openings

    List doors, windows and open passages with width, height, sill and head height, wall, position and swing side. Filter by ``kind`` (door, window, opening, gap_unknown) or ``wall_id``, which takes a wall id or words: "longest wall", "wall with the door", "wall behind the sofa" (see room_check_fit). Door sizes from RoomPlan may be the leaf size rather than the clear opening, so measure a tight door with a tape. Only ``door``, ``opening`` and ``gap_unknown`` entries can be used with room_check_doorway. ``load_options`` as in room_summary.

  • room_list_walls

    List the walls with a plain-language ``label`` (id, length, what is on it), length, height, direction, free segments between doors/openings, and what stands along them. ``free_segments`` leave out door and opening spans (plus a 5 cm jamb margin); windows do not cut a wall because they only limit height. ``min_free_length_m`` hides walls whose longest free run is shorter (meters). Use this to find a wall for a bed, sofa or bookcase and to map "the wall behind the sofa" to an id. ``u0``/``u1`` are distances in meters along the wall from its start; ``inward_normal`` points into the room. Long li…

  • room_load_scan

    Read a room scan and report what was found (walls, doors, windows, objects, size, detected units and up axis). ``path`` is the scan file. Supported: RoomPlan CapturedRoom JSON (several encodings) and measure-room JSON; USD/USDZ (RoomPlan export or any labeled scene; needs ``pip install measure-mcp[usd]``); PLY and OBJ point clouds or meshes, whose floor, ceiling, walls, door/window gaps and furniture are recovered geometrically. Units (m, cm, mm, in, ft) and the up axis are detected from the geometry, never trusted from file metadata; pass ``scan_units`` / ``up_axis`` only to override. ``know…

  • room_summary

    Overall size of the room: footprint shape and vertices, floor area, ceiling height, volume, wall lengths, openings and objects. ``path`` is the scan file. Each measurement has a value, a +/- (about 95%), a confidence and a display string in the requested ``units``. The ``summary`` field is a sentence that can be quoted as is. Every wall has a ``label`` such as "wall_3: 4.20 m, has door_1 (door), with sofa obj_1". ``detail="full"`` adds measurement names and sources and lifts the list caps. ``load_options``: the object returned by room_load_scan, only if it was non-empty (nothing is remembered…

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
55
Last commit
Oct 16, 2026 (15 days ago)
Last release
Oct 16, 2026 (15 days ago)
Last package publish
Oct 16, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.purahmanian/measure-mcp
Version
0.1.0
Auth
No auth
Packages
pypi measure-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from purahmanian

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get measure-mcp running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying measure-mcp?

CallGet help
Cite this page

measure-mcp. Agent Mart. https://agentmart.dev/connectors/purahmanian-measure-mcp (last updated 2026-10-24)