iLook Face Analysis
Server Details
Analyze user-submitted face photos with a complete report or 13 focused face-analysis tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
14 toolsanalyze_adult_face_age_cuesAnalyze adult face age cuesBRead-onlyInspect
Returns broad adult presentation cues, not an exact age prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds the behavioral caveat 'not an exact age prediction', which is useful. However, it doesn't disclose other behaviors like possible tolerance, latency, or any requirements beyond the schema. Given the annotations, this is acceptable but doesn't exceed the baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded, zero wasted words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description doesn't need to explain return values. But the description is minimal (one sentence) and could benefit from specifying what types of cues it returns (e.g., age range, perceived maturity). However, given the presence of annotations and complete schema, it's adequate but not rich. Completeness is moderate because the tool has a clear purpose and inputs are well-documented, but the description doesn't address any edge cases or caveats beyond 'not exact age prediction'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for all three parameters (image_base64, mime_type, adult_and_authorized). The description doesn't add any extra clarification about parameters. Baseline 3 is appropriate when the schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns broad adult presentation cues and explicitly clarifies it does not give an exact age prediction. This distinguishes it from hypothetical exact age tools)Skip, though it could be more specific about what 'presentation cues' includes. It is not a tautology and uses a specific verb
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs. siblings or when not to use it. The description only clarifies the nature of the output (not exact age) but doesn't mention alternatives or context like 'use when you need a rough age estimate'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_canthal_tiltAnalyze canthal tiltARead-onlyInspect
Returns left, right, and average visible eye-corner tilt cues.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description aligns with these. It adds output granularity ('left, right, and average') and a 'visible' qualifier, but does not disclose limitations, failure modes, or input constraints beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the essential output clearly and concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple image-analysis tool with complete parameter documentation, safety annotations, and an output schema, the description is mostly sufficient. It lacks usage guidance but otherwise covers the core purpose without needing to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters. The description itself says nothing about parameters, so it neither helps nor hurts beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Returns' with a precise object: 'left, right, and average visible eye-corner tilt cues.' This clearly identifies the tool's output and distinguishes it from sibling tools like detect_eye_shape or analyze_psl_score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, nor are there exclusions or prerequisites. Usage is only implied by the title and output description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_color_paletteAnalyze color paletteBRead-onlyInspect
Returns style-oriented palette, contrast, and lighting cues.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, and open-world behavior. The description adds that the tool returns 'palette, contrast, and lighting cues,' which is useful context. However, it does not elaborate on edge cases, required inputs (e.g., that an image is needed), or any side effects, leaving room for improvement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that is easy to scan and front-loads the action. While it is concise, the phrase 'style-oriented' is slightly ambiguous, though this does not detract from overall brevity. It is appropriately brief without being under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema is available and annotations are provided, the description does not need to detail return structures. However, the description does not clarify whether this tool operates on general images or specifically on faces in the context of the other tools, which is a minor gap. It is adequate but not highly informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3 per the rubric. The description does not mention any parameters, so it neither adds nor detracts from the schema's own descriptions. Since the schema clearly documents all three required parameters, a neutral score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Returns style-oriented palette, contrast, and lighting cues' uses a specific verb ('Returns') and describes a clear resource. It distinguishes itself from sibling tools, which all focus on facial features, by pointing to color/lighting analysis. However, 'style-oriented' is somewhat vague and could be clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only implies usage; no explicit guidance is given on when to use this tool vs. its siblings or how it fits into a broader workflow. Since the tool name and context (among facial analysis tools) suggest it's for color/palette analysis, usage is implied rather than stated, fitting a score of 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_face_shapeAnalyze face shapeBRead-onlyInspect
Returns face shape, runner-up shape, outline cues, and styling direction.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds that it returns outline cues and styling direction, which are non-obvious outputs, but it does not disclose any additional behavioral traits such as dependency on image quality or that a clear frontal view is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is concise and structured to state the output clearly, though it could benefit from mentioning typical use cases, but overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and good parameter schema, but the description lacks context on when to use it versus siblings. It mentions the key outputs, but doesn't explain the significance of face shape analysis or any prerequisites, such as needing a clear photo. Overall it is adequate but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the parameters are well-documented in the schema. The description adds no additional parameter meaning beyond what the schema provides, but given the high coverage, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns face shape, runner-up shape, outline cues, and styling direction. This clearly identifies the purpose, but it does not explicitly distinguish it from sibling tools like analyze_golden_ratio_face or analyze_facial_symmetry, which also analyze facial features.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for analyzing face shape, but it provides no explicit guidance on when to use it over alternatives like analyze_facial_symmetry or calculate_facial_ratios. The context from the name and siblings suggests a use case, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_facial_symmetryAnalyze facial symmetryARead-onlyInspect
Returns photo-specific left-right symmetry cues across visible features.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not restate safety. It adds mild context with 'photo-specific' and 'visible features,' indicating the analysis is per-image and limited to visible anatomy. However, it does not disclose any limitations or edge cases (e.g., occlusion, lighting), so the added behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately states the purpose. Every word contributes, with no fluff or redundancy. It is optimally concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only analysis tool with complete schema coverage and an output schema present, the description is sufficiently complete. It communicates the core functionality without needing to explain parameters or return types. However, a brief note on when to use it among sibling tools would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents all three parameters (image_base64, mime_type, adult_and_authorized). The description does not mention any parameters or add semantics beyond the schema. With high coverage, the baseline of 3 is appropriate; the description adds no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Returns photo-specific left-right symmetry cues across visible features.' It uses a specific verb ('Returns') and identifies both the resource (left-right symmetry cues) and the scope (visible features), distinguishing it from sibling tools that analyze other facial attributes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus its many siblings (e.g., analyze_face_shape, calculate_facial_ratios). There is no mention of alternative tools or exclusion criteria, leaving the agent to infer usage from the name and description alone. This is insufficient for a tool with 13 closely related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_golden_ratio_faceAnalyze Golden Ratio faceBRead-onlyInspect
Returns an approximate visible Golden Ratio phi score and proportion cues.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds little behavioral context beyond the return type (score and cues). It doesn't mention that results are approximate or that output is based on visible features, which is useful but not fully developed. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and to the point. It front-loads the primary output ('phi score') and mentions proportion cues, with no fluff. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema, but its content is unknown. The description mentions 'proportion cues' but doesn't detail what those are. The tool has a specific purpose (golden ratio) and three parameters, but the description doesn't explain the method or limitations (e.g., 'approximate'). Given the complexity and the presence of many sibling analysis tools, more detail on what the score means and how it's computed would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are well-documented. The description doesn't add any extra meaning beyond what the schema provides, and it doesn't clarify how the parameters affect the analysis. Since the schema is sufficient, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'visible Golden Ratio phi score and proportion cues', but the phrase 'approximate visible' is a bit vague. It distinguishes it from siblings like 'calculate_facial_ratios' by focusing on the golden ratio specifically, but could be more precise about what 'visible' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool over siblings like 'calculate_facial_ratios' or 'analyze_facial_symmetry'. The description implies it's for golden ratio scoring, but doesn't say when not to use it or mention alternatives. Sibling tools suggest overlapping functionality, but no exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_psl_scoreAnalyze PSL-style scoreBRead-onlyInspect
Returns a broad PSL-style range from visible geometry without false precision.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that the tool is read-only, non-destructive, and open-world. The description adds modest value by clarifying that the result is intentionally broad and avoids false precision, but it does not disclose additional behavioral details such as output format or edge-case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly front-loaded sentence with no filler. Every word contributes to conveying the tool's purpose and key behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only analysis tool with full schema coverage, annotations, and an output schema, the description is mostly complete. The only notable gap is that 'PSL-style' is unclear to outsiders, but the existing structured metadata compensates for most ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are already documented in the input schema. The description adds little parameter-level meaning beyond 'visible geometry,' which only loosely relates to the image parameter. Baseline 3 is appropriate because the schema carries the semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a broad PSL-style range based on visible geometry, which names the core action and output. It subtly distinguishes itself from exact-scoring siblings via 'without false precision,' though 'PSL-style' is unexplained and the description does not explicitly compare with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus sibling tools such as score_face, run_attractiveness_test, or analyze_golden_ratio_face. The phrase 'from visible geometry' implies an input condition, but it does not describe use cases, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_skin_appearanceAnalyze skin appearanceARead-onlyInspect
Returns appearance-only texture, evenness, shine, and lighting cues.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that results are appearance-only cues, which is useful, but it does not disclose real-world operational behavior such as format concerns, failure modes, or limitations beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler, tautology, or redundant restatement. Every word in the phrase 'appearance-only texture, evenness, shine, and lighting cues' contributes directly to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input schema and output schema cover structural details, and annotations provide safety/read-only context. The description is sufficient for a simple read-only appearance analyzer, but explicit guidance about when to prefer it over sibling face-analysis tools would make the context fuller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter, especially image_base64, mime_type, and adult_and_authorized, is already described in the schema. The description adds no extra meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool returns: appearance-only texture, evenness, shine, and lighting cues. It uses a specific verb ('returns') and resource, and the focus on skin appearance distinguishes it from the face-shape, symmetry, and ratio-focused sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used for skin-appearance analysis, and 'appearance-only' hints at a scope restriction. However, it does not explicitly state when to use this tool over alternatives or provide exclusions/alternative recommendations, leaving usage guidance mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_facial_ratiosCalculate facial ratiosARead-onlyInspect
Returns visible face-ratio and spacing cues from one photo.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds minimal behavioral context by specifying 'visible' cues, implying that occluded or obscured facial features are not analyzed. However, it does not disclose potential limitations, error conditions, or edge cases, and adds little beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It states exactly what the tool returns and the input context, making it extremely concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the return values are already documented. However, the description lacks guidance on intended use cases or how it differs from overlapping sibling tools (e.g., 'analyze_golden_ratio_face'). The term 'ratio and spacing cues' is somewhat vague, and without usage context, the description feels incomplete for a tool with 13 siblings. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all three parameters have descriptions in the schema). The tool description itself adds no specific parameter details; it only says 'from one photo', which is consistent with the image_base64 parameter. The schema carries the parameter semantics, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') with a clear resource ('visible face-ratio and spacing cues') and a source ('from one photo'). It clearly distinguishes from sibling tools like 'analyze_face_shape' or 'analyze_golden_ratio_face' by focusing on general ratios and spacing cues rather than specific shape or proportional analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or mention of alternatives is provided. Given the large set of sibling analysis tools (e.g., 'analyze_golden_ratio_face', 'rate_jawline'), the description does not help the agent decide when this tool is the right choice over others. There is no 'use this for...' or 'instead of X' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_eye_shapeDetect eye shapeBRead-onlyInspect
Returns opening shape, corner orientation, and visible eye framing.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint=true and destructiveHint=false annotations already disclose the safety profile, and the description adds specificity about extracted features (opening shape, corner orientation, framing). However, it doesn't address edge cases like closed eyes, poor lighting, multiple faces, or non-face images, which could cause unexpected output for an image-analysis tool. No contradiction with annotations found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 10-word sentence that front-loads the action verb 'Returns' and lists exactly three concrete output attributes. Zero filler, no repetition of schema or annotations — every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, non-destructive image analysis tool with an output schema present and full parameter coverage, the description is reasonably complete. It states the return contents, and the output schema documents return structure. The only weakness is that terms like 'visible eye framing' are somewhat abstract without examples, and there's no guidance on input constraints (e.g., image resolution, face position) that might affect detection quality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — all three parameters (image_base64, mime_type, adult_and_authorized) are fully documented with formats, enums, and purpose. The description adds zero parameter-level details, so the baseline of 3 applies; the schema carries the entire burden and does it well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb+resource pattern ('Returns opening shape, corner orientation, and visible eye framing') and specifies three concrete output features. However, it doesn't explicitly distinguish itself from the closely-related sibling analyze_canthal_tilt, which overlaps on 'corner orientation' (canthal tilt is exactly eye corner angle), so a cautious agent might struggle to pick between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no alternative tool names mentioned. Given that analyze_canthal_tilt appears in the sibling list and conceptually overlaps with 'corner orientation,' the description offers zero help in deciding which tool to invoke for eye-corner measurements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_hairstyle_directionFind hairstyle directionARead-onlyInspect
Returns face-shape-based hairstyle and framing direction.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the 'face-shape-based' scoping, suggesting the output is driven by detected facial geometry, which is useful behavioral context. However, given openWorldHint=true, it could have clarified the free-form nature of the returned 'direction' advice and whether it performs its own analysis or relies on sibling tool outputs. No contradiction with annotations exists, but more depth was possible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that front-loads the core action with no filler. It's appropriately compact for a straightforward tool, though given the sensitive 'adult_and_authorized' parameter, one might expect a touch more context in the description about content policy, though this is borderline beyond scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is of low-to-moderate complexity: 3 well-documented parameters, a presence of an output schema (so return types don't need description coverage), and strong annotations. The description adequately covers that this is a safe, read-only recommendation operation. The main gap is the unaddressed integration question with analyze_face_shape and the other analytical siblings, but for its complexity class, the description is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for all three parameters: mime_type has an enum of supported formats, image_base64 explains the encoding, and adult_and_authorized conveys the consent/lawfulness purpose. The description adds no parameter-specific information beyond calling the image 'face-based,' which mildly reinforces the image parameter's purpose. The schema carries the burden, which is appropriate here, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') with a concrete resource ('face-shape-based hairstyle and framing direction'), which is distinct from all sibling analysis tools. The only slight weakness is that 'direction' is somewhat ambiguous without domain knowledge, and 'Returns' doesn't specify whether this is a classification, recommendation, or generation. Still, the face-shape-based styling scope clearly differentiates it from the analytical siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'face-shape-based' wording implies this tool depends on (or performs) facial analysis in the input image, giving implied usage context. However, there is no explicit mention of when to prefer this over alternatives like analyze_face_shape or calculate_facial_ratios, nor is it stated whether prior face-shape analysis is a precondition. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rate_jawlineRate jawlineBRead-onlyInspect
Returns visible jawline definition, balance, and lower-face cues.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's safe and non-mutating. The description adds that it returns 'visible jawline definition, balance, and lower-face cues', which gives some insight into output nature. However, it does not explain any edge cases (e.g., what happens if image is ambiguous, whether it requires specific pose) or rate limits. Since annotations cover the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, immediately states the action (returns) and the subject (jawline definition, balance, cues). It is front-loaded, avoids fluff, and every word adds value. No redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with full schema coverage and an output schema (as indicated by has_output_schema: true), the description is adequate. It tells what it returns but doesn't mention what the output schema contains (e.g., scores, attributes). It also doesn't clarify whether 'visible' implies something about camera angle or lighting. It is functional but could be more informative about the expected output structure or any constraints, given the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (mime_type, image_base64, adult_and_authorized) are already described in the schema. The description does not add extra meaning about parameters, such as constraints or typical usage. According to the rubric, with high coverage, baseline is 3, and there is no added value beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'visible jawline definition, balance, and lower-face cues', which is a specific verb (returns) and resource (jawline). It distinguishes itself from sibling tools like analyze_face_shape or analyze_facial_symmetry by focusing on jawline-specific attributes. Not a perfect 5 because it doesn't explicitly frame it as a rating or score, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like analyze_face_shape or score_face. There is no mention of prerequisites (e.g., image quality, frontal view) or exclusions. The only context is the tool name and return description, which implies jawline analysis but does not help an agent decide between this and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_attractiveness_testRun subjective appearance testARead-onlyInspect
Returns a photo-specific subjective appearance score and visible basis.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | Focused measurement key. |
| error | No | Present when the focused analysis fails. |
| model | Yes | Model version used for visible analysis. |
| phi_score | No | Optional Golden Ratio context when relevant. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | No | Optional face-shape context when relevant. |
| analysis_id | Yes | Unique analysis identifier. |
| measurement | Yes | Score, label, analysis, and tool-specific detail rows. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=false. The description adds minimal context by noting the score is 'photo-specific' and includes a 'visible basis', which hints at output structure but does not disclose additional behaviors (e.g., auth needs, rate limits, or side effects). No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose. It contains no filler or redundant information, earning every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a solid schema (100% param coverage, output schema present) and annotations covering safety. However, the description lacks any guidance on alternative tools or use-case boundaries, which is relevant given the large sibling set. It is adequate for a read-only scoring tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters (image_base64, mime_type, adult_and_authorized) fully described in the schema. The description does not add any additional meaning or context beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and clearly identifies the resource ('photo-specific subjective appearance score and visible basis'). It distinguishes from sibling tools by highlighting 'subjective' and 'photo-specific', which sets it apart from objective facial analysis tools like analyze_canthal_tilt or calculate_facial_ratios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling tools (e.g., score_face, analyze_psl_score). It simply states what it returns without any context on scenarios, prerequisites, or exclusions, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_faceScore an authorized adult faceARead-onlyInspect
Returns descriptive face-shape context, five subjective appearance scores, and an approximate Golden Ratio phi score for one authorized adult photo.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes | Image media type. Supported formats are JPEG, PNG, and WebP. | |
| image_base64 | Yes | Base64-encoded JPEG, PNG, or WebP bytes, without a data URL prefix. | |
| measurement_key | No | Optional. Return only one focused free-tool output instead of the full face report. | |
| adult_and_authorized | Yes | Confirms the pictured person is an adult and the submission is lawful. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when the tool call fails. |
| model | Yes | Model version used for visible analysis. |
| scores | Yes | Five named appearance subscores from 0 to 10. |
| summary | Yes | Concise photo-specific report summary. |
| phi_score | Yes | Separate 0 to 100 Golden Ratio proportion context. |
| disclaimer | Yes | Required responsible-use disclaimer. |
| face_shape | Yes | Descriptive visible face-shape category and explanation. |
| analysis_id | Yes | Unique analysis identifier. |
| measurements | No | Focused free-tool measurement outputs. |
| overall_score | Yes | Fixed weighted score from 0 to 10. |
| rubric_version | Yes | Versioned iLook scoring rubric. |
| overall_score_100 | Yes | The same fixed weighted score from 0 to 100. |
| score_explanations | No | Photo-specific explanation for each named subscore. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safe read-only nature is covered. The description adds useful caveats by calling the scores 'subjective' and the phi score 'approximate', but it does not disclose additional behavioral details such as authorization handling, rate limits, or output variability. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the primary outputs and includes necessary qualifiers. Every word earns its place, and there is no repetitive or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema, rich input schema, and annotations, the description is largely complete for understanding the tool's core behavior. It could mention the optional measurement_key behavior or explicitly reference focused sibling alternatives, but those are already covered in structured fields, so the description does not leave major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented with types, enums, and meanings. The description contributes little beyond stating that a single authorized adult photo is processed, which is consistent with the schema but does not add significant parameter-level insight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it returns face-shape context, five subjective appearance scores, and an approximate Golden Ratio phi score for one authorized adult photo. This is a specific verb-plus-resource statement and naturally distinguishes score_face from the sibling tools that analyze a single facial attribute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use score_face versus the focused sibling tools, nor does it explain when to request the full report versus the optional measurement_key output. The intended usage is only implied by the tool name and the input schema, not by the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
14 tool updates
- Added
analyze_adult_face_age_cues - Added
analyze_canthal_tilt - Added
analyze_color_palette - Added
analyze_face_shape - Added
analyze_facial_symmetry - Added
analyze_golden_ratio_face - Added
analyze_psl_score - Added
analyze_skin_appearance - Added
calculate_facial_ratios - Added
detect_eye_shape - Added
find_hairstyle_direction - Added
rate_jawline - Added
run_attractiveness_test - Changed
score_face3 fields changed- added
Input schema / properties / measurement_keyAdded value: +{ + "description": "Optional. Return only one focused free-tool output instead of the full face report.", + "enum": [ + "face_shape_detector", + "jawline_rating", + "canthal_tilt", + "eye_shape", + "face_age_cues", + "facial_symmetry", + "golden_ratio_face", + "attractiveness_test", + "psl_score", + "facial_ratios", + "color_analysis", + "skin_analysis", + "hairstyle_finder" + ], + "type": "string" +} - added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the tool call fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Descriptive visible face-shape category and explanation.", + "type": "object" + }, + "measurements": { + "description": "Focused free-tool measurement outputs.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "overall_score": { + "description": "Fixed weighted score from 0 to 10.", + "type": "number" + }, + "overall_score_100": { + "description": "The same fixed weighted score from 0 to 100.", + "type": "integer" + }, + "phi_score": { + "description": "Separate 0 to 100 Golden Ratio proportion context.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "score_explanations": { + "description": "Photo-specific explanation for each named subscore.", + "type": "object" + }, + "scores": { + "description": "Five named appearance subscores from 0 to 10.", + "type": "object" + }, + "summary": { + "description": "Concise photo-specific report summary.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "overall_score", + "overall_score_100", + "scores", + "face_shape", + "phi_score", + "summary", + "disclaimer" + ], + "type": "object" +}
14 tool updates
- Removed
analyze_adult_face_age_cues - Removed
analyze_canthal_tilt - Removed
analyze_color_palette - Removed
analyze_face_shape - Removed
analyze_facial_symmetry - Removed
analyze_golden_ratio_face - Removed
analyze_psl_score - Removed
analyze_skin_appearance - Removed
calculate_facial_ratios - Removed
detect_eye_shape - Removed
find_hairstyle_direction - Removed
rate_jawline - Removed
run_attractiveness_test - Changed
score_face3 fields changed- removed
Input schema / properties / measurement_keyRemoved value: -{ - "description": "Optional. Return only one focused free-tool output instead of the full face report.", - "enum": [ - "face_shape_detector", - "jawline_rating", - "canthal_tilt", - "eye_shape", - "face_age_cues", - "facial_symmetry", - "golden_ratio_face", - "attractiveness_test", - "psl_score", - "facial_ratios", - "color_analysis", - "skin_analysis", - "hairstyle_finder" - ], - "type": "string" -} - removed
Input schema / properties / mime_type / descriptionRemoved value: -"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -{ - "additionalProperties": true, - "properties": { - "analysis_id": { - "description": "Unique analysis identifier.", - "type": "string" - }, - "disclaimer": { - "description": "Required responsible-use disclaimer.", - "type": "string" - }, - "error": { - "description": "Present when the tool call fails.", - "properties": { - "code": { - "description": "Stable iLook error code.", - "type": "string" - }, - "message": { - "description": "Human-readable failure explanation.", - "type": "string" - } - }, - "type": "object" - }, - "face_shape": { - "description": "Descriptive visible face-shape category and explanation.", - "type": "object" - }, - "measurements": { - "description": "Focused free-tool measurement outputs.", - "type": "object" - }, - "model": { - "description": "Model version used for visible analysis.", - "type": "string" - }, - "overall_score": { - "description": "Fixed weighted score from 0 to 10.", - "type": "number" - }, - "overall_score_100": { - "description": "The same fixed weighted score from 0 to 100.", - "type": "integer" - }, - "phi_score": { - "description": "Separate 0 to 100 Golden Ratio proportion context.", - "type": "object" - }, - "rubric_version": { - "description": "Versioned iLook scoring rubric.", - "type": "string" - }, - "score_explanations": { - "description": "Photo-specific explanation for each named subscore.", - "type": "object" - }, - "scores": { - "description": "Five named appearance subscores from 0 to 10.", - "type": "object" - }, - "summary": { - "description": "Concise photo-specific report summary.", - "type": "string" - } - }, - "required": [ - "analysis_id", - "rubric_version", - "model", - "overall_score", - "overall_score_100", - "scores", - "face_shape", - "phi_score", - "summary", - "disclaimer" - ], - "type": "object" -}New value: +null
14 tool updates
- Changed
analyze_adult_face_age_cues2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_canthal_tilt2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_color_palette2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_face_shape2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_facial_symmetry2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_golden_ratio_face2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_psl_score2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
analyze_skin_appearance2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
calculate_facial_ratios2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
detect_eye_shape2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
find_hairstyle_direction2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
rate_jawline2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
run_attractiveness_test2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the focused analysis fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Optional face-shape context when relevant.", + "type": "object" + }, + "measurement": { + "description": "Score, label, analysis, and tool-specific detail rows.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "phi_score": { + "description": "Optional Golden Ratio context when relevant.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "tool": { + "description": "Focused measurement key.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "tool", + "measurement", + "disclaimer" + ], + "type": "object" +}
- Changed
score_face2 fields changed- added
Input schema / properties / mime_type / descriptionAdded value: +"Image media type. Supported formats are JPEG, PNG, and WebP." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "analysis_id": { + "description": "Unique analysis identifier.", + "type": "string" + }, + "disclaimer": { + "description": "Required responsible-use disclaimer.", + "type": "string" + }, + "error": { + "description": "Present when the tool call fails.", + "properties": { + "code": { + "description": "Stable iLook error code.", + "type": "string" + }, + "message": { + "description": "Human-readable failure explanation.", + "type": "string" + } + }, + "type": "object" + }, + "face_shape": { + "description": "Descriptive visible face-shape category and explanation.", + "type": "object" + }, + "measurements": { + "description": "Focused free-tool measurement outputs.", + "type": "object" + }, + "model": { + "description": "Model version used for visible analysis.", + "type": "string" + }, + "overall_score": { + "description": "Fixed weighted score from 0 to 10.", + "type": "number" + }, + "overall_score_100": { + "description": "The same fixed weighted score from 0 to 100.", + "type": "integer" + }, + "phi_score": { + "description": "Separate 0 to 100 Golden Ratio proportion context.", + "type": "object" + }, + "rubric_version": { + "description": "Versioned iLook scoring rubric.", + "type": "string" + }, + "score_explanations": { + "description": "Photo-specific explanation for each named subscore.", + "type": "object" + }, + "scores": { + "description": "Five named appearance subscores from 0 to 10.", + "type": "object" + }, + "summary": { + "description": "Concise photo-specific report summary.", + "type": "string" + } + }, + "required": [ + "analysis_id", + "rubric_version", + "model", + "overall_score", + "overall_score_100", + "scores", + "face_shape", + "phi_score", + "summary", + "disclaimer" + ], + "type": "object" +}
14 tool updates
- Added
analyze_adult_face_age_cues - Added
analyze_canthal_tilt - Added
analyze_color_palette - Added
analyze_face_shape - Added
analyze_facial_symmetry - Added
analyze_golden_ratio_face - Added
analyze_psl_score - Added
analyze_skin_appearance - Added
calculate_facial_ratios - Added
detect_eye_shape - Added
find_hairstyle_direction - Added
rate_jawline - Added
run_attractiveness_test - Changed
score_face1 field changed- added
Input schema / properties / measurement_keyAdded value: +{ + "description": "Optional. Return only one focused free-tool output instead of the full face report.", + "enum": [ + "face_shape_detector", + "jawline_rating", + "canthal_tilt", + "eye_shape", + "face_age_cues", + "facial_symmetry", + "golden_ratio_face", + "attractiveness_test", + "psl_score", + "facial_ratios", + "color_analysis", + "skin_analysis", + "hairstyle_finder" + ], + "type": "string" +}
1 tool update
- First observed
score_face
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Generate AI influencer photos, face swaps, and character sheets with a consistent face.
Provides YouCam API for skin, face & body analysis, beauty/makeup try-on, and hair & beard styling.
AceDataCloud Face Transform MCP: keypoints, beautify, age/gender, swap, cartoon, liveness
AI photos from a selfie across 150+ themes, plus 19 image edits and AI video.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceExtracts deterministic facial features from photos locally using MediaPipe, returning structured JSON with measurements like face shape ratios and symmetry.MIT
- FlicenseNot gradedqualityFmaintenanceProvides AI-based skin analysis from selfie image URLs, returning comprehensive skin status, personalized management recommendations, and therapy guidance including skin type classification, detailed condition scores, and treatment suggestions.-
- AlicenseAqualityAmaintenanceEnables face keypoint detection, beautification, age/gender transform, face swap, cartoonization, and liveness detection via AceDataCloud API.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables face detection and recognition in Agentic AI workflows using Azure Face API, supporting attribute detection, image comparison, and face recognition.9MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have distinct purposes (e.g., age, skin, symmetry), but 'score_face' overlaps with several others (face shape, golden ratio, attractiveness) and could be confused with the individual analyzers. Descriptions are clear enough to differentiate, but the aggregation tool introduces some ambiguity.
All tools follow a consistent verb_noun pattern with lowercase and underscores (analyze_*, detect_*, calculate_*, etc.). The verb varies but the format is uniform and readable.
14 tools is a well-scoped number for a face analysis server—not too few to be trivial, not too many to be overwhelming. Each tool covers a specific metric or feature.
The toolset covers a broad range of facial analysis dimensions (age, symmetry, ratios, skin, eye shape, hairstyle, jawline, attractiveness, color palette, golden ratio, PSL) and appears to provide a full suite for the intended domain.