Audit, normalise and export size charts as clean tables and JSON-LD. No AI; keeps no charts sent.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Checks a size chart and reports what is wrong with it or still unanswered, without changing it. Takes a size chart, never a person's measurements. Limits: one call per request; up to 60 sizes, 40 columns or measurements a size, and 64 characters a size label or measurement name; each table cell is read up to 200 characters. Send a chart in SizeRef chart format v1, or a table as html, csv, or headers and rows. variant_sizes compares the chart's size labels with the product's; product_title decides whether hips are kept for long tops such as a kurta or a dress; product_text gives the fit when the table does not state it. results[] holds one result per table found; the top-level verdict is the worst table's, so read results[] for each table. It cannot see the product page, so a pasted table is at best needs_fix until normalise_size_chart gets the answers.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http size-charts https://mcp.sizeref.online/mcp
Checks a size chart and reports what is wrong with it or still unanswered, without changing it. Takes a size chart, never a person's measurements. Limits: one call per request; up to 60 sizes, 40 columns or measurements a size, and 64 characters a size label or measurement name; each table cell is read up to 200 characters. Send a chart in SizeRef chart format v1, or a table as html, csv, or headers and rows. variant_sizes compares the chart's size labels with the product's; product_title decides whether hips are kept for long tops such as a kurta or a dress; product_text gives the fit when the table does not state it. results[] holds one result per table found; the top-level verdict is the worst table's, so read results[] for each table. It cannot see the product page, so a pasted table is at best needs_fix until normalise_size_chart gets the answers.
| Argument | Type | Description |
|---|---|---|
| chart | object | |
| table | object | |
| product_text | string | |
| product_title | string | |
| variant_sizes | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"chart": {
"type": "object",
"properties": {
"rows": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
}
]
}
}
}
},
"additionalProperties": {}
},
"table": {
"type": "object",
"properties": {
"csv": {
"type": "string"
},
"html": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"caption": {
"type": "string"
},
"headers": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"product_text": {
"type": "string"
},
"product_title": {
"type": "string"
},
"variant_sizes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}Writes a valid SizeRef chart v1 as SizeRef JSON, schema.org JSON-LD, CSV and plain text, and lists anything left out and why. Takes a size chart, never a person's measurements. Limits: one call per request; up to 60 sizes, 40 columns or measurements a size, and 64 characters a size label or measurement name; each table cell is read up to 200 characters. jsonld is a whole <script type="application/ld+json"> block, ready to paste into the product page, with its JSON escaped so no value can end the block. jsonld_note says how the theme can link each variant size to the matching @id; that step is optional.
| Argument | Type | Description |
|---|---|---|
| formats | array | |
| product | object | |
| chart_v1* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"chart_v1"
],
"properties": {
"formats": {
"type": "array",
"items": {
"enum": [
"sizeref_json",
"jsonld",
"csv",
"text"
],
"type": "string"
}
},
"product": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string"
},
"brand": {
"type": "string"
}
},
"additionalProperties": false
},
"chart_v1": {
"type": "object",
"properties": {
"rows": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
}
]
}
}
}
},
"additionalProperties": {}
}
},
"additionalProperties": false
}Turns a size table, or a chart with gaps, into SizeRef chart format v1 from what the table states plus the answers you pass. Nothing is inferred from the numbers. Takes a size chart, never a person's measurements. Limits: one call per request; up to 60 sizes, 40 columns or measurements a size, and 64 characters a size label or measurement name; each table cell is read up to 200 characters. When something is left open it returns questions with the allowed answers instead of a chart. A page with several tables needs table_index. product_title decides whether hips are kept for long tops such as a kurta or a dress; product_text gives the fit when the table does not state it.
| Argument | Type | Description |
|---|---|---|
| chart | object | |
| table | object | |
| answers | object | |
| table_index | integer | |
| product_text | string | |
| product_title | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"chart": {
"type": "object",
"properties": {
"rows": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
}
]
}
}
}
},
"additionalProperties": {}
},
"table": {
"type": "object",
"properties": {
"csv": {
"type": "string"
},
"html": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"caption": {
"type": "string"
},
"headers": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"answers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"table_index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"product_text": {
"type": "string"
},
"product_title": {
"type": "string"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.