Skip to main content
Glama

Generate logo

generate_logo

Generate a brand logo. Before calling, collect a short design brief from the user — do not assume defaults: (1) which package/tier they want to buy, (2) visual style, (3) color scheme (a primary brand color, and a secondary/accent if they want one), (4) layout (icon-only, wordmark, horizontal-lockup, or stacked), (5) the primary surface it must read well on, and (6) the industry. Ask for anything the user has not stated; if they have no preference on a field, propose an option and confirm it before generating. Returns a watermarked low-res preview plus a short checkout link priced at the Brandize service tiers, and an upgrades list of higher tiers (what each adds + its price) — offer these to the user before checkout and let them upgrade if they want, but never force it. The full-resolution, watermark-free deliverable (PNG + vector SVG + commercial license) unlocks only after payment — poll get_logo_result with the returned jobToken to retrieve it. This is a paid purchase; the hosted checkout page collects the user's acceptance of the Terms of Service and Privacy Policy, so no separate consent step is needed here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tierYesDelivery tier — ask the user which package they want to buy; do not assume one. PREMIUM: full-resolution PNG, vector SVG and a commercial license. COMPLETE: adds alternate logo variations (assembled after payment). BRAND_STARTER / BRAND_KIT: full brand-kit packages (lockups, favicons, palettes, collateral; BRAND_KIT adds social assets, app icons and brand documents). Use get_pricing_tiers to show the user prices if they want to compare before choosing.
styleYesVisual style. Ask the user which style they want.
industryYesIndustry category — ask the user; use "other" only if it genuinely fits none.
brandNameYesThe brand or product name.
whatItDoesYesOne short phrase describing what the brand does.
colorPrimaryYesDominant brand color as a 6-digit hex. Ask the user for their color scheme; if unsure, propose one and confirm.
layoutIntentYesLogo layout (icon-only, wordmark, horizontal-lockup, stacked). Ask the user.
antiReferenceNoAnything the logo should avoid looking like.
colorSecondaryNoOptional secondary/accent color as a 6-digit hex. Offer it as part of the color scheme.
primaryUseSurfaceYesPrimary surface the logo must read well on. Ask the user.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYesGuidance for presenting the preview and checkout to the user.
tierYesThe purchased delivery tier.
currencyYesISO currency code.
includesYesWhat the chosen tier delivers.
jobTokenYesAnonymous job token; poll get_logo_result with it. Keep private.
priceUsdYesPrice of the chosen tier in US dollars.
upgradesYesHigher tiers to optionally offer before checkout.
previewUrlYesURL to the watermarked, low-res preview image.
checkoutUrlYesShort checkout link to pay for the deliverable.
upgradeNoteNoGuidance for offering upgrades, when any exist.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "checkoutUrl": {
      +      "description": "Short checkout link to pay for the deliverable.",
      +      "type": "string"
      +    },
      +    "currency": {
      +      "description": "ISO currency code.",
      +      "type": "string"
      +    },
      +    "includes": {
      +      "description": "What the chosen tier delivers.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "jobToken": {
      +      "description": "Anonymous job token; poll get_logo_result with it. Keep private.",
      +      "type": "string"
      +    },
      +    "note": {
      +      "description": "Guidance for presenting the preview and checkout to the user.",
      +      "type": "string"
      +    },
      +    "previewUrl": {
      +      "description": "URL to the watermarked, low-res preview image.",
      +      "type": "string"
      +    },
      +    "priceUsd": {
      +      "description": "Price of the chosen tier in US dollars.",
      +      "type": "number"
      +    },
      +    "tier": {
      +      "description": "The purchased delivery tier.",
      +      "type": "string"
      +    },
      +    "upgradeNote": {
      +      "description": "Guidance for offering upgrades, when any exist.",
      +      "type": "string"
      +    },
      +    "upgrades": {
      +      "description": "Higher tiers to optionally offer before checkout.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "adds": {
      +            "description": "What this tier adds over the chosen one.",
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "currency": {
      +            "description": "ISO currency code.",
      +            "type": "string"
      +          },
      +          "name": {
      +            "description": "Upgrade tier display name.",
      +            "type": "string"
      +          },
      +          "priceUsd": {
      +            "description": "Upgrade price in US dollars.",
      +            "type": "number"
      +          },
      +          "tier": {
      +            "description": "Upgrade tier key.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "tier",
      +          "name",
      +          "priceUsd",
      +          "currency",
      +          "adds"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "jobToken",
      +    "tier",
      +    "previewUrl",
      +    "checkoutUrl",
      +    "priceUsd",
      +    "currency",
      +    "includes",
      +    "upgrades",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • removedInput schema / properties / acceptedTerms
      Removed value: -{
      -  "description": "The purchase is gated on Terms & Privacy consent. Before generating, give the user the Terms of Service and Privacy Policy links (returned by this tool on refusal, and on the /pay checkout page) and ask them to accept as a multiple-choice question — \"Accept Terms & Privacy\" / \"Decline\" — the same way you collected style, color scheme and layout. Pass true ONLY after the user picks accept; if they decline, stop and do not generate. The checkout page will also require them to accept.",
      -  "type": "boolean"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "tier",
      -  "brandName",
      -  "whatItDoes",
      -  "industry",
      -  "style",
      -  "layoutIntent",
      -  "primaryUseSurface",
      -  "colorPrimary",
      -  "acceptedTerms"
      -]New value: +[
      +  "tier",
      +  "brandName",
      +  "whatItDoes",
      +  "industry",
      +  "style",
      +  "layoutIntent",
      +  "primaryUseSurface",
      +  "colorPrimary"
      +]
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description clearly discloses the paid purchase, the watermark-only preview, the full-resolution deliverable gated behind payment, the upgrades list, and that the hosted checkout collects ToS/Privacy consent. This is substantial behavioral context beyond the annotations, which only state that the tool is non-read-only and non-destructive. There is no annotation contradiction.

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

Conciseness5/5

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

The description is front-loaded with the core action, then organizes required user inputs into a numbered brief and follows with return/payment/follow-up behavior. Although it is long, each sentence carries distinct operational information and there is no filler.

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

Completeness5/5

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

For a paid, asynchronous generation tool with 10 parameters, the description covers the full lifecycle: pre-call brief, parameter confirmation rules, immediate return value, upgrades, payment-gated deliverable, and retrieval via get_logo_result. The output schema covers the return structure, so no critical operational information is missing.

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

Parameters4/5

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

Schema coverage is 100 percent, so the baseline is 3. The description adds real value by mapping the design brief items to the required parameters (tier, style, color scheme, layout, primary surface, industry) and establishing the confirm-before-generating rule for unspecified fields. This justifies a point above baseline.

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 opening phrase names the specific operation and resource ('Generate a brand logo'), and the rest details the deliverable and workflow. It is clearly the main logo-creation entry point and distinguishably different from result-poller tools like get_logo_result, but it does not explicitly contrast itself with generate_logo_variations, so it stops short of full sibling differentiation.

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?

It gives explicit pre-call instructions: collect a design brief, never assume defaults, and propose-and-confirm when the user has no preference. It also tells the agent to poll get_logo_result with the returned jobToken after payment. However, it does not explicitly state when to prefer sibling tools like generate_logo_variations or generate_color_palette, so exclusion guidance is absent.

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.