此 MCP 可以做什么
Matches M12 and C-mount lenses to image sensors, calculates field of view, provides optical specifications, and supports Shopify product and cart workflows.
工具
输入模式
{'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}
输出模式
{'type': 'object', 'required': ['hfov_deg', 'vfov_deg', 'dfov_deg', 'method', 'distortion_model', 'image_circle_mm', 'sensor_diagonal_mm', 'coverage_ok', 'rectilinear_comparison'], 'properties': {'method': {'type': 'string'}, 'dfov_deg': {'type': ['number', 'null']}, 'hfov_deg': {'type': ['number', 'null']}, 'vfov_deg': {'type': ['number', 'null']}, 'coverage_ok': {'type': ['boolean', 'null']}, 'image_circle_mm': {'type': ['number', 'null']}, 'distortion_model': {'type': 'string'}, 'sensor_diagonal_mm': {'type': 'number'}, 'rectilinear_comparison': {'type': 'object', 'required': ['dfov_deg', 'delta_deg'], 'properties': {'dfov_deg': {'type': ['number', 'null']}, 'delta_deg': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': True}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输入模式
{'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}
输入模式
{'type': 'object', 'required': ['catalog'], 'properties': {'meta': {'type': 'object'}, 'catalog': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string'}}, 'additionalProperties': True}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'required': ['sku'], 'properties': {'sku': {'type': 'string', 'description': 'Commonlands short part number, for example CIL250.'}}, 'additionalProperties': False}
输入模式
{'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}
输入模式
{'type': 'object', 'required': ['partNumber'], 'properties': {'partNumber': {'type': 'string', 'description': 'Sensor part number, for example IMX477.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
输入模式
{'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}
近期工具变更
类似的 MCP 服务器
a2a2p — Agent-to-Agent-to-Physical
Reviews physical product requirements, performs bounded beam engineering calculations and simulations, prepares supplier packages…
Depureco Industrial Vacuum Explorer
Searches and configures industrial vacuum equipment by application, sector, certification, power, capacity, filtration, and techn…
SkoIA Parts
Resolves physical-part identification and compatibility problems, tracks evidence and missing observations, verifies proposed sol…
Zavod Stanki CNC Catalog
Provides a catalog, search, comparison, pricing, configuration, and lead submission for CNC machinery.
Agentic Fabrication Network (AFN)
Obtains quotes and places orders for 3D printing, CNC and sheet-metal fabrication, decals, and related manufacturing services.
catalog
Searches electronic and mechanical parts using datasheet-backed specifications, compatibility checks, and priced bill-of-material…
site
Provides telescope product dataset search, comparisons, rankings, statistics, and consent-based enquiries to human providers.
Steady Steel
Searches catalog products and generates firm quotes for laser-cut steel, stainless steel and aluminum parts.