accueil / serveurs / Recherche & Web / com.commonlands/optics-mcp
com.commonlands/optics-mcp
serveur MCP (Model Context Protocol) · commonlands-mcp 0.4.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.commonlands/optics-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.commonlands/optics-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 21 outils
- calculate_field_of_view≈ 1346 tokens
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.
Paramètres, retour & exemple (17)
Paramètressensor· ? · optionnel
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· string · optionnel
Commonlands lens SKU, for example CIL250. Camel-case alias for lens_sku.widthPx· integer · optionnel
Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm.heightPx· integer · optionnel
Custom sensor: vertical pixel count (e.g. 3040).lens_sku· string · optionnel
Commonlands lens SKU, for example CIL250. Snake-case alias for lensSku.pixelSizeUm· number · optionnel
Custom sensor: pixel pitch in microns (e.g. 1.55).pixelPitchUm· number · optionnel
Alias for pixelSizeUm.focalLengthMm· number · optionnel
Fallback rectilinear reference only when no Commonlands lens SKU is available. Camel-case alias for focal_length_mm.sensorWidthMm· number · optionnel
Custom sensor: active-area width in mm (alternative to pixels x pitch).sensorHeightMm· number · optionnel
Custom sensor: active-area height in mm.verticalPixels· integer · optionnel
Alias for heightPx.focal_length_mm· number · optionnel
Fallback rectilinear reference only when no Commonlands lens SKU is available. Snake-case alias for focalLengthMm.horizontalPixels· integer · optionnel
Alias for widthPx.sensorPartNumber· ? · optionnel
Sensor part number. Camel-case alias for sensor.workingDistanceMm· number · optionnel
Optional working distance in mm. Camel-case alias for working_distance_mm.sensor_part_number· ? · optionnel
Sensor part number. Snake-case alias for sensorPartNumber.working_distance_mm· number · optionnel
Optional working distance in mm. Snake-case alias for workingDistanceMm.
Exemple d'appel{"name": "calculate_field_of_view", "arguments": {"sensor": "texte", "lensSku": "texte", "widthPx": 1, "heightPx": 1, "lens_sku": "texte", "pixelSizeUm": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"method": "texte", "dfov_deg": 1, "hfov_deg": 1, "vfov_deg": 1, "coverage_ok": true, "image_circle_mm": 1, "distortion_model": "texte", "sensor_diagonal_mm": 1, "rectilinear_comparison": {}}} - compare_lenses≈ 264 tokens
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.
Paramètres, retour & exemple (3)
ParamètreslensSkus· array · requissensorPartNumber· string · requis
Sensor part number, for example IMX477.workingDistanceMm· number · optionnel
Exemple d'appel{"name": "compare_lenses", "arguments": {"lensSkus": [], "sensorPartNumber": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_cart≈ 340 tokens
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.
Paramètres, retour & exemple (2)
Paramètrescart· object · requismeta· object · optionnel
Optional UCP metadata. ucp-agent.profile is filled from server config when omitted.
Exemple d'appel{"name": "create_cart", "arguments": {"cart": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_cart≈ 206 tokens
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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Shopify Cart gid.meta· object · optionnelcart_access_token· string · requis
Owner credential returned by create_cart for this cart id.
Exemple d'appel{"name": "get_cart", "arguments": {"id": "texte", "cart_access_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_catalog_snapshot_status≈ 126 tokens
Return fixture-backed joined catalog counts, validation status, source provenance, live connector readiness, and non-authoritative product-truth warning.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_catalog_snapshot_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_lens_distortion_profile≈ 425 tokens
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.
Paramètres, retour & exemple (3)
Paramètressku· string · optionnel
Legacy SKU alias.lensSku· string · optionnel
Commonlands lens SKU, for example CIL250. Camel-case alias for lens_sku.lens_sku· string · optionnel
Commonlands lens SKU, for example CIL250. Snake-case alias for lensSku.
Exemple d'appel{"name": "get_lens_distortion_profile", "arguments": {"sku": "texte", "lensSku": "texte", "lens_sku": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_product≈ 211 tokens
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.
Paramètres, retour & exemple (2)
Paramètresmeta· object · optionnelcatalog· object · requis
Exemple d'appel{"name": "get_product", "arguments": {"catalog": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_product_page_details≈ 232 tokens
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.
Paramètres, retour & exemple (1)
Paramètressku· string · requis
Commonlands short part number, for example CIL250.
Exemple d'appel{"name": "get_product_page_details", "arguments": {"sku": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_purchase_route_options≈ 247 tokens
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.
Paramètres, retour & exemple (5)
Paramètressku· string · requisquantity· integer · optionnelagentType· string · optionnelbuyerIntent· string · optionnelsensorPartNumber· string · optionnel
Exemple d'appel{"name": "get_purchase_route_options", "arguments": {"sku": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_sensor_specs≈ 222 tokens
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.
Paramètres, retour & exemple (1)
ParamètrespartNumber· string · requis
Sensor part number, for example IMX477.
Exemple d'appel{"name": "get_sensor_specs", "arguments": {"partNumber": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_shopify_readonly_config_status≈ 126 tokens
Report sanitized Cloudflare Shopify binding presence, approved read scopes, and read-only safety flags without exposing secrets or calling Shopify.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_shopify_readonly_config_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_shopify_ucp_readiness≈ 122 tokens
Report connector-free Shopify Storefront MCP and UCP Catalog compatibility, launch blockers, and Commonlands engineering differentiators.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_shopify_ucp_readiness", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - lookup_catalog≈ 232 tokens
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.
Paramètres, retour & exemple (2)
Paramètresmeta· object · optionnelcatalog· object · requis
Exemple d'appel{"name": "lookup_catalog", "arguments": {"catalog": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - match_lens_to_sensor≈ 1042 tokens
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.
Paramètres, retour & exemple (18)
Paramètresmount· string · optionnel
Optional mount filter, for example M12 or C-mount.sensor· ? · optionnel
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· integer · optionnel
Custom sensor: horizontal pixel count (e.g. 4056). Use with heightPx and pixelSizeUm.heightPx· integer · optionnel
Custom sensor: vertical pixel count (e.g. 3040).maxResults· integer · optionnelmax_results· integer · optionnelpixelSizeUm· number · optionnel
Custom sensor: pixel pitch in microns (e.g. 1.55).pixelPitchUm· number · optionnel
Alias for pixelSizeUm.sensorWidthMm· number · optionnel
Custom sensor: active-area width in mm (alternative to pixels x pitch).sensorHeightMm· number · optionnel
Custom sensor: active-area height in mm.verticalPixels· integer · optionnel
Alias for heightPx.horizontalPixels· integer · optionnel
Alias for widthPx.sensorPartNumber· ? · optionnel
Sensor part number. Alias for sensor.workingDistanceMm· number · optionnelsensor_part_number· ? · optionnel
Sensor part number. Snake-case alias for sensorPartNumber.working_distance_mm· number · optionneldesiredHorizontalFovDeg· number · optionneldesired_horizontal_fov_deg· number · optionnel
Exemple d'appel{"name": "match_lens_to_sensor", "arguments": {"mount": "texte", "sensor": "texte", "widthPx": 1, "heightPx": 1, "maxResults": 1, "max_results": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - prepare_shopify_purchase_handoff≈ 240 tokens
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.
Paramètres, retour & exemple (4)
Paramètressku· string · requisquantity· integer · optionnelsensorPartNumber· string · optionnelselectedVariantId· string · optionnel
Exemple d'appel{"name": "prepare_shopify_purchase_handoff", "arguments": {"sku": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_shopify_products≈ 334 tokens
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.
Paramètres, retour & exemple (5)
Paramètressku· string · optionnel
Optional variant SKU, for example CIL250.limit· integer · optionnelquery· string · optionnel
Optional safe Shopify product/variant search text.handle· string · optionnel
Optional Shopify product handle.includeMetafields· boolean · optionnel
When true, include the allowlisted public product-page metafields (custom.* display specs). Non-public namespaces and keys are never returned.
Exemple d'appel{"name": "read_shopify_products", "arguments": {"sku": "texte", "limit": 1, "query": "texte", "handle": "texte", "includeMetafields": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - recommend_lenses_for_application≈ 323 tokens
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.
Paramètres, retour & exemple (8)
Paramètresmount· string · optionnelmaxResults· integer · optionnelapplication· string · optionnelrequireInStock· boolean · optionnelsensorPartNumber· string · requis
Sensor part number, for example IMX477.workingDistanceMm· number · optionnelpreferLowDistortion· boolean · optionneldesiredHorizontalFovDeg· number · optionnel
Exemple d'appel{"name": "recommend_lenses_for_application", "arguments": {"sensorPartNumber": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_catalog≈ 241 tokens
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.
Paramètres, retour & exemple (2)
Paramètresmeta· object · optionnel
Optional UCP agent metadata.catalog· object · optionnel
Exemple d'appel{"name": "search_catalog", "arguments": {"meta": {}, "catalog": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_lens_catalog≈ 400 tokens
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.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnelquery· string · optionnel
SKU, title, mount, lens type, application, sensor, or field-of-view search text.
Exemple d'appel{"name": "search_lens_catalog", "arguments": {"limit": 1, "query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_rfq≈ 541 tokens
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.
Paramètres, retour & exemple (10)
Paramètreskind· string · optionnel · rfq | question
Whether this is a quote request or a general question. Defaults to question.name· string · optionnel
Optional buyer name.email· string · requis
The buyer's reply-to email so Commonlands can respond.sensor· string · optionnel
Optional sensor part number for context.company· string · optionnel
Optional company name.confirm· boolean · optionnel
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· string · requis
The buyer's question or RFQ details.quantity· integer · optionnel
Optional quantity for the quote.application· string · optionnel
Optional application note.partNumbers· ? · optionnel
Optional Commonlands SKUs of interest (string or array).
Exemple d'appel{"name": "submit_rfq", "arguments": {"email": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_cart≈ 534 tokens
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.
Paramètres, retour & exemple (4)
Paramètresid· string · requiscart· object · requismeta· object · optionnelcart_access_token· string · requis
Owner credential returned by create_cart for this cart id.
Exemple d'appel{"name": "update_cart", "arguments": {"id": "texte", "cart": {}, "cart_access_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».