Skip to main content
Glama

Headshot Photo Check

Check headshot photo

check_headshot_photo
Read-onlyIdempotent

Use this when the user wants technical checks of one professional profile or job-application photo from a public HTTPS URL or base64. Maximum 8 MB; image_url is recommended. Base64 above roughly 150 KB may exceed the Worker CPU budget. Auto mode resizes through an optional Images binding for pixel metrics, including WebP. Without it, only small JPEG/PNG inputs receive pixel checks; other inputs receive explicit header-only results. Sharpness detects coarse blur only. Face framing is not checked. URL fetching contacts user-selected external hosts and is limited to 8 seconds and 3 redirects. Cloudflare Images may internally resize the input for metrics; no edited image is returned. Operational call metadata is logged. Do not use for image creation, editing, personal-attribute judgments or identity verification. The image is analysed in memory and not stored. It does not generate images, video or audio or return edited images. It does not judge attractiveness, identity, age, gender, ethnicity or any other personal attribute; no face recognition or biometric identification.

Input Schema

NameRequiredDescriptionDefault
targetNoDestination for crop recommendations: linkedin, xing, application or all (default). Example: linkedin. All includes every destination.all
image_urlNoPublic HTTPS image URL without credentials or custom port. IP literals and internal hostnames are blocked. Fetching contacts the user-selected external image host and validated redirect hosts; those hosts may log requests. Maximum 2048 characters.
image_base64NoOne JPEG, PNG or WebP encoded as base64, optionally prefixed by data:image/...;base64,. At most 8,000,000 decoded bytes. Prefer image_url; base64 payloads above roughly 150 KB may exceed the Worker CPU budget.

Output Schema

NameRequiredDescriptionDefault
notesYes
targetYesDestination for crop recommendations: linkedin, xing, application or all (default). Example: linkedin. All includes every destination.all
verdictYes
criteriaYes
score_scopeYes
analysis_modeYes
overall_scoreYes
improvement_tipsYes
recommended_cropsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false and openWorldHint=true, yet the description still adds substantial behavior: 8 MB cap, a Worker CPU budget that makes base64 over ~150 KB risky, an optional Images binding that changes which inputs get pixel metrics versus header-only results, sharpness limited to coarse blur, no face-framing check, 8-second/3-redirect fetch limits, and in-memory analysis with no storage. These disclosures are consistent with the annotations — the external-host fetching matches openWorldHint and the no-storage statement matches readOnlyHint/non-destructive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The size, mode and fetch-limit facts are usefully front-loaded, but the tail of the description repeats the same exclusions three times ("no edited image is returned," "does not generate images, video or audio or return edited images," and "no face recognition or biometric identification" after the personal-attribute exclusion). Roughly a third of the text is restatement, which dilutes the operational facts an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the description covers the remaining burden well: input limits, mode-dependent behavior, external-fetch semantics, logging, and privacy. The one gap is that it never positions the tool against its only sibling, leaving the agent to guess when requirements retrieval should precede a check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, and the description largely restates the schema: "image_url is recommended" and the ~150 KB base64 caveat both already appear in the property descriptions. The target parameter's four enum values (linkedin, xing, application, all) and what "all" means are never discussed in the description, so it adds little meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: "technical checks of one professional profile or job-application photo," with the accepted input forms (HTTPS URL or base64). It also carves out a clear boundary by excluding creation, editing, personal-attribute judgment and identity verification, which implicitly separates it from get_headshot_photo_requirements. It never names that sibling explicitly, so an agent must infer the split rather than read it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The opening clause gives an explicit trigger ("Use this when the user wants technical checks of one professional profile or job-application photo") and a long list of when-not cases (creation, editing, personal attributes, identity verification). What is missing is routing: the sibling get_headshot_photo_requirements is never mentioned, so an agent has no stated rule for choosing between them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources