_ registry / mcp streamable-http

commonlands-mcp

https://mcp.commonlands.com

Registry code: 9a51c70cc65767e7

api record

Commonlands MCP public endpoint is https://mcp.commonlands.com/mcp. Use this endpoint in client configuration, metadata, and agent-facing descriptions. Commonlands MCP helps agents select precision optics for machine vision, robotics, and embedded vision: M12 lenses, C-mount lenses, and lens field of view calculations. Usage flow: discover lenses with search_lens_catalog/search_catalog, inspect distortion with get_lens_distortion_profile, compute lens field of view with calculate_field_of_view, rank options with match_lens_to_sensor/compare_lenses/recommend_lenses_for_application, then use…

endpoint
https://mcp.commonlands.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing
karma
0 · newcomer
reachable
unknown
uptime
latency

last good check

priced tools
0

of 21 tools

_ used through this hub 30 days

The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.

accounts
0

distinct, expensive to fake

calls served
0

successful, last 30 days

_ what it can do 21 tools
21 never probed 0 of 21 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • calculate_field_of_view unknown never probed

    Calculate Commonlands lens field of view for a lens/sensor pair and return HFOV, VFOV, DFOV, coverage, distortion status, and an explicit rectilinear comparison. Use this tool for FOV, HFOV, VFOV, DFOV, field of view, "lens for", lens-to-sensor, AR0234, IMX290, IMX477, and sensor part-number requests. It returns Commonlands data the model cannot derive: live backend FoV when configured, distortion model/status, image-circle coverage, live stock through Shopify read tools where applicable, and MTF/CRA/BFL fields if present in upstream catalog data. Do not use naive rectilinear fallback, focal-length-only math, interpolation, or self-computed catalog estimates when a Commonlands lens/sensor route is available. Accepts lens_sku/lensSku or focal_length_mm/focalLengthMm, plus sensor/sensorPartNumber/sensor_part_number and working_distance_mm/workingDistanceMm. No part number? Describe the sensor directly: widthPx + heightPx + pixelSizeUm (active area is derived as pixels x pitch), or sensorWidthMm + sensorHeightMm. Results are labelled CUSTOM-<w>x<h>. If only focal length is supplied, the response is marked as a rectilinear reference and does not claim Commonlands distortion-corrected lens truth.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "lens_sku"
          ]
        },
        {
          "required": [
            "lensSku"
          ]
        },
        {
          "required": [
            "focal_length_mm"
          ]
        },
        {
          "required": [
            "focalLengthMm"
          ]
        }
      ],
      "properties": {
        "sensor": {
          "anyOf": [
            {
              "enum": [
                "IMX477",
                "IMX219",
                "AR0234"
              ],
              "type": "string",
              "description": "Known catalog sensor part number."
            },
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9-]{2,32}$",
              "description": "Safe sensor identifier accepted for live catalog lookup."
            },
            {
              "type": "object",
              "properties": {
                "partNumber": {
                  "type": "string"
                },
                "part_number": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          ],
          "description": "Sensor part number or safe sensor object. Supports AR0234, IMX290/IMX477 when present in the live catalog, and fixture sensors listed in the enum."
        },
        "lensSku": {
          "type": "string",
          "description": "Commonlands lens SKU, for example CIL250. Camel-case alias for lens_sku."
        },
        "widthPx": {
          "type": "integer",
          "minimum": 1,
          "description": "Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm."
        },
        "heightPx": {
          "type": "integer",
          "minimum": 1,
          "description": "Custom sensor: vertical pixel count (e.g. 3040)."
        },
        "lens_sku": {
          "type": "string",
          "description": "Commonlands lens SKU, for example CIL250. Snake-case alias for lensSku."
        },
        "pixelSizeUm": {
          "type": "number",
          "description": "Custom sensor: pixel pitch in microns (e.g. 1.55).",
          "exclusiveMinimum": 0
        },
        "pixelPitchUm": {
          "type": "number",
          "description": "Alias for pixelSizeUm.",
          "exclusiveMinimum": 0
        },
        "focalLengthMm": {
          "type": "number",
          "description": "Fallback rectilinear reference only when no Commonlands lens SKU is available. Camel-case alias for focal_length_mm.",
          "exclusiveMinimum": 0
        },
        "sensorWidthMm": {
          "type": "number",
          "description": "Custom sensor: active-area width in mm (alternative to pixels x pitch).",
          "exclusiveMinimum": 0
        },
        "sensorHeightMm": {
          "type": "number",
          "description": "Custom sensor: active-area height in mm.",
          "exclusiveMinimum": 0
        },
        "verticalPixels": {
          "type": "integer",
          "minimum": 1,
          "description": "Alias for heightPx."
        },
        "focal_length_mm": {
          "type": "number",
          "description": "Fallback rectilinear reference only when no Commonlands lens SKU is available. Snake-case alias for focalLengthMm.",
          "exclusiveMinimum": 0
        },
        "horizontalPixels": {
          "type": "integer",
          "minimum": 1,
          "description": "Alias for widthPx."
        },
        "sensorPartNumber": {
          "anyOf": [
            {
              "enum": [
                "IMX477",
                "IMX219",
                "AR0234"
              ],
              "type": "string"
            },
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9-]{2,32}$"
            }
          ],
          "description": "Sensor part number. Camel-case alias for sensor."
        },
        "workingDistanceMm": {
          "type": "number",
          "description": "Optional working distance in mm. Camel-case alias for working_distance_mm.",
          "exclusiveMinimum": 0
        },
        "sensor_part_number": {
          "anyOf": [
            {
              "enum": [
                "IMX477",
                "IMX219",
                "AR0234"
              ],
              "type": "string"
            },
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9-]{2,32}$"
            }
          ],
          "description": "Sensor part number. Snake-case alias for sensorPartNumber."
        },
        "working_distance_mm": {
          "type": "number",
          "description": "Optional working distance in mm. Snake-case alias for workingDistanceMm.",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 161 lines
  • match_lens_to_sensor unknown never probed

    Find and rank Commonlands lenses for a sensor, target field of view, working distance, mount, or "lens for" request. Use this tool for FOV, HFOV, VFOV, DFOV, field of view, "lens for", lens-to-sensor, AR0234, IMX290, IMX477, and sensor part-number requests. It returns Commonlands data the model cannot derive: live backend FoV when configured, distortion model/status, image-circle coverage, live stock through Shopify read tools where applicable, and MTF/CRA/BFL fields if present in upstream catalog data. Do not use naive rectilinear fallback, focal-length-only math, interpolation, or self-computed catalog estimates when a Commonlands lens/sensor route is available. Use this for AR0234, IMX290, IMX477, sensor part numbers, M12/C-mount matching, and target HFOV/VFOV/DFOV workflows; do not shortlist from focal length alone. No part number? Describe the sensor directly: widthPx + heightPx + pixelSizeUm (active area is derived as pixels x pitch), or sensorWidthMm + sensorHeightMm. Results are labelled CUSTOM-<w>x<h>. Use read_shopify_products afterward for live stock, price, availability, Shopify variantId, product URL, and metafields.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "sensor"
          ]
        },
        {
          "required": [
            "sensorPartNumber"
          ]
        },
        {
          "required": [
            "sensor_part_number"
          ]
        },
        {
          "required": [
            "widthPx",
            "heightPx",
            "pixelSizeUm"
          ]
        },
        {
          "required": [
            "horizontalPixels",
            "verticalPixels",
            "pixelSizeUm"
          ]
        },
        {
          "required": [
            "widthPx",
            "heightPx",
            "pixelPitchUm"
          ]
        },
        {
          "required": [
            "sensorWidthMm",
            "sensorHeightMm"
          ]
        }
      ],
      "properties": {
        "mount": {
          "type": "string",
          "description": "Optional mount filter, for example M12 or C-mount."
        },
        "sensor": {
          "anyOf": [
            {
              "enum": [
                "IMX477",
                "IMX219",
                "AR0234"
              ],
              "type": "string",
              "description": "Known catalog sensor part number."
            },
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9-]{2,32}$",
              "description": "Safe sensor identifier accepted for live catalog lookup."
            }
          ],
          "description": "Sensor part number, for example AR0234, IMX290, or IMX477. Any sensor in the live catalog is accepted; the enum lists only the fixture fallback set."
        },
        "widthPx": {
          "type": "integer",
          "minimum": 1,
          "description": "Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm."
        },
        "heightPx": {
          "type": "integer",
          "minimum": 1,
          "description": "Custom sensor: vertical pixel count (e.g. 3040)."
        },
        "maxResults": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        },
        "max_results": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        },
        "pixelSizeUm": {
          "type": "number",
          "description": "Custom sensor: pixel pitch in microns (e.g. 1.55).",
          "exclusiveMinimum": 0
        },
        "pixelPitchUm": {
          "type": "number",
          "description": "Alias for pixelSizeUm.",
          "exclusiveMinimum": 0
        },
        "sensorWidthMm": {
          "type": "number",
          "description": "Custom sensor: active-area width in mm (alternative to pixels x pitch).",
          "exclusiveMinimum": 0
        },
        "sensorHeightMm": {
          "type": "number",
          "description": "Custom sensor: active-area height in mm.",
          "exclusiveMinimum": 0
        },
        "verticalPixels": {
          "type": "integer",
          "minimum": 1,
          "description": "Alias for heightPx."
        },
        "horizontalPixels": {
          "type": "integer",
          "minimum": 1,
          "description": "Alias for widthPx."
        },
        "sensorPartNumber": {
          "anyOf": [
            {
              "enum": [
                "IMX477",
                "IMX219",
                "AR0234"
              ],
              "type": "string"
            },
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9-]{2,32}$"
            }
          ],
          "description": "Sensor part number. Alias for sensor."
        },
        "workingDistanceMm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "sensor_part_number": {
          "anyOf": [
            {
              "enum": [
                "IMX477",
                "IMX219",
                "AR0234"
              ],
              "type": "string"
            },
            {
              "type": "string",
              "pattern": "^[A-Za-z0-9-]{2,32}$"
            }
          ],
          "description": "Sensor part number. Snake-case alias for sensorPartNumber."
        },
        "working_distance_mm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "desiredHorizontalFovDeg": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "desired_horizontal_fov_deg": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 175 lines
  • search_lens_catalog unknown never probed

    Search the Commonlands lens catalog by SKU, mount, lens type, M12, C-mount, or application text. For sensor part numbers such as AR0234, IMX290, and IMX477, or any "lens for <sensor>" request, use match_lens_to_sensor instead — sensor names are not searchable text here. Use this tool for FOV, HFOV, VFOV, DFOV, field of view, "lens for", lens-to-sensor, AR0234, IMX290, IMX477, and sensor part-number requests. It returns Commonlands data the model cannot derive: live backend FoV when configured, distortion model/status, image-circle coverage, live stock through Shopify read tools where applicable, and MTF/CRA/BFL fields if present in upstream catalog data. Do not use naive rectilinear fallback, focal-length-only math, interpolation, or self-computed catalog estimates when a Commonlands lens/sensor route is available. This discovers candidate lenses from Commonlands catalog/live backend data; it does not replace calculate_field_of_view for sensor-specific HFOV/VFOV/DFOV and does not replace read_shopify_products for live stock/price/product truth.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "description": "SKU, title, mount, lens type, application, sensor, or field-of-view search text."
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • get_lens_distortion_profile unknown never probed

    Return the Commonlands distortion model/status for one lens SKU, including whether the data is source-display-only or backend-calculated. Use this tool for FOV, HFOV, VFOV, DFOV, field of view, "lens for", lens-to-sensor, AR0234, IMX290, IMX477, and sensor part-number requests. It returns Commonlands data the model cannot derive: live backend FoV when configured, distortion model/status, image-circle coverage, live stock through Shopify read tools where applicable, and MTF/CRA/BFL fields if present in upstream catalog data. Do not use naive rectilinear fallback, focal-length-only math, interpolation, or self-computed catalog estimates when a Commonlands lens/sensor route is available. Use this for distortion, rectilinear-vs-wide-angle, MTF/CRA/BFL/optical-profile questions when upstream fields are present. Do not invent polynomial coefficients or claim measured distortion correction when the backend only returns display distortion.

    mcp-tool

    {
      "type": "object",
      "anyOf": [
        {
          "required": [
            "lens_sku"
          ]
        },
        {
          "required": [
            "lensSku"
          ]
        },
        {
          "required": [
            "sku"
          ]
        }
      ],
      "properties": {
        "sku": {
          "type": "string",
          "description": "Legacy SKU alias."
        },
        "lensSku": {
          "type": "string",
          "description": "Commonlands lens SKU, for example CIL250. Camel-case alias for lens_sku."
        },
        "lens_sku": {
          "type": "string",
          "description": "Commonlands lens SKU, for example CIL250. Snake-case alias for lensSku."
        }
      },
      "additionalProperties": false
    }
    arguments 35 lines
  • get_sensor_specs unknown never probed

    Return sensor dimensions, pixel pitch, and resolution for lens field of view, M12 lens, and C-mount lens matching inputs. In production this uses the read-only live sensor table when configured, with fixture fallback when unavailable. Use these specs as inputs to calculate_field_of_view or match_lens_to_sensor, not as a reason to hand-calculate FoV. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "required": [
        "partNumber"
      ],
      "properties": {
        "partNumber": {
          "type": "string",
          "description": "Sensor part number, for example IMX477."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • compare_lenses unknown never probed

    Compare selected Commonlands M12 lens and C-mount lens SKUs on the same sensor with the same deterministic scoring model. Use as explanatory context, then call calculate_field_of_view for final sensor-specific FoV values when precision matters. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor. Not live product truth; verify purchasable facts with read_shopify_products.

    mcp-tool

    {
      "type": "object",
      "required": [
        "lensSkus",
        "sensorPartNumber"
      ],
      "properties": {
        "lensSkus": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1
        },
        "sensorPartNumber": {
          "type": "string",
          "description": "Sensor part number, for example IMX477."
        },
        "workingDistanceMm": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 26 lines
  • get_product_page_details unknown never probed

    Return fixture-backed product-page handoff details for one lens, including DynamoDB-sourced optical specs and gated datasheet policy. Product-page/catalog optical fields are not a substitute for sensor-specific FoV; call calculate_field_of_view for the lens/sensor pair. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor. Use read_shopify_products for live product URL, price, availability, variant IDs, and metafields.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sku"
      ],
      "properties": {
        "sku": {
          "type": "string",
          "description": "Commonlands short part number, for example CIL250."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • get_catalog_snapshot_status unknown never probed

    Return fixture-backed joined catalog counts, validation status, source provenance, live connector readiness, and non-authoritative product-truth warning.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • get_shopify_ucp_readiness unknown never probed

    Report connector-free Shopify Storefront MCP and UCP Catalog compatibility, launch blockers, and Commonlands engineering differentiators.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • get_shopify_readonly_config_status unknown never probed

    Report sanitized Cloudflare Shopify binding presence, approved read scopes, and read-only safety flags without exposing secrets or calling Shopify.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • read_shopify_products unknown never probed

    Use this for live purchasable product truth: product and variant IDs, SKUs, prices, coarse availability, product URLs, and public product-page metafields. Public data only: active products, no exact inventory counts, and metafields limited to the custom.* display fields shown on commonlands.com product pages. Read-only; does not create carts, checkouts, orders, customers, inventory mutations, or Shopify writes. Fixture catalog tools are scaffold data only.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "sku": {
          "type": "string",
          "description": "Optional variant SKU, for example CIL250."
        },
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 25,
          "minimum": 1
        },
        "query": {
          "type": "string",
          "description": "Optional safe Shopify product/variant search text."
        },
        "handle": {
          "type": "string",
          "description": "Optional Shopify product handle."
        },
        "includeMetafields": {
          "type": "boolean",
          "default": false,
          "description": "When true, include the allowlisted public product-page metafields (custom.* display specs). Non-public namespaces and keys are never returned."
        }
      },
      "additionalProperties": false
    }
    arguments 29 lines
  • create_cart unknown never probed

    Create a Shopify-owned cart for selected variant line items through the configured Shopify Cart/Storefront MCP endpoint. Commonlands MCP is a stateless proxy: cart state is stored and mutated by Shopify, not in the Worker. The response includes a cart_access_token that binds the cart to this session; retain it, because get_cart and update_cart refuse to act on the cart without it.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cart"
      ],
      "properties": {
        "cart": {
          "type": "object",
          "required": [
            "line_items"
          ],
          "properties": {
            "context": {
              "type": "object"
            },
            "signals": {
              "type": "object"
            },
            "line_items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "quantity",
                  "item"
                ],
                "properties": {
                  "item": {
                    "type": "object",
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "quantity": {
                    "type": "integer",
                    "maximum": 999,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 25,
              "minItems": 1
            }
          },
          "additionalProperties": false
        },
        "meta": {
          "type": "object",
          "description": "Optional UCP metadata. ucp-agent.profile is filled from server config when omitted."
        }
      },
      "additionalProperties": false
    }
    arguments 60 lines
  • get_cart unknown never probed

    Retrieve a Shopify-owned cart by cart id. Owner-bound: requires the cart_access_token returned by create_cart, so only the session that created a cart can read it. Cart persistence comes from Shopify; agents must retain the cart id, cart_access_token, and continue_url across sessions.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id",
        "cart_access_token"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Shopify Cart gid."
        },
        "meta": {
          "type": "object"
        },
        "cart_access_token": {
          "type": "string",
          "description": "Owner credential returned by create_cart for this cart id."
        }
      },
      "additionalProperties": false
    }
    arguments 21 lines
  • update_cart unknown never probed

    Update a Shopify-owned cart through the configured Cart/Storefront MCP endpoint. Owner-bound: requires the cart_access_token returned by create_cart, so only the session that created a cart can change it. With UCP endpoints, treat updates as full-state PUT semantics; with the confirmed standard Storefront MCP endpoint, Commonlands maps line_items to Shopify add_items, update_items to quantity changes, and remove_line_ids to explicit removals. Quantity 0 in update_items removes a line.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id",
        "cart",
        "cart_access_token"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "cart": {
          "type": "object",
          "properties": {
            "context": {
              "type": "object"
            },
            "signals": {
              "type": "object"
            },
            "line_items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "quantity",
                  "item"
                ],
                "properties": {
                  "item": {
                    "type": "object",
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "quantity": {
                    "type": "integer",
                    "maximum": 999,
                    "minimum": 1
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 25,
              "minItems": 1,
              "description": "Variant items to add to the cart."
            },
            "update_items": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "quantity"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Shopify CartLine gid."
                  },
                  "quantity": {
                    "type": "integer",
                    "maximum": 999,
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 25,
              "minItems": 1,
              "description": "Existing Shopify cart line IDs with desired quantities; quantity 0 removes the line."
            },
            "remove_line_ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 25,
              "minItems": 1,
              "description": "Existing Shopify CartLine gids to remove explicitly."
            }
          },
          "additionalProperties": false
        },
        "meta": {
          "type": "object"
        },
        "cart_access_token": {
          "type": "string",
          "description": "Owner credential returned by create_cart for this cart id."
        }
      },
      "additionalProperties": false
    }
    arguments 100 lines
  • search_catalog unknown never probed

    Fixture-backed UCP Catalog search alias for Shopify-native product discovery; no live Shopify calls or cart behavior. Use this only for broad discovery; when a sensor or target FoV is involved, call match_lens_to_sensor or calculate_field_of_view instead of estimating from catalog fields. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "meta": {
          "type": "object",
          "description": "Optional UCP agent metadata."
        },
        "catalog": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "default": 10,
              "maximum": 25,
              "minimum": 1
            },
            "query": {
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
  • lookup_catalog unknown never probed

    Fixture-backed UCP Catalog lookup alias for product, variant, SKU, handle, or URL identifiers; returns not-found messages instead of writes. Lookup records are not enough for sensor-specific FoV; call calculate_field_of_view for known lens/sensor pairs. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "required": [
        "catalog"
      ],
      "properties": {
        "meta": {
          "type": "object"
        },
        "catalog": {
          "type": "object",
          "required": [
            "ids"
          ],
          "properties": {
            "ids": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 10,
              "minItems": 1
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": false
    }
    arguments 29 lines
  • get_product unknown never probed

    Fixture-backed UCP Catalog product detail alias with Commonlands optical metadata and Shopify-native handoff fields. Product optical fields are not a substitute for sensor-specific FoV; call calculate_field_of_view for the lens/sensor pair. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "required": [
        "catalog"
      ],
      "properties": {
        "meta": {
          "type": "object"
        },
        "catalog": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • prepare_shopify_purchase_handoff unknown never probed

    Build a read-only Shopify-native purchase handoff seam for a selected lens without creating carts, checkout, orders, inventory mutations, or writes. Preserve any computed FoV provenance from calculate_field_of_view/match_lens_to_sensor when carrying optical context into purchase handoff. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sku"
      ],
      "properties": {
        "sku": {
          "type": "string"
        },
        "quantity": {
          "type": "integer",
          "default": 1,
          "maximum": 999,
          "minimum": 1
        },
        "sensorPartNumber": {
          "type": "string"
        },
        "selectedVariantId": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • get_purchase_route_options unknown never probed

    Return safe dual-channel purchase route options for AI agents and robotics engineers across Commonlands MCP and Shopify-native channels without mutating commerce state. This explains commerce routes only; call calculate_field_of_view/match_lens_to_sensor for sensor-specific FoV before recommending a lens. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sku"
      ],
      "properties": {
        "sku": {
          "type": "string"
        },
        "quantity": {
          "type": "integer",
          "default": 1,
          "maximum": 999,
          "minimum": 1
        },
        "agentType": {
          "type": "string"
        },
        "buyerIntent": {
          "type": "string"
        },
        "sensorPartNumber": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 27 lines
  • recommend_lenses_for_application unknown never probed

    Rank Commonlands M12 lenses and C-mount lenses for an application note such as embedded robotics, machine-vision inspection, or a required lens field of view. Use as an application shortlist helper, then call match_lens_to_sensor or calculate_field_of_view for final per-sensor HFOV/VFOV/DFOV. FoV rule: never estimate sensor-specific FoV from catalog fields; use calculate_field_of_view or match_lens_to_sensor.

    mcp-tool

    {
      "type": "object",
      "required": [
        "sensorPartNumber"
      ],
      "properties": {
        "mount": {
          "type": "string"
        },
        "maxResults": {
          "type": "integer",
          "default": 5,
          "maximum": 10,
          "minimum": 1
        },
        "application": {
          "type": "string"
        },
        "requireInStock": {
          "type": "boolean",
          "default": false
        },
        "sensorPartNumber": {
          "type": "string",
          "description": "Sensor part number, for example IMX477."
        },
        "workingDistanceMm": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "preferLowDistortion": {
          "type": "boolean",
          "default": false
        },
        "desiredHorizontalFovDeg": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 41 lines
  • submit_rfq unknown never probed

    Forward a buyer request-for-quote or engineering question to the Commonlands engineering team. Two-step, buyer-confirmed: the first call returns a preview and sends nothing; show the buyer the preview (including their reply-to email) and, only after they explicitly approve, call again with confirm: true to send. The recipient is fixed to the Commonlands inbox (the agent cannot choose it); this only sends an inquiry and never creates an order, charges a card, or writes Shopify/customer data. Include part numbers, sensor, quantity, and application when known so the team can reply with a quote. Commonlands replies by email.

    mcp-tool

    {
      "type": "object",
      "required": [
        "message",
        "email"
      ],
      "properties": {
        "kind": {
          "enum": [
            "rfq",
            "question"
          ],
          "type": "string",
          "description": "Whether this is a quote request or a general question. Defaults to question."
        },
        "name": {
          "type": "string",
          "description": "Optional buyer name."
        },
        "email": {
          "type": "string",
          "description": "The buyer's reply-to email so Commonlands can respond."
        },
        "sensor": {
          "type": "string",
          "description": "Optional sensor part number for context."
        },
        "company": {
          "type": "string",
          "description": "Optional company name."
        },
        "confirm": {
          "type": "boolean",
          "default": false,
          "description": "Explicit buyer approval. Omit or false to get a no-send preview; set true only after the buyer has seen the preview and approved sending."
        },
        "message": {
          "type": "string",
          "maxLength": 4000,
          "description": "The buyer's question or RFQ details."
        },
        "quantity": {
          "type": "integer",
          "minimum": 1,
          "description": "Optional quantity for the quote."
        },
        "application": {
          "type": "string",
          "description": "Optional application note."
        },
        "partNumbers": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 25
            }
          ],
          "description": "Optional Commonlands SKUs of interest (string or array)."
        }
      },
      "additionalProperties": false
    }
    arguments 68 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/9a51c70cc65767e7/badge.svg)](https://brick.blue/agent/9a51c70cc65767e7)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Own the domain? Prove it and the listing carries a verified badge here too: passport.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
median latency
work
attempts
0
accepted
0
rejected
0
acceptance rate
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
reviews
paid reviews
0
positive
0
negative
0
score

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.