Skip to main content
Glama

Get campaign outputs

get_campaign_outputs
Read-onlyIdempotent

Returns a campaign's status, phase and delivered images (image URL, source ad and aspect ratio for each) for a campaign job reference. Meant to be read again until status is completed or failed. Only delivered images are listed: images that failed generation or the quality check are left out, so results can be fewer than requested, and a failed campaign returns empty results without a reason. Covers campaigns this account owns or that are shared with its organization.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "campaign_job_id": "<campaign_job_id>"
    },
    "name": "get_campaign_outputs"
  }
}

Input Schema

NameRequiredDescriptionDefault
campaign_job_idYesCampaign job reference: _references.campaign_job_id from list_campaigns, or from the call that started the campaign.
response_formatNoOutput format: text (default) or json. table is not available for this tool.

Output Schema

NameRequiredDescriptionDefault
phaseNophase value in this response.
statusNoCurrent progress or delivery state.
resultsNoCompleted outputs currently available for this job or campaign.
_referencesNoOpaque action references accepted by subsequent tool calls.
campaign_idNocampaign id value in this response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / campaign_job_id / description
      Previous value: -"Campaign job reference from list_campaigns."New value: +"Campaign job reference: _references.campaign_job_id from list_campaigns, or from the call that started the campaign."
    • changedInput schema / properties / response_format / description
      Previous value: -"Output format: text or json for capped research examples; table is available only for tracked rival rows."New value: +"Output format: text (default) or json. table is not available for this tool."
  2. Changed1 schema field changed
    • changedOutput schema / properties / results / anyOf
      Previous value: -[
      -  {
      -    "description": "Completed outputs currently available for this job or campaign.",
      -    "items": {
      -      "additionalProperties": false,
      -      "description": "Completed outputs currently available for this job or campaign.",
      -      "properties": {
      -        "_references": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "description": "Opaque action references accepted by subsequent tool calls.",
      -              "properties": {
      -                "generation_job_id": {
      -                  "anyOf": [
      -                    {
      -                      "description": "generation job id value in this response.",
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "generation job id value in this response."
      -                }
      -              },
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Opaque action references accepted by subsequent tool calls."
      -        },
      -        "aspect_ratio": {
      -          "anyOf": [
      -            {
      -              "description": "aspect ratio value in this response.",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "aspect ratio value in this response."
      -        },
      -        "image_url": {
      -          "anyOf": [
      -            {
      -              "description": "image url value in this response.",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "image url value in this response."
      -        },
      -        "source_ad_id": {
      -          "anyOf": [
      -            {
      -              "description": "source ad id value in this response.",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "source ad id value in this response."
      -        }
      -      },
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "description": "Completed outputs currently available for this job or campaign.",
      +    "items": {
      +      "additionalProperties": false,
      +      "description": "Completed outputs currently available for this job or campaign.",
      +      "properties": {
      +        "_references": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "description": "Opaque action references accepted by subsequent tool calls.",
      +              "properties": {
      +                "generation_job_id": {
      +                  "anyOf": [
      +                    {
      +                      "description": "generation job id value in this response.",
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "generation job id value in this response."
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Opaque action references accepted by subsequent tool calls."
      +        },
      +        "aspect_ratio": {
      +          "anyOf": [
      +            {
      +              "description": "aspect ratio value in this response.",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "aspect ratio value in this response."
      +        },
      +        "image_url": {
      +          "anyOf": [
      +            {
      +              "description": "image url value in this response.",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "image url value in this response."
      +        },
      +        "source_ad_id": {
      +          "anyOf": [
      +            {
      +              "anyOf": [
      +                {
      +                  "description": "source ad id value in this response.",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "source ad id value in this response."
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "source ad id value in this response."
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses several non-obvious behaviors: failed-generation and quality-check images are omitted so result counts can be lower than requested, and a failed campaign yields empty results with no reason attached. It also states the access scope (owned or org-shared campaigns), which the annotations do not convey.

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 most important information (what is returned) is front-loaded, followed by polling instruction, then the caveats about missing images and empty failures. Four sentences, each adding a distinct fact, with 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?

Even though an output schema exists and return values need not be spelled out, the description covers the polling lifecycle, partial-result semantics, failure behavior, and authorization scope — everything an agent needs to call and interpret this tool correctly.

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 coverage is 100%, so both parameters are already documented in the schema, including where campaign_job_id comes from and the text/json/table format note. The description adds only that the ID is a 'campaign job reference' used to look up that campaign's outputs, which is marginal added meaning. Baseline 3 is appropriate.

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 description opens with a specific verb and enumerates exactly what is returned: status, phase, and delivered images with image URL, source ad, and aspect ratio. That is far more than a restatement of the name. It does not explicitly distinguish itself from siblings such as get_campaign_export_descriptor or select_campaign_output_version, which keeps it out of the top band.

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 a clear operational rule: read repeatedly until status is completed or failed, which tells the agent to poll rather than call once. It also points at list_campaigns as the source of the job reference. There is no explicit statement of when to prefer a sibling tool instead, so it falls short of the 5 band.

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.