Commonlands Optics: M12 Lens and C-Mount Lens Finder + Field-of-View Calculator
REMOTE · MCP.COMMONLANDS.COM · SCANNED SEP 20
M12 lens and C-mount lens finder with image-sensor matching and field-of-view calculator.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (update_cart). See how to fix → View diagnostics → Fail
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 4858 tokens (~142/item across 34 items; 21 tools + 13 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage89
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 61% of tool parameters carry a description.Partial
- Structured output schemas are declared (5% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Commonlands Optics: M12 Lens and C-Mount Lens Finder… MCP server?
Commonlands Optics: M12 Lens and C-Mount Lens Finder… is a hosted endpoint at https://mcp.commonlands.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.commonlands.com
claude mcp add --transport http com-commonlands-optics-mcp 'https://mcp.commonlands.com/mcp'
{
"mcpServers": {
"com-commonlands-optics-mcp": {
"url": "https://mcp.commonlands.com/mcp"
}
}
} {
"servers": {
"com-commonlands-optics-mcp": {
"type": "http",
"url": "https://mcp.commonlands.com/mcp"
}
}
} [mcp_servers.com-commonlands-optics-mcp] url = "https://mcp.commonlands.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-commonlands-optics-mcp": {
"type": "remote",
"url": "https://mcp.commonlands.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-commonlands-optics-mcp --url 'https://mcp.commonlands.com/mcp' --transport streamable-http
mcp_servers:
com-commonlands-optics-mcp:
url: "https://mcp.commonlands.com/mcp" {
"McpServers": {
"com-commonlands-optics-mcp": {
"Transport": "http",
"Url": "https://mcp.commonlands.com/mcp"
}
}
} assistant mcp add com-commonlands-optics-mcp -t streamable-http -u 'https://mcp.commonlands.com/mcp'
{
"mcpServers": {
"com-commonlands-optics-mcp": {
"type": "http",
"url": "https://mcp.commonlands.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 6 Sept 26 +1
- Stability: fail → pass ▲ security
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 92 to 95.
- 23 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 85 to 89.
- 20 Aug 26 0
- Tool “calculate_field_of_view” rewrote its description, which is the text the model reads security
- Tool “match_lens_to_sensor” rewrote its description, which is the text the model reads security
- Tool coverage: 53% → 61% ▲ functional
- Server version: 0.4.0 → 0.4.1 functional
- “calculate_field_of_view” added an optional parameter “heightPx” cosmetic
- “calculate_field_of_view” added an optional parameter “horizontalPixels” cosmetic
- “calculate_field_of_view” added an optional parameter “pixelPitchUm” cosmetic
- “calculate_field_of_view” added an optional parameter “pixelSizeUm” cosmetic
- “calculate_field_of_view” added an optional parameter “sensorHeightMm” cosmetic
- “calculate_field_of_view” added an optional parameter “sensorWidthMm” cosmetic
- “calculate_field_of_view” added an optional parameter “verticalPixels” cosmetic
- “calculate_field_of_view” added an optional parameter “widthPx” cosmetic
- “match_lens_to_sensor” added an optional parameter “heightPx” cosmetic
- “match_lens_to_sensor” added an optional parameter “horizontalPixels” cosmetic
- “match_lens_to_sensor” added an optional parameter “pixelPitchUm” cosmetic
- “match_lens_to_sensor” added an optional parameter “pixelSizeUm” cosmetic
- “match_lens_to_sensor” added an optional parameter “sensorHeightMm” cosmetic
- “match_lens_to_sensor” added an optional parameter “sensorWidthMm” cosmetic
- “match_lens_to_sensor” added an optional parameter “verticalPixels” cosmetic
- “match_lens_to_sensor” added an optional parameter “widthPx” cosmetic
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 7 Aug 26 0
- Stability: 0.37 → fail ▼ security
- Tool “create_cart” rewrote its description, which is the text the model reads security
- Tool “get_cart” rewrote its description, which is the text the model reads security
- Tool “submit_rfq” rewrote its description, which is the text the model reads security
- Tool “update_cart” rewrote its description, which is the text the model reads security
- “get_cart” added a required parameter “cart_access_token”, so existing callers break ▼ functional
- “update_cart” added a required parameter “cart_access_token”, so existing callers break ▼ functional
- Schema quality: good → poor functional
- Server version: 0.3.1 → 0.4.0 functional
- “submit_rfq” added an optional parameter “confirm” cosmetic
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://mcp.commonlands.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.commonlands.com | CN=YE2,O=Let's Encrypt,C=US | 2 Jul 2026 | 30 Sept 2026 | ECDSA 256 | ECDSA-SHA384 | 51e1f1d9ae7ebffadc7f616fbf95699d792 |
| SANs: mcp.commonlands.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.commonlands.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| commonlands.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.commonlands.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.commonlands.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
calculate_field_of_view Calculate Commonlands field of view ~676
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.
| Name | Type | Req | Description |
|---|---|---|---|
| focalLengthMm | number | – | Fallback rectilinear reference only when no Commonlands lens SKU is available. Camel-case alias for focal_length_mm. |
| focal_length_mm | number | – | Fallback rectilinear reference only when no Commonlands lens SKU is available. Snake-case alias for focalLengthMm. |
| heightPx | integer | – | Custom sensor: vertical pixel count (e.g. 3040). |
| horizontalPixels | integer | – | Alias for widthPx. |
| lensSku | string | – | Commonlands lens SKU, for example CIL250. Camel-case alias for lens_sku. |
| lens_sku | string | – | Commonlands lens SKU, for example CIL250. Snake-case alias for lensSku. |
| pixelPitchUm | number | – | Alias for pixelSizeUm. |
| pixelSizeUm | number | – | Custom sensor: pixel pitch in microns (e.g. 1.55). |
| sensor | – | – | Sensor part number or safe sensor object. Supports AR0234, IMX290/IMX477 when present in the live catalog, and fixture sensors listed in the enum. |
| sensorHeightMm | number | – | Custom sensor: active-area height in mm. |
| sensorPartNumber | – | – | Sensor part number. Camel-case alias for sensor. |
| sensorWidthMm | number | – | Custom sensor: active-area width in mm (alternative to pixels x pitch). |
| sensor_part_number | – | – | Sensor part number. Snake-case alias for sensorPartNumber. |
| verticalPixels | integer | – | Alias for heightPx. |
| widthPx | integer | – | Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm. |
| workingDistanceMm | number | – | Optional working distance in mm. Camel-case alias for working_distance_mm. |
| working_distance_mm | number | – | Optional working distance in mm. Snake-case alias for workingDistanceMm. |
| Name | Type | Req | Description |
|---|---|---|---|
| coverage_ok | boolean|null | yes | – |
| dfov_deg | number|null | yes | – |
| distortion_model | string | yes | – |
| hfov_deg | number|null | yes | – |
| image_circle_mm | number|null | yes | – |
| method | string | yes | – |
| rectilinear_comparison | object | yes | – |
| sensor_diagonal_mm | number | yes | – |
| vfov_deg | number|null | yes | – |
No examples provided.
compare_lenses Compare Commonlands lenses ~134
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.
| Name | Type | Req | Description |
|---|---|---|---|
| lensSkus | array | yes | – |
| sensorPartNumber | string | yes | Sensor part number, for example IMX477. |
| workingDistanceMm | number | – | – |
No output schema declared.
No examples provided.
create_cart Create Shopify cart ~115
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cart | object | yes | – |
| meta | object | – | Optional UCP metadata. ucp-agent.profile is filled from server config when omitted. |
No output schema declared.
No examples provided.
get_cart Get Shopify cart ~101
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cart_access_token | string | yes | Owner credential returned by create_cart for this cart id. |
| id | string | yes | Shopify Cart gid. |
| meta | object | – | – |
No output schema declared.
No examples provided.
get_catalog_snapshot_status Get joined catalog snapshot status ~36
Return fixture-backed joined catalog counts, validation status, source provenance, live connector readiness, and non-authoritative product-truth warning.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_lens_distortion_profile Get Commonlands lens distortion profile ~276
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.
| Name | Type | Req | Description |
|---|---|---|---|
| lensSku | string | – | Commonlands lens SKU, for example CIL250. Camel-case alias for lens_sku. |
| lens_sku | string | – | Commonlands lens SKU, for example CIL250. Snake-case alias for lensSku. |
| sku | string | – | Legacy SKU alias. |
No output schema declared.
No examples provided.
get_product Get UCP catalog product ~93
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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalog | object | yes | – |
| meta | object | – | – |
No output schema declared.
No examples provided.
get_product_page_details Get product page details ~127
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.
| Name | Type | Req | Description |
|---|---|---|---|
| sku | string | yes | Commonlands short part number, for example CIL250. |
No output schema declared.
No examples provided.
get_purchase_route_options Get purchase route options ~129
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agentType | string | – | – |
| buyerIntent | string | – | – |
| quantity | integer | – | – |
| sensorPartNumber | string | – | – |
| sku | string | yes | – |
No output schema declared.
No examples provided.
get_sensor_specs Get sensor specs ~126
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.
| Name | Type | Req | Description |
|---|---|---|---|
| partNumber | string | yes | Sensor part number, for example IMX477. |
No output schema declared.
No examples provided.
get_shopify_readonly_config_status Get Shopify read-only config status ~37
Report sanitized Cloudflare Shopify binding presence, approved read scopes, and read-only safety flags without exposing secrets or calling Shopify.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_shopify_ucp_readiness Get Shopify Storefront/UCP readiness ~36
Report connector-free Shopify Storefront MCP and UCP Catalog compatibility, launch blockers, and Commonlands engineering differentiators.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
lookup_catalog Lookup UCP catalog products ~99
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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalog | object | yes | – |
| meta | object | – | – |
No output schema declared.
No examples provided.
match_lens_to_sensor Match Commonlands lenses to a sensor ~587
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.
| Name | Type | Req | Description |
|---|---|---|---|
| desiredHorizontalFovDeg | number | – | – |
| desired_horizontal_fov_deg | number | – | – |
| heightPx | integer | – | Custom sensor: vertical pixel count (e.g. 3040). |
| horizontalPixels | integer | – | Alias for widthPx. |
| maxResults | integer | – | – |
| max_results | integer | – | – |
| mount | string | – | Optional mount filter, for example M12 or C-mount. |
| pixelPitchUm | number | – | Alias for pixelSizeUm. |
| pixelSizeUm | number | – | Custom sensor: pixel pitch in microns (e.g. 1.55). |
| sensor | – | – | 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. |
| sensorHeightMm | number | – | Custom sensor: active-area height in mm. |
| sensorPartNumber | – | – | Sensor part number. Alias for sensor. |
| sensorWidthMm | number | – | Custom sensor: active-area width in mm (alternative to pixels x pitch). |
| sensor_part_number | – | – | Sensor part number. Snake-case alias for sensorPartNumber. |
| verticalPixels | integer | – | Alias for heightPx. |
| widthPx | integer | – | Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm. |
| workingDistanceMm | number | – | – |
| working_distance_mm | number | – | – |
No output schema declared.
No examples provided.
prepare_shopify_purchase_handoff Prepare Shopify purchase handoff ~124
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.
| Name | Type | Req | Description |
|---|---|---|---|
| quantity | integer | – | – |
| selectedVariantId | string | – | – |
| sensorPartNumber | string | – | – |
| sku | string | yes | – |
No output schema declared.
No examples provided.
read_shopify_products Read Shopify products ~188
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.
| Name | Type | Req | Description |
|---|---|---|---|
| handle | string | – | Optional Shopify product handle. |
| includeMetafields | boolean | – | When true, include the allowlisted public product-page metafields (custom.* display specs). Non-public namespaces and keys are never returned. |
| limit | integer | – | – |
| query | string | – | Optional safe Shopify product/variant search text. |
| sku | string | – | Optional variant SKU, for example CIL250. |
No output schema declared.
No examples provided.
recommend_lenses_for_application Recommend lenses for an application ~182
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.
| Name | Type | Req | Description |
|---|---|---|---|
| application | string | – | – |
| desiredHorizontalFovDeg | number | – | – |
| maxResults | integer | – | – |
| mount | string | – | – |
| preferLowDistortion | boolean | – | – |
| requireInStock | boolean | – | – |
| sensorPartNumber | string | yes | Sensor part number, for example IMX477. |
| workingDistanceMm | number | – | – |
No output schema declared.
No examples provided.
search_catalog Search UCP catalog ~109
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.
| Name | Type | Req | Description |
|---|---|---|---|
| catalog | object | – | – |
| meta | object | – | Optional UCP agent metadata. |
No output schema declared.
No examples provided.
search_lens_catalog Search Commonlands lens catalog ~289
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | – | SKU, title, mount, lens type, application, sensor, or field-of-view search text. |
No output schema declared.
No examples provided.
submit_rfq Submit an RFQ or question to Commonlands ~297
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.
| Name | Type | Req | Description |
|---|---|---|---|
| application | string | – | Optional application note. |
| company | string | – | Optional company name. |
| confirm | boolean | – | 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. |
| string | yes | The buyer's reply-to email so Commonlands can respond. | |
| kind | string | – | Whether this is a quote request or a general question. Defaults to question. |
| message | string | yes | The buyer's question or RFQ details. |
| name | string | – | Optional buyer name. |
| partNumbers | – | – | Optional Commonlands SKUs of interest (string or array). |
| quantity | integer | – | Optional quantity for the quote. |
| sensor | string | – | Optional sensor part number for context. |
No output schema declared.
No examples provided.
update_cart Update Shopify cart ~145
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cart | object | yes | – |
| cart_access_token | string | yes | Owner credential returned by create_cart for this cart id. |
| id | string | yes | – |
| meta | object | – | – |
No output schema declared.
No examples provided.
What is the Commonlands Optics: M12 Lens and C-Mount Lens Finder… MCP server?
Commonlands Optics: M12 Lens and C-Mount Lens Finder… is an MCP server listed in the public MCP registry as com.commonlands/optics-mcp. M12 lens and C-mount lens finder with image-sensor matching and field-of-view calculator. This page covers its hosted endpoint (https://mcp.commonlands.com/mcp).
Is the Commonlands Optics: M12 Lens and C-Mount Lens Finder… MCP server safe to use?
Commonlands Optics: M12 Lens and C-Mount Lens Finder… scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Commonlands Optics: M12 Lens and C-Mount Lens Finder… MCP server expose?
Commonlands Optics: M12 Lens and C-Mount Lens Finder… exposes 21 tools: calculate_field_of_view, match_lens_to_sensor, search_lens_catalog, get_lens_distortion_profile, get_sensor_specs, and 16 more. Their descriptions and schemas cost roughly 3,906 tokens of context every time the server is loaded.
Does the Commonlands Optics: M12 Lens and C-Mount Lens Finder… MCP server require authentication?
No. We connected to Commonlands Optics: M12 Lens and C-Mount Lens Finder… without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Commonlands Optics: M12 Lens and C-Mount Lens Finder… MCP server still maintained?
Commonlands Optics: M12 Lens and C-Mount Lens Finder… is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.