Skip to main content
Glama

get campaign

get_campaign
Read-onlyIdempotent

get campaign. 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. Campaign metadata only. Studio aiActivation/adBuild fields describe workflow or progress state, not saved creative inventory, and must never be used to infer whether creatives exist or how many are saved. If the user asks for creatives or creative inventory for a known campaignId, call list_creatives directly; do not preflight get_campaign.

Input Schema

NameRequiredDescriptionDefault
seatIdNo
taskIdNo
assetIdNo
flightIdNo
seatNameNo
accountIdNo
previewIdNo
campaignIdYes
creativeIdNo
templateIdNo
advertiserIdNo
sourceLocaleNo
targetMarketNo
contentLocaleNo
marketContextNo
targetMarketsNo
contentLocalesNo
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. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds context the annotations cannot: the payload is internal orchestration state, output should be summarized via assistantSummary, and the aiActivation/adBuild fields are workflow state rather than saved creative inventory. That last caveat preempts a real misinterpretation, though auth or rate-limit behavior is unaddressed.

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 definition is front-loaded with classification metadata that merely echoes the annotations, and several sentences are response-formatting policy ('Never display raw JSON', 'Mention IDs only when useful') rather than invocation guidance. The genuinely useful caveat about aiActivation/adBuild is buried mid-paragraph instead of being prominent.

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 not be explained, and the behavioral and presentation rules are well covered. However, for a 23-parameter tool with zero schema documentation, the description leaves the entire input surface opaque, which is a meaningful completeness gap 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?

The schema has 23 parameters at 0% description coverage, and the description never names or explains a single one of them in any semantic detail. Only 'campaignId' appears incidentally in the routing sentence. An agent must guess which of the 22 optional context fields to supply and what they mean.

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?

Although the opening 'get campaign' restates the name, the description adds real scope ('Campaign metadata only') and explicitly carves out adjacent territory by saying creatives are not returned from this endpoint. That is enough for an agent to distinguish get_campaign from list_creatives at selection time, even though the verb itself is generic.

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 an explicit when-not and the alternative: 'If the user asks for creatives... call list_creatives directly; do not preflight get_campaign.' That is a genuine routing rule. It stops short of telling the agent when get_campaign is the right choice versus list_campaigns or get_flight, so it is not a full 5.

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