Skip to main content
Glama

Commonlands Optics: M12 Lens and C-Mount Lens Finder + Field-of-View Calculator

Server Details

M12 lens and C-mount lens finder with image-sensor matching and field-of-view calculator.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
88.9% over 50 days
Last Tested
Transport
Streamable HTTP
URL
Repository
CommonlandsAbbe/commonlands-mcp
GitHub Stars
0
Server Listing
commonlands-mcp

TDQS

A3.9/5.0

Scored across 21 tools

Disambiguation2/5

Several tools are hard to tell apart: search_catalog, search_lens_catalog, lookup_catalog, get_product, and get_product_page_details all cover catalog lookup, while calculate_field_of_view, match_lens_to_sensor, get_lens_distortion_profile, and search_lens_catalog repeat the same FOV trigger phrases. The cart and Shopify tools are clearly distinct, but the overlapping catalog/FOV tools create real misselection risk.

Naming Consistency5/5

All 21 tool names follow a consistent snake_case verb_noun pattern (calculate_, get_, search_, create_, update_, read_, etc.). There are no mixed casing styles or vague generic verbs, and the naming conventions remain predictable across optics, catalog, and commerce functions.

Tool Count3/5

21 tools is at the heavy end for a lens-finder server, especially when several are status/readiness helpers (get_catalog_snapshot_status, get_shopify_readonly_config_status, get_shopify_ucp_readiness) and several catalog aliases overlap. The count is not wildly excessive, but the surface feels somewhat over-built for the core domain.

Completeness5/5

The tool set covers the full workflow: catalog discovery, sensor specs, FOV calculation, lens matching, comparison, distortion profiles, live Shopify product reads, cart creation/updating, purchase handoff, and RFQ submission. There are no obvious dead ends or missing lifecycle operations for the stated purpose.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedcalculate_field_of_view8 fields changed
      • addedInput schema / properties / heightPx
        Added value: +{
        +  "description": "Custom sensor: vertical pixel count (e.g. 3040).",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / horizontalPixels
        Added value: +{
        +  "description": "Alias for widthPx.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / pixelPitchUm
        Added value: +{
        +  "description": "Alias for pixelSizeUm.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / pixelSizeUm
        Added value: +{
        +  "description": "Custom sensor: pixel pitch in microns (e.g. 1.55).",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / sensorHeightMm
        Added value: +{
        +  "description": "Custom sensor: active-area height in mm.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / sensorWidthMm
        Added value: +{
        +  "description": "Custom sensor: active-area width in mm (alternative to pixels x pitch).",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / verticalPixels
        Added value: +{
        +  "description": "Alias for heightPx.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / widthPx
        Added value: +{
        +  "description": "Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedmatch_lens_to_sensor9 fields changed
      • changedInput schema / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "sensor"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "sensorPartNumber"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "sensor_part_number"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "required": [
        +      "sensor"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "sensorPartNumber"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "sensor_part_number"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "widthPx",
        +      "heightPx",
        +      "pixelSizeUm"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "horizontalPixels",
        +      "verticalPixels",
        +      "pixelSizeUm"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "widthPx",
        +      "heightPx",
        +      "pixelPitchUm"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "sensorWidthMm",
        +      "sensorHeightMm"
        +    ]
        +  }
        +]
      • addedInput schema / properties / heightPx
        Added value: +{
        +  "description": "Custom sensor: vertical pixel count (e.g. 3040).",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / horizontalPixels
        Added value: +{
        +  "description": "Alias for widthPx.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / pixelPitchUm
        Added value: +{
        +  "description": "Alias for pixelSizeUm.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / pixelSizeUm
        Added value: +{
        +  "description": "Custom sensor: pixel pitch in microns (e.g. 1.55).",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / sensorHeightMm
        Added value: +{
        +  "description": "Custom sensor: active-area height in mm.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / sensorWidthMm
        Added value: +{
        +  "description": "Custom sensor: active-area width in mm (alternative to pixels x pitch).",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / verticalPixels
        Added value: +{
        +  "description": "Alias for heightPx.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / widthPx
        Added value: +{
        +  "description": "Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
  2. 3 tool updates
    • Changedget_cart2 fields changed
      • addedInput schema / properties / cart_access_token
        Added value: +{
        +  "description": "Owner credential returned by create_cart for this cart id.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "id",
        +  "cart_access_token"
        +]
    • Changedsubmit_rfq1 field changed
      • addedInput schema / properties / confirm
        Added value: +{
        +  "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.",
        +  "type": "boolean"
        +}
    • Changedupdate_cart2 fields changed
      • addedInput schema / properties / cart_access_token
        Added value: +{
        +  "description": "Owner credential returned by create_cart for this cart id.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "cart"
        -]New value: +[
        +  "id",
        +  "cart",
        +  "cart_access_token"
        +]
  3. 1 tool update
    • Addedsubmit_rfq
  4. 2 tool updates
    • Removedread_shopify_metaobjects
    • Changedread_shopify_products2 fields changed
      • changedInput schema / properties / includeMetafields / default
        Previous value: -trueNew value: +false
      • addedInput schema / properties / includeMetafields / description
        Added value: +"When true, include the allowlisted public product-page metafields (custom.* display specs). Non-public namespaces and keys are never returned."
  5. 1 tool update
    • Changedmatch_lens_to_sensor4 fields changed
      • addedInput schema / properties / sensor / anyOf
        Added value: +[
        +  {
        +    "description": "Known catalog sensor part number.",
        +    "enum": [
        +      "IMX477",
        +      "IMX219",
        +      "AR0234"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "description": "Safe sensor identifier accepted for live catalog lookup.",
        +    "pattern": "^[A-Za-z0-9-]{2,32}$",
        +    "type": "string"
        +  }
        +]
      • changedInput schema / properties / sensor / description
        Previous value: -"Sensor part number, for example AR0234 or IMX477."New value: +"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."
      • removedInput schema / properties / sensor / enum
        Removed value: -[
        -  "IMX477",
        -  "IMX219",
        -  "AR0234"
        -]
      • removedInput schema / properties / sensor / type
        Removed value: -"string"
  6. 9 tool updates
    • Addedcalculate_field_of_view
    • Removedcompute_fov
    • Removedcompute_fov_catalog
    • Removedget_lens_details
    • Addedget_lens_distortion_profile
    • Addedmatch_lens_to_sensor
    • Removedmatch_lenses_to_sensor
    • Addedsearch_lens_catalog
    • Removedsearch_lenses
  7. 22 tool updates
    • First observedcompare_lenses
    • First observedcompute_fov
    • First observedcompute_fov_catalog
    • First observedcreate_cart
    • First observedget_cart
    • First observedget_catalog_snapshot_status
    • First observedget_lens_details
    • First observedget_product
    • First observedget_product_page_details
    • First observedget_purchase_route_options
    • First observedget_sensor_specs
    • First observedget_shopify_readonly_config_status
    • First observedget_shopify_ucp_readiness
    • First observedlookup_catalog
    • First observedmatch_lenses_to_sensor
    • First observedprepare_shopify_purchase_handoff
    • First observedread_shopify_metaobjects
    • First observedread_shopify_products
    • First observedrecommend_lenses_for_application
    • First observedsearch_catalog
    • First observedsearch_lenses
    • First observedupdate_cart

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to perceive and quantitatively verify physical hardware through USB webcams and RTSP/HTTP network streams, returning inline image content plus numerical metrics such as brightness, contrast, edge density, motion, SSIM baseline comparisons, and OCR text. Agents can watch feeds for visual conditions, correlate buffered frames with serial/log/MQTT events, and apply privacy masks and access controls.
    17
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables machine vibration analysis from ordinary handheld video, with MCP tools for subpixel displacement measurement, measurement quality assessment, and requesting better clips.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.