Skip to main content
Glama

Read saved canonical LeanrIQ Competitor Intelligence V2 for an advertiser-scoped competitor. This does not reacquire evidence or generate new recommendations.

get_competitor_intelligence
Read-onlyIdempotent

Read saved canonical LeanrIQ Competitor Intelligence V2 for an advertiser-scoped competitor. This does not reacquire evidence or generate new recommendations.. 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
websiteNo
seatNameNo
advertiserIdNo
competitorIdNo
sourceLocaleNo
targetMarketNo
contentLocaleNo
marketContextNo
targetMarketsNo
competitorNameNo
contentLocalesNo
includeEvidenceNo
competitorDomainNo
defaultContentLocaleNo
marketLanguageProfileNo
resolvedContentLocaleNo
languageVariantGroupIdNo
requestedOutputLocalesNo
supportedContentLocalesNo

Output Schema

NameRequiredDescriptionDefault
dataYes
metaYes
errorNo
statusYes
assistantSummaryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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"
      +}
  2. Changed12 schema fields changed
    • removedInput schema / properties / adFormat
      Removed value: -{
      -  "default": "DISPLAY_IMAGE",
      -  "enum": [
      -    "DISPLAY_IMAGE",
      -    "IMAGE",
      -    "DISPLAY"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / advertiserId
      Added value: +{
      +  "maxLength": 240,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • removedInput schema / properties / brandName
      Removed value: -{
      -  "maxLength": 120,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • addedInput schema / properties / competitorDomain
      Added value: +{
      +  "maxLength": 300,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / competitorId
      Added value: +{
      +  "maxLength": 240,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / competitorName
      Added value: +{
      +  "maxLength": 180,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / includeEvidence
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
    • removedInput schema / properties / limit
      Removed value: -{
      -  "default": 120,
      -  "maximum": 120,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • removedInput schema / properties / region
      Removed value: -{
      -  "maxLength": 16,
      -  "minLength": 2,
      -  "type": "string"
      -}
    • removedInput schema / properties / vertical
      Removed value: -{
      -  "maxLength": 160,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • changedInput schema / properties / website / maxLength
      Previous value: -255New value: +300
    • removedInput schema / required
      Removed value: -[
      -  "brandName",
      -  "website"
      -]
  3. First observed

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real context beyond them: no evidence reacquisition or recommendation generation, synchronous execution, task support forbidden, and that the payload is internal application state meant for orchestration rather than display.

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 purpose is front-loaded and the output-presentation rules are useful, but the title sentence is repeated verbatim, there is a stray double period, and 'Classification: read-only. Execution: synchronous. Task support: forbidden.' largely restates annotation data rather than earning space.

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

Completeness3/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 presentation guidance is a genuine addition. But with 20 undocumented, all-optional parameters and no routing against the many sibling get_/run_ competitor tools, the definition is incomplete for correct invocation.

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?

Twenty parameters with 0% schema description coverage and no enums, so the description carries the full burden of explaining seatId, advertiserId, competitorId, targetMarket, locale fields, includeEvidence, etc. It mentions none of them, leaving an agent to guess which identifiers are required (required count is 0, so selection is entirely ambiguous).

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 (Read) and resource (saved canonical LeanrIQ Competitor Intelligence V2) with the advertiser-scoped qualifier. It also carves itself out from the run_* sibling by noting it 'does not reacquire evidence or generate new recommendations,' though it never names run_competitor_intelligence explicitly.

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 implies usage (read saved state rather than re-run) and gives rich guidance on how to present the result (lead with assistantSummary, never dump raw JSON, suggest a next LeanrIQ action). However it never states when to pick this over run_competitor_intelligence or leanriq_get_competitor_creative_intelligence, and offers no prerequisites or exclusions.

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