About moissanite-tools
moissanite-tools is an MCP server for jewellery reference and shopping, with density-adjusted moissanite carat-to-millimetre conversion, grading scales, and sizing data. It supports hosted or local use.
Key features
- 01Convert moissanite carats and millimetres
- 02Reference GIA colour and clarity grades
- 03Convert US, UK, and EU ring sizes
- 04Look up necklace and stud sizing
- 05Compare moissanite, diamond, and CZ
Use cases
- 01Estimate carat weight from stone diameter
- 02Convert ring sizes across countries
- 03Check gemstone colour and clarity grades
- 04Compare necklace lengths or stud sizes
MCP support
The MCP server exposes six tools for gemstone conversions, grading references, and jewellery sizing. It can be reached through a hosted endpoint or run locally over stdio.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.fitiny.com/mcpclaude mcp add --transport http com-fitiny-moissanite-tools https://mcp.fitiny.com/mcp{"mcpServers":{"com-fitiny-moissanite-tools":{"type":"http","url":"https://mcp.fitiny.com/mcp"}}}Open in Cursor{"servers":{"com-fitiny-moissanite-tools":{"type":"http","url":"https://mcp.fitiny.com/mcp"}}}Open in VS Code{"mcpServers":{"com-fitiny-moissanite-tools":{"type":"http","url":"https://mcp.fitiny.com/mcp"}}}{"mcpServers":{"com-fitiny-moissanite-tools":{"serverUrl":"https://mcp.fitiny.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
6| Parameter | Type | Required | Description |
|---|---|---|---|
| carat | number | Yes | Carat weight, e.g. 1.0 |
| stone | enum | No | moissanite | diamond | cz |
Details
From the project READMEmoissanite-tools

Grading reference and carat↔millimetre conversion for moissanite — calculated, not copied.
Why this exists
Practically every carat/mm chart on the web is calculated for diamond. Moissanite has a different density (3.21 vs 3.52 g/cm³), so applying a diamond chart to moissanite is wrong by roughly 9%:
| Diameter | Diamond | Moissanite | Cubic zirconia |
|---|---|---|---|
| 4.0 mm | 0.24 ct | 0.22 ct | 0.39 ct |
| 5.0 mm | 0.47 ct | 0.43 ct | 0.76 ct |
| 6.5 mm | 1.03 ct | 0.94 ct | 1.66 ct |
| 8.0 mm | 1.91 ct | 1.74 ct | 3.09 ct |
This is why moissanite is usually sold by millimetre rather than by carat — the same "1 carat" looks like a different size depending on the stone.
What's in here
data/grading.json GIA colour (D–K) and clarity (FL–SI) scales, plus published
optical constants for moissanite / diamond / cubic zirconia
data/sizing.json ISO 8653 ring sizes (US/UK/EU/mm), necklace lengths, stud sizes
src/conversion.js carat ↔ mm for round brilliant cut, density-corrected
src/sizing.js ring size conversion, necklace length and stud appearance lookups
mcp/server.js Model Context Protocol server exposing all of the above
Ring sizes
Cross-border ring buying goes wrong because the systems are unrelated: a US 6 is a UK M, not a UK 6. EU sizes under ISO 8653 are simply the inner circumference in millimetres.
| US | UK | EU | Inner Ø |
|---|---|---|---|
| 5 | J | 49.3 | 15.7 mm |
| 6 | M | 51.9 | 16.5 mm |
| 7 | O | 54.4 | 17.3 mm |
| 8 | Q | 57.0 | 18.1 mm |
| 9 | R½ | 59.5 | 18.9 mm |
Sizes that aren't on the chart return the nearest listed size flagged exact: false,
rather than inventing a value.
Usage
import { caratFromMm, mmFromCarat, compareAtWeight } from './src/conversion.js';
mmFromCarat(1, 'moissanite'); // 6.65 mm
mmFromCarat(1, 'diamond'); // 6.45 mm
caratFromMm(6.5, 'moissanite'); // 0.94 ct
compareAtWeight(1);
// { carat: 1, moissanite_mm: 6.65, diamond_mm: 6.45, cz_mm: 5.49 }
MCP server
Two ways to run it.
Hosted — nothing to install. Point any MCP client at:
https://mcp.fitiny.com/mcp
Listed in the official MCP Registry as com.fitiny/moissanite-tools.
Local — stdio:
node mcp/server.js
Exposes six tools:
| Tool | Answers |
|---|---|
carat_to_mm | How wide is a 1 ct moissanite? |
mm_to_carat | What does a 6.5 mm stone weigh in each material? |
grading_scale | What does VVS1 / D colour actually mean? |
ring_size_convert | What is a UK M in US sizing? |
necklace_length | Where does an 18" necklace sit? |
stud_appearance | How big does a 6 mm stud read on the ear? |
The maths
GIA's round-brilliant formula, scaled by relative density:
weight_ct = diameter_mm² × depth_mm × 0.0061 × (ρ_stone / ρ_diamond)
depth_mm = diameter_mm × 0.612 (average depth ratio, well-cut round)
Accuracy against published diamond charts: 1.4% mean, 3.3% max. Real stones vary with cut proportions — treat the output as guidance, not as a substitute for weighing a stone.
Round brilliant only. Fancy shapes (oval, princess, emerald, pear) distribute weight differently and need shape-specific factors that aren't in here.
On the data
Colour and clarity scales follow the GIA diamond grading system, which the moissanite trade has adopted. The optical constants (refractive index, dispersion, Mohs hardness, density) are published gemmological values. Nothing here was scraped from another site — the conversion figures are computed from the formula above, which is why they can be released under MIT.
This is a descriptive reference, not a certification. A graded stone comes with a report from a gemmological laboratory; this repo just explains what those grades mean.
Live tool
An interactive version runs at fitiny.com/pages/moissanite-grading.
Licence
MIT — see LICENSE. Maintained by FITINY Jewelry.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.