Skip to main content
Glama

Research and return a LeanrIQ brand profile. This read capability does not save to Studio.

get_brand_profile
Read-onlyIdempotent

Research and return a LeanrIQ brand profile. This read capability does not save to Studio.. Classification: read-only. Execution: synchronous. Task support: forbidden. The returned JSON is internal application state for LeanrIQ and ChatGPT orchestration. Use assistantSummary first when responding to the user. Never display raw JSON, data, or meta unless the user explicitly asks for raw JSON. Mention IDs only when useful for follow-up or debugging. Prefer concise, human language, highlight the most useful insight, and suggest the next best LeanrIQ action.

Input Schema

NameRequiredDescriptionDefault
seatIdNo
brandUrlYes
seatNameNo
brandNameYes
advertiserIdNo
forceRefreshNo
sourceLocaleNo
targetMarketNo
contentLocaleNo
marketContextNo
targetMarketsNo
contentLocalesNo
competitorLimitNo
requestedSectionsNo
defaultContentLocaleNo
marketLanguageProfileNo
resolvedContentLocaleNo
languageVariantGroupIdNo
requestedOutputLocalesNo
supportedContentLocalesNo

Output Schema

NameRequiredDescriptionDefault
dataYes
metaYes
errorNo
statusYes
assistantSummaryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / competitorLimit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "const": 5,
      +      "type": "number"
      +    },
      +    {
      +      "const": 8,
      +      "type": "number"
      +    }
      +  ]
      +}
  2. Changed12 schema fields changed
    • addedInput schema / properties / contentLocale
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / contentLocales
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / defaultContentLocale
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / languageVariantGroupId
      Added value: +{
      +  "maxLength": 160,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / marketContext
      Added value: +{
      +  "properties": {
      +    "currency": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "targetMarket": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "targetMarkets": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "timeZone": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / marketLanguageProfile
      Added value: +{
      +  "additionalProperties": {},
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / requestedOutputLocales
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / resolvedContentLocale
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / sourceLocale
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / supportedContentLocales
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / targetMarket
      Added value: +{
      +  "maxLength": 160,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / targetMarkets
      Added value: +{
      +  "items": {
      +    "maxLength": 160,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 50,
      +  "type": "array"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / requestedSections
      Added value: +{
      +  "items": {
      +    "maxLength": 80,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 32,
      +  "type": "array"
      +}
  4. First observed

TDQS

B3.2/5.0
Behavior4/5

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

Beyond the annotations (readOnly, idempotent, non-destructive, open-world), it discloses that nothing is persisted to Studio, that execution is synchronous, that task support is forbidden, and that the payload is internal application state. That is real added context, though 'Classification: read-only' largely restates readOnlyHint.

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?

Purpose is front-loaded and the presentation rules are useful, but the text carries boilerplate ('Classification: read-only. Execution: synchronous. Task support: forbidden.'), a doubled period, and an unbalanced ratio of response-formatting advice to tool behavior.

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

Completeness2/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 no explanation, and the assistantSummary guidance is a plus. But for a 20-parameter research tool with nested objects and zero schema descriptions, the omission of any parameter meaning leaves an agent under-equipped to invoke it correctly.

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

Parameters2/5

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

The tool has 20 parameters at 0% schema description coverage, yet the description explains none of them — not even the two required ones (brandName, brandUrl) or forceRefresh's cache-busting role. The schema's type/format/default constraints are all an agent has to go on.

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?

States a specific verb and resource: 'Research and return a LeanrIQ brand profile.' The clause 'does not save to Studio' begins to separate it from the mutation sibling refresh_brand_profile. It stops short of naming or contrasting with leanriq_get_brand_profile, the near-identical sibling, so it is clear but not fully differentiated.

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

Usage Guidelines3/5

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

The description gives response-handling guidance (use assistantSummary first, never display raw JSON, mention IDs only when useful) but says nothing about when to choose this tool over refresh_brand_profile or leanriq_get_brand_profile. Tool-selection context is only implied.

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