Face shape rules and a 102-face open measurement dataset. Read-only, no photos.
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.
Runs the same seven-rule face shape classifier as thefaceanalysis.com/face-shape-detector on four distances (any consistent unit: pixels, mm or landmark units). Returns the shape, the rule that matched and the four ratios. It does not look at photos: to measure a photo, use the widget (get_embed_snippet) or the site. Borderline faces can flip between two shapes; no accuracy figure is claimed because the reference set has no labelled face types.
Width across the jaw
Top of the forehead surface to the bottom of the chin
Width across the temples
Widest point across the cheekbones
Runs the same seven-rule face shape classifier as thefaceanalysis.com/face-shape-detector on four distances (any consistent unit: pixels, mm or landmark units). Returns the shape, the rule that matched and the four ratios. It does not look at photos: to measure a photo, use the widget (get_embed_snippet) or the site. Borderline faces can flip between two shapes; no accuracy figure is claimed because the reference set has no labelled face types.
| Argument | Type | Description |
|---|---|---|
| jaw_width* | number | Width across the jaw |
| face_length* | number | Top of the forehead surface to the bottom of the chin |
| forehead_width* | number | Width across the temples |
| cheekbone_width* | number | Widest point across the cheekbones |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"face_length",
"cheekbone_width",
"forehead_width",
"jaw_width"
],
"properties": {
"jaw_width": {
"type": "number",
"description": "Width across the jaw",
"exclusiveMinimum": 0
},
"face_length": {
"type": "number",
"description": "Top of the forehead surface to the bottom of the chin",
"exclusiveMinimum": 0
},
"forehead_width": {
"type": "number",
"description": "Width across the temples",
"exclusiveMinimum": 0
},
"cheekbone_width": {
"type": "number",
"description": "Widest point across the cheekbones",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Citation text, license (CC BY 4.0 for the aggregate numbers) and the source photo set. Use when quoting a number.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}HTML a website owner can paste to add the free face shape finder (it measures the visitor's photo in their browser, no sign-up). Includes the visible credit link the terms ask for.
| Argument | Type | Description |
|---|---|---|
| size | string | compact 360px, standard 480px, wide 720px |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"size": {
"enum": [
"compact",
"standard",
"wide"
],
"type": "string",
"description": "compact 360px, standard 480px, wide 720px"
}
},
"additionalProperties": false
}Definition and how the type is measured from a front photo (the exact threshold rule), plus its page URL. Example: category 'face', slug 'oval'.
| Argument | Type | Description |
|---|---|---|
| slug* | string | e.g. oval, heart, hooded, upturned |
| category* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"category",
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "e.g. oval, heart, hooded, upturned"
},
"category": {
"enum": [
"face",
"eye",
"lip",
"nose"
],
"type": "string"
}
},
"additionalProperties": false
}How the numbers are made: the landmark model, every classification threshold, how the 1-10 score is built, and how it correlated with 2,513 human raters on the same faces (it did not predict them). Includes the method change history.
| Argument | Type | Description |
|---|---|---|
| include_changelog | boolean | Also return the dated change history. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"include_changelog": {
"type": "boolean",
"description": "Also return the dated change history."
}
},
"additionalProperties": false
}Percentiles (p10, p25, median, p75, p90, min, max) of facial measurements from 102 adult faces (49 women, 53 men) of the Face Research Lab London Set, measured with a 478-point MediaPipe landmarker. Measures: composite score, symmetry, golden ratio fit, fWHR, midface ratio, pupillary distance, canthal tilt. Aggregates only; one research set photographed in one city, so these describe these faces, not a population.
| Argument | Type | Description |
|---|---|---|
| group | string | all, female or male. Omit for all three. |
| measure | string | One measure. Omit for all. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"group": {
"enum": [
"all",
"female",
"male"
],
"type": "string",
"description": "all, female or male. Omit for all three."
},
"measure": {
"enum": [
"composite",
"symmetry",
"golden",
"fwhr",
"midface",
"pd",
"tilt"
],
"type": "string",
"description": "One measure. Omit for all."
}
},
"additionalProperties": false
}Lists the types the site's detectors use, with slug, name, page URL and how many of the 102 reference faces each type covered. The split shows how the detector divides these faces, not how common a type is in a population.
| Argument | Type | Description |
|---|---|---|
| category | string | Omit for all four categories. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"face",
"eye",
"lip",
"nose"
],
"type": "string",
"description": "Omit for all four categories."
}
},
"additionalProperties": false
}