M12 lens and C-mount lens finder with image-sensor matching and field-of-view calculator.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Public MCP server for Commonlands precision optics. Use it to choose M12/C-mount lenses, calculate field of view, verify live Shopify product truth, and hand buyers to Shopify-owned carts safely.
https://mcp.commonlands.com/mcphttps://mcp.commonlands.com/.well-known/ucphttps://mcp.commonlands.com/healthzdocs/client-connections.mddocs/agent-instructions.mddocs/live-usage-and-integrations.mdtools/list and trust the live list over docs.match_lens_to_sensor first, then call calculate_field_of_view for final candidate lens/sensor FoV claims.search_lens_catalog only for broad SKU/title/mount/lens-type discovery. It does not replace per-sensor FoV calculation.resources/read for commonlands://sensors/{part} or commonlands://lenses/{sku} when needed.get_lens_distortion_profile for distortion/model/status questions. Do not invent polynomial coefficients or claim measured correction when the response says source-display-only.prompts/list / prompts/get with select_lens_for_sensor_fov_working_distance when a client surfaces MCP prompts.read_shopify_products before quoting final SKU, URL, price, availability, Shopify IDs, or cart payloads.tools/list.Catalog EFL, image circle, max FoV/FOV@image-circle, and distortion display fields are insufficient to compute field of view on a specific sensor. Agents must not interpolate interior-sensor FoV or substitute their own calculations. Use calculate_field_of_view, then preserve returned hfov_deg, vfov_deg, dfov_deg, method, distortion_model, coverage_ok, image_circle_mm, sensor_diagonal_mm, rectilinear_comparison, and provenance/source metadata in the answer.
read_shopify_products = live Shopify product truth.calculate_field_of_view / match_lens_to_sensor = live FoV backend (AWS Lambda + DynamoDB lens catalog) when configured. Sensor inputs resolve through the live DynamoDB sensor catalog with fixture fallback. These are the routed public optics tools.compute_fov, compute_fov_catalog, match_lenses_to_sensor) still dispatch where practical, but new clients should route through the intent-named tools above.match_lens_to_sensor, recommend_lenses_for_application, compare_lenses) rank against live FoV-backend specs and field of view when the live backend is enabled, so they use real per-SKU specs (EFL, mount, image circle, FoV). They still exclude live Shopify stock/price/variant IDs; use read_shopify_products for purchasable truth. If the live backend is unconfigured they fall back to fixture scaffold.If fixture data conflicts with read_shopify_products or the live FoV/sensor backends, use the live truth.
commonlands://sensors/{part} and the sensor used by calculate_field_of_view / match_lens_to_sensor): read from the Commonlands DynamoDB sensor table by part number when configured, with fixture fallback. Pixel pitch and pixel counts come straight from that table; active-area mm is derived as pixels x pitch.commonlands://lenses/{sku}, calculate_field_of_view, match_lens_to_sensor, search_lens_catalog): the FoV Lambda reads lens optical parameters from its DynamoDB lens table when configured. Catalog-wide matching covers the full lens table when backend scanning is enabled.distortion_model / distortion_status and does not claim measured polynomial correction.The production surface currently exposes 20 tools across catalog/search, FoV, Shopify read-only, cart, UCP catalog, and purchase-handoff. Checkout tools, cancel_cart, and read_shopify_metaobjects are not exposed. Always trust the live tools/list over any doc.
Key tools:
calculate_field_of_view, match_lens_to_sensor, search_lens_catalog, get_lens_distortion_profile.tools/list): search_catalog, lookup_catalog, get_product, get_product_page_details, compare_lenses, recommend_lenses_for_application.tools/list): compute_fov, compute_fov_catalog, match_lenses_to_sensor, search_lenses, get_lens_details.commonlands://sensors/{part}, commonlands://lenses/{sku}, commonlands://catalog/sensors, commonlands://catalog/lenses, and prompt select_lens_for_sensor_fov_working_distance.read_shopify_products, get_shopify_readonly_config_status.create_cart, get_cart, update_cart when visible in tools/list.submit_rfq forwards a buyer quote request or question to the fixed Commonlands engineering inbox (SendGrid). The agent cannot choose the recipient; it sends an inquiry only (no order, payment, or Shopify write) and stays inert (routes to the contact page) until SENDGRID_API_KEY + RFQ_TO_EMAIL + RFQ_FROM_EMAIL are configured.get_catalog_snapshot_status, get_shopify_ucp_readiness, prepare_shopify_purchase_handoff, get_purchase_route_options.The endpoint is public and unauthenticated, so read_shopify_products returns
only data that is already public on commonlands.com (enforced server-side
in src/shopify-read-adapter.ts, see PUBLIC_DATA_POLICY):
status field is never returned.availability signal
(in_stock / low_stock / out_of_stock / untracked); raw counts and
inventory item IDs are never returned.includeMetafields defaults to
false; when enabled, only the custom.* display fields rendered on public
product pages are returned. App/private namespaces and non-allowlisted keys
(including custom.docsend_page) are always dropped.read_shopify_metaobjects was removed from the public surface
(2026-07): Admin metaobject definitions can hold non-public store content.
Calls return an actionable error pointing to read_shopify_products.Cart tools are deliberately reachable without authentication β the same trust model as Shopify's own public Storefront cart β but they are bounded:
wrangler.toml):
120 requests/min per IP across /mcp, and 10 cart mutations/min per IP for
create_cart/update_cart. Exceeding either returns HTTP 429 with
retry-after: 60.expiryAuthority: shopify_cart_ttl_expires_at)
belong to Shopify, which prunes abandoned carts automatically. No cart,
session, customer, or payment state is ever stored in the Worker.Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/commonlands-optics-m12-lens-and-c-mount-lens-finder-field-of-view-calculator)<a href="https://allmcps.com/mcp/commonlands-optics-m12-lens-and-c-mount-lens-finder-field-of-view-calculator"><img src="https://allmcps.com/api/badge/commonlands-optics-m12-lens-and-c-mount-lens-finder-field-of-view-calculator?style=directory" alt="Commonlands Optics: M12 Lens and C Mount Lens Finder + Field Of View Calculator on AllMCPs" /></a>