Crystal Suppliers MCP
# Crystal Suppliers MCP
Crystal Suppliers MCP is a read-only procurement server for [KT Crystals](https://ktcrystals.com). It searches a verified catalog of 104 crystal bracelet SKUs and provides traceable sourcing checklists for loose beads, crystal accessories, and raw crystal materials.
The service does not invent price, MOQ, inventory, lead time, treatment, origin, certification, or shipping claims. Commercial fields remain `requires_manual_confirmation`.
## Install and connect
Run directly from the repository:
```json
{
"mcpServers": {
"crystal-suppliers": {
"command": "node",
"args": ["/absolute/path/to/crystal-suppliers-mcp/src/index.mjs"]
}
}
}
```
Run the OCI image over stdio:
```json
{
"mcpServers": {
"crystal-suppliers": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/ziyuant222/crystal-suppliers-mcp:0.1.0"
]
}
}
}
```
Start Streamable HTTP:
```bash
docker run --rm -p 3000:3000 \
ghcr.io/ziyuant222/crystal-suppliers-mcp:0.1.0 --http
```
The endpoint is then `http://localhost:3000/mcp`, with health status at `http://localhost:3000/health`.
## Tools
| Tool | Purpose |
| --- | --- |
| `crystal_search_products` | Search real bracelet SKUs by SKU, name, material, or theme. |
| `crystal_get_product` | Retrieve one verified bracelet and related catalog products. |
| `crystal_list_materials` | List normalized materials and verified bracelet SKU counts. |
| `crystal_get_sourcing_guidance` | Get supplier-verification checks for bracelets, beads, accessories, or raw materials. |
| `crystal_build_procurement_shortlist` | Keep verified bracelet results separate from adjacent advisory categories. |
| `crystal_prepare_inquiry` | Validate supplied SKUs and draft an inquiry without sending or storing it. |
## Coverage contract
- `verified_catalog`: grounded in the current 104-SKU bracelet catalog.
- `advisory_only`: sourcing guidance only; no verified SKU coverage for the requested category.
- `mixed`: verified bracelet candidates plus separately labeled advisory categories.
Inquiry drafting is local and stateless. It does not send email, submit a form, write to a database, or retain buyer details.
## Development
```bash
npm ci
npm test
npm run start:http
```
The server supports Node.js 22 or newer and implements MCP over both stdio and stateless Streamable HTTP.
<!-- mcp-name: io.github.ziyuant222/crystal-suppliers-mcp -->
TDQS
Scored across 6 tools
Each tool has a distinct purpose: search, single product retrieval, materials listing, sourcing guidance, shortlist building, and inquiry preparation. No overlap in functionality.
All tools follow the 'crystal_verb_noun' pattern consistently, e.g., crystal_search_products, crystal_get_product, crystal_list_materials. The naming is clear and predictable.
With 6 tools covering search, detail, materials, guidance, shortlist, and inquiry, the count is appropriate for the domain of crystal supply procurement without being excessive or insufficient.
The tool set covers the key workflows for bracelet procurement: search, details, materials, sourcing guidance, shortlist, and inquiry. Minor gaps exist for real-time inventory or order placement, but these are outside the stated advisory scope.