TheFaceAnalysis

Face shape rules and a 102-face open measurement dataset. Read-only, no photos.

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
83%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_methodology' description lacks action verbin get_methodology

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,098Tokens (tool definitions)
~858 BTypical response size
Moderate attention impact (0.86% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "face-analysis": {
      "url": "https://mcp.thefaceanalysis.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.thefaceanalysis.com/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_reference_statistics(measure, group)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "measure": {
      "type": "string",
      "enum": [
        "composite",
        "symmetry",
        "golden",
        "fwhr",
        "midface",
        "pd",
        "tilt"
      ],
      "description": "One measure. Omit for all."
    },
    "group": {
      "type": "string",
      "enum": [
        "all",
        "female",
        "male"
      ],
      "description": "all, female or male. Omit for all three."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_face_types(category)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "face",
        "eye",
        "lip",
        "nose"
      ],
      "description": "Omit for all four categories."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_face_type(category, slug)

Definition and how the type is measured from a front photo (the exact threshold rule), plus its page URL. Example: category 'face', slug 'oval'.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "face",
        "eye",
        "lip",
        "nose"
      ]
    },
    "slug": {
      "type": "string",
      "description": "e.g. oval, heart, hooded, upturned"
    }
  },
  "required": [
    "category",
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢classify_face_shape(face_length, cheekbone_width, forehead_width, jaw_width)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "face_length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Top of the forehead surface to the bottom of the chin"
    },
    "cheekbone_width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Widest point across the cheekbones"
    },
    "forehead_width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Width across the temples"
    },
    "jaw_width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Width across the jaw"
    }
  },
  "required": [
    "face_length",
    "cheekbone_width",
    "forehead_width",
    "jaw_width"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_methodology(include_changelog)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "include_changelog": {
      "type": "boolean",
      "description": "Also return the dated change history."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_citation

Citation text, license (CC BY 4.0 for the aggregate numbers) and the source photo set. Use when quoting a number.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_embed_snippet(size)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "size": {
      "type": "string",
      "enum": [
        "compact",
        "standard",
        "wide"
      ],
      "description": "compact 360px, standard 480px, wide 720px"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools