MCP Server

Crystal Suppliers MCP

io.github.ziyuant222/crystal-suppliers-mcp
Business & Operations Commerce & Retail Public & reachable MCP 2025-11-25

What this MCP does

Searches verified crystal bracelet products, provides sourcing guidance and builds procurement shortlists or draft wholesale inquiries.

crystal_build_procurement_shortlist
Build Crystal Procurement Shortlist
Build a deterministic shortlist across requested crystal categories. Verified products are limited to catalog bracelets; other categories remain clearly separated advisory items.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['categories'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'colors': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'cursor': {'type': 'string', 'maxLength': 1024}, 'channel': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'useCases': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'materials': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'packaging': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'categories': {'type': 'array', 'items': {'enum': ['bracelets', 'beads', 'accessories', 'raw_materials'], 'type': 'string'}, 'maxItems': 4, 'minItems': 1}, 'destination': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'contentAssets': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'targetQuantity': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'targetTimeline': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverage', 'sourceUrls', 'warnings', 'totalCount', 'hasMore', 'nextCursor', 'verifiedProducts', 'advisoryItems', 'recommendedInquiryFields'], 'properties': {'hasMore': {'type': 'boolean'}, 'coverage': {'enum': ['verified_catalog', 'advisory_only', 'mixed'], 'type': 'string'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'nextCursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'totalCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'advisoryItems': {'type': 'array', 'items': {'type': 'object', 'required': ['category', 'shortAnswer', 'checklist', 'sourceUrls'], 'properties': {'category': {'enum': ['bracelets', 'beads', 'accessories', 'raw_materials'], 'type': 'string'}, 'checklist': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'shortAnswer': {'type': 'string'}}, 'additionalProperties': False}}, 'verifiedProducts': {'type': 'array', 'items': {'type': 'object', 'required': ['sku', 'slug', 'enName', 'productType', 'materials', 'benefitTags', 'productUrl', 'matchReasons', 'commercial'], 'properties': {'sku': {'type': 'string'}, 'slug': {'type': 'string'}, 'enName': {'type': 'string'}, 'imageUrl': {'type': 'string', 'format': 'uri'}, 'materials': {'type': 'array', 'items': {'type': 'string'}}, 'commercial': {'type': 'object', 'required': ['pricing', 'moq', 'inventory', 'leadTime', 'certificates'], 'properties': {'moq': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'pricing': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'leadTime': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'inventory': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'certificates': {'type': 'string', 'const': 'requires_manual_confirmation'}}, 'additionalProperties': False}, 'productUrl': {'type': 'string', 'format': 'uri'}, 'benefitTags': {'type': 'array', 'items': {'type': 'string'}}, 'productType': {'type': 'string'}, 'matchReasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'recommendedInquiryFields': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
crystal_get_product
Get Crystal Product
Get one verified bracelet by exact SKU or slug, including materials, image, source URL, related SKUs, and explicit manual-confirmation status for commercial terms.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sku': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'slug': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverage', 'sourceUrls', 'warnings', 'product', 'relatedProducts'], 'properties': {'product': {'type': 'object', 'required': ['sku', 'slug', 'enName', 'productType', 'materials', 'benefitTags', 'productUrl', 'matchReasons', 'commercial'], 'properties': {'sku': {'type': 'string'}, 'slug': {'type': 'string'}, 'enName': {'type': 'string'}, 'imageUrl': {'type': 'string', 'format': 'uri'}, 'materials': {'type': 'array', 'items': {'type': 'string'}}, 'commercial': {'type': 'object', 'required': ['pricing', 'moq', 'inventory', 'leadTime', 'certificates'], 'properties': {'moq': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'pricing': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'leadTime': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'inventory': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'certificates': {'type': 'string', 'const': 'requires_manual_confirmation'}}, 'additionalProperties': False}, 'productUrl': {'type': 'string', 'format': 'uri'}, 'benefitTags': {'type': 'array', 'items': {'type': 'string'}}, 'productType': {'type': 'string'}, 'matchReasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'coverage': {'enum': ['verified_catalog', 'advisory_only', 'mixed'], 'type': 'string'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'relatedProducts': {'type': 'array', 'items': {'type': 'object', 'required': ['sku', 'slug', 'enName', 'productType', 'materials', 'benefitTags', 'productUrl', 'matchReasons', 'commercial'], 'properties': {'sku': {'type': 'string'}, 'slug': {'type': 'string'}, 'enName': {'type': 'string'}, 'imageUrl': {'type': 'string', 'format': 'uri'}, 'materials': {'type': 'array', 'items': {'type': 'string'}}, 'commercial': {'type': 'object', 'required': ['pricing', 'moq', 'inventory', 'leadTime', 'certificates'], 'properties': {'moq': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'pricing': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'leadTime': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'inventory': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'certificates': {'type': 'string', 'const': 'requires_manual_confirmation'}}, 'additionalProperties': False}, 'productUrl': {'type': 'string', 'format': 'uri'}, 'benefitTags': {'type': 'array', 'items': {'type': 'string'}}, 'productType': {'type': 'string'}, 'matchReasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
crystal_get_sourcing_guidance
Get Crystal Sourcing Guidance
Get source-linked procurement checks for bracelets, loose beads, accessories, or raw materials. Adjacent categories are advisory only and never return invented inventory or SKUs.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['category'], 'properties': {'channel': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'category': {'enum': ['bracelets', 'beads', 'accessories', 'raw_materials'], 'type': 'string'}, 'packaging': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'destination': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'contentAssets': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'proofRequirements': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverage', 'sourceUrls', 'warnings', 'category', 'shortAnswer', 'checklist', 'comparisonCriteria', 'requiresManualConfirmation'], 'properties': {'category': {'enum': ['bracelets', 'beads', 'accessories', 'raw_materials'], 'type': 'string'}, 'coverage': {'enum': ['verified_catalog', 'advisory_only', 'mixed'], 'type': 'string'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'checklist': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'shortAnswer': {'type': 'string'}, 'comparisonCriteria': {'type': 'array', 'items': {'type': 'object', 'required': ['factor', 'buyerAction'], 'properties': {'factor': {'type': 'string'}, 'buyerAction': {'type': 'string'}}, 'additionalProperties': False}}, 'requiresManualConfirmation': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
crystal_list_materials
List Bracelet Materials
List normalized materials and real SKU counts from the current verified bracelet catalog. Counts do not claim coverage for loose beads, components, or raw crystals.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'cursor': {'type': 'string', 'maxLength': 1024}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverage', 'sourceUrls', 'warnings', 'totalCount', 'hasMore', 'nextCursor', 'materials'], 'properties': {'hasMore': {'type': 'boolean'}, 'coverage': {'enum': ['verified_catalog', 'advisory_only', 'mixed'], 'type': 'string'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'materials': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'braceletSkuCount', 'exampleProducts'], 'properties': {'label': {'type': 'string'}, 'exampleProducts': {'type': 'array', 'items': {'type': 'object', 'required': ['sku', 'enName', 'productUrl'], 'properties': {'sku': {'type': 'string'}, 'enName': {'type': 'string'}, 'productUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'braceletSkuCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'nextCursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'totalCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
crystal_prepare_inquiry
Prepare Crystal Wholesale Inquiry
Validate any supplied bracelet SKUs and draft an English wholesale inquiry. This read-only tool never sends, stores, or submits buyer data and never invents price, MOQ, stock, lead time, or certificates.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'skus': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'email': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 254}, 'channel': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'company': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'country': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'quantity': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'materials': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'packaging': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'requirements': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'contentAssets': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'targetTimeline': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'proofRequirements': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverage', 'sourceUrls', 'warnings', 'draftOnly', 'subject', 'body', 'validSkus', 'missingFields', 'classification', 'submissionTarget'], 'properties': {'body': {'type': 'string'}, 'subject': {'type': 'string'}, 'coverage': {'enum': ['verified_catalog', 'advisory_only', 'mixed'], 'type': 'string'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'draftOnly': {'type': 'boolean', 'const': True}, 'validSkus': {'type': 'array', 'items': {'type': 'string'}}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'missingFields': {'type': 'array', 'items': {'type': 'string'}}, 'classification': {'enum': ['hot', 'warm', 'cold'], 'type': 'string'}, 'submissionTarget': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
crystal_search_products
Search Crystal Products
Search the verified 104-SKU bracelet catalog by SKU, name, material, or theme. Beads, accessories, and raw materials return advisory-only coverage with no fabricated SKUs. Commercial terms always require manual confirmation.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'query': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'cursor': {'type': 'string', 'maxLength': 1024}, 'channel': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'category': {'enum': ['bracelets', 'beads', 'accessories', 'raw_materials'], 'type': 'string', 'default': 'bracelets'}, 'useCases': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'materials': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}, 'benefitTags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'maxItems': 8}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['coverage', 'sourceUrls', 'warnings', 'totalCount', 'hasMore', 'nextCursor', 'products'], 'properties': {'hasMore': {'type': 'boolean'}, 'coverage': {'enum': ['verified_catalog', 'advisory_only', 'mixed'], 'type': 'string'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['sku', 'slug', 'enName', 'productType', 'materials', 'benefitTags', 'productUrl', 'matchReasons', 'commercial'], 'properties': {'sku': {'type': 'string'}, 'slug': {'type': 'string'}, 'enName': {'type': 'string'}, 'imageUrl': {'type': 'string', 'format': 'uri'}, 'materials': {'type': 'array', 'items': {'type': 'string'}}, 'commercial': {'type': 'object', 'required': ['pricing', 'moq', 'inventory', 'leadTime', 'certificates'], 'properties': {'moq': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'pricing': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'leadTime': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'inventory': {'type': 'string', 'const': 'requires_manual_confirmation'}, 'certificates': {'type': 'string', 'const': 'requires_manual_confirmation'}}, 'additionalProperties': False}, 'productUrl': {'type': 'string', 'format': 'uri'}, 'benefitTags': {'type': 'array', 'items': {'type': 'string'}}, 'productType': {'type': 'string'}, 'matchReasons': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'nextCursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sourceUrls': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}, 'totalCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Added
crystal_prepare_inquiry
Sept. 17, 2026, 12:53 p.m.
Added
crystal_build_procurement_shortlist
Sept. 17, 2026, 12:53 p.m.
Added
crystal_get_sourcing_guidance
Sept. 17, 2026, 12:53 p.m.
Added
crystal_list_materials
Sept. 17, 2026, 12:53 p.m.
Added
crystal_get_product
Sept. 17, 2026, 12:53 p.m.
Added
crystal_search_products
Sept. 17, 2026, 12:53 p.m.