Skip to main content
Glama

Style Report

style_report
Idempotent

Client-ready deliverable: the style-profile analysis rendered as a finished PDF report in English or Japanese (palette with color names, style-aware outfit formulas, virtual draping boards with disclosed candidate conflicts, honest confidence) returned as report_pdf_base64 + full profile JSON. For agents serving human end-clients. Flat $2.99/call, or $1.99/unit with a prepaid report_pack credit (pass pack_code). Choose this when the result goes to a HUMAN end-client as a finished document; if you will present the result yourself, style_profile returns the same analysis as JSON for less.

Input Schema

NameRequiredDescriptionDefault
nameNoclient name printed on the report (same field as REST; client_name is accepted as an alias)
styleNoOne of: feminine, masculine, neutral. Styling context: feminine, masculine or neutralneutral
imagesNo1-3 face photos
languageNoreport languageen
image_urlNoAbsolute http(s) URL of the image (JPEG/PNG/WebP)
pack_codeNoprepaid credit from report_pack (replaces payment)
x_paymentNoOptional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.
image_base64NoBase64-encoded image bytes (alternative to image_url)
questionnaireNooptional answers (see /catalog style-report input)
body_image_urlNooptional full-body photo URL (body-shape layer)
body_image_base64Nooptional full-body photo as base64

Output Schema

NameRequiredDescriptionDefault
bodyYesJSON body of the underlying call (see /samples/{product} for each product's shape)
statusYesHTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)
how_to_payNo
receipt_idNoset on paid results; free re-fetch via get_receipt
payment_requiredNotrue when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / body_image_base64
      Added value: +{
      +  "description": "optional full-body photo as base64",
      +  "type": "string"
      +}
    • addedInput schema / properties / body_image_url
      Added value: +{
      +  "description": "optional full-body photo URL (body-shape layer)",
      +  "type": "string"
      +}
    • removedInput schema / properties / client_name
      Removed value: -{
      -  "description": "name printed on the report",
      -  "type": "string"
      -}
    • addedInput schema / properties / name
      Added value: +{
      +  "description": "client name printed on the report (same field as REST; client_name is accepted as an alias)",
      +  "type": "string"
      +}
    • addedInput schema / properties / questionnaire
      Added value: +{
      +  "description": "optional answers (see /catalog style-report input)",
      +  "type": "object"
      +}
    • addedInput schema / x-required-one-of
      Added value: +[
      +  "image_url",
      +  "image_base64",
      +  "images"
      +]
    • addedOutput schema / properties / how_to_pay
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / payment_required
      Added value: +{
      +  "description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / receipt_id
      Added value: +{
      +  "description": "set on paid results; free re-fetch via get_receipt",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "body": {
      +      "description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
      +    },
      +    "status": {
      +      "description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "body"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / style / description
      Previous value: -"Styling context: feminine, masculine or neutral"New value: +"One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral"
  4. Changed3 schema fields changed
    • addedInput schema / properties / image_base64 / description
      Added value: +"Base64-encoded image bytes (alternative to image_url)"
    • addedInput schema / properties / image_url / description
      Added value: +"Absolute http(s) URL of the image (JPEG/PNG/WebP)"
    • addedInput schema / properties / style / description
      Added value: +"Styling context: feminine, masculine or neutral"
  5. Added

TDQS

A4.3/5.0
Behavior4/5

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

Adds substantial context the annotations cannot carry: flat $2.99/call pricing, $1.99 with a prepaid report_pack credit, and the x_payment behavior where omitting the header returns payment requirements without being charged. It does not address whether a retried/duplicate call re-charges or how idempotency interacts with billing, which matters for a paid tool even though idempotentHint is set — that omission keeps it below a 5.

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

Conciseness4/5

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

Front-loads the deliverable in the first clause, then the audience, then pricing, then the sibling comparison — a sensible priority order with no filler sentences. It is dense but slightly over-packed, with the report-contents parenthetical competing for attention in the opening sentence.

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 the description needn't enumerate return values (though it names report_pdf_base64 and profile JSON), and the payment and pack-credit story is fully explained. The gap is the 11-parameter input surface: the description never mentions that at least one of image_url/image_base64/images is required, leaving that constraint entirely to the schema for a complex, nested-object call.

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. The description reinforces two parameters (language en/ja, pack_code as prepaid credit replacing payment) but adds no syntax or format meaning beyond what the schema already documents, and says nothing about the at-least-one-image requirement encoded as x-required-one-of.

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

Purpose5/5

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

States a specific verb and artifact: renders a style-profile analysis as a finished PDF report in English or Japanese, returned as report_pdf_base64 plus profile JSON. It enumerates the report contents (palette with color names, outfit formulas, draping boards, confidence) and explicitly names the sibling style_profile as the JSON-only alternative, so the agent can distinguish the two without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit decision rule: 'Choose this when the result goes to a HUMAN end-client as a finished document; if you will present the result yourself, style_profile returns the same analysis as JSON for less.' It also names the audience condition ('for agents serving human end-clients') and the cheaper path via pack_code, so when-to-use and when-not-to-use are both covered.

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