Skip to main content
Glama

Scribe Mail

List marketing campaigns

list_marketing_campaigns
Read-onlyIdempotent

List the workspace's marketing campaigns (signature banners), each with its status, schedule, targeting and content block tree. Use it to find a campaign's id before update_, schedule_, pause_, resume_, delete_ or preview_marketing_campaign; there is no single-campaign get and no server-side filter, so pick the campaign from this list. To see the rendered banner rather than its block tree, use preview_marketing_campaign. Read-only. Returns one page by default; set auto_paginate to fetch up to max_pages pages in one call, and truncated: true means more remain, so call again with a later page.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page (default 1).
limitNoPage size, 1–100 (default 50).
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
max_pagesNoPage cap when auto_paginate is true (default 5).
auto_paginateNoFetch multiple pages up to `max_pages` (default false).

Output Schema

NameRequiredDescriptionDefault
dataYes
truncatedYesTrue when auto_paginate stopped at max_pages with more results remaining.
paginationYes
pages_fetchedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / data / items / properties / name / description
      Added value: +"Campaign name. Null for a legacy draft that was saved without one. Report it as an unnamed draft and refer to it by its id rather than inventing a name."
    • changedOutput schema / properties / data / items / properties / name / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
  2. Changed6 schema fields changed
    • removedOutput schema / properties / data / items / properties / end_time / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / items / properties / end_time / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / items / properties / start_time / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / items / properties / start_time / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / items / properties / time_zone / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / items / properties / time_zone / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description still adds non-obvious behavior: no server-side filtering means the agent must page and scan client-side, one page is returned by default, auto_paginate respects max_pages, and `truncated: true` signals more pages remain. Those are exactly the facts needed to drive a correct loop.

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?

Three sentences, front-loaded with what is returned, then when to use it, then how pagination behaves. No filler; every clause carries decision-relevant information.

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 5-parameter read tool with a full output schema, the description supplies the missing pieces — the absence of filters, the pagination contract, and the sibling routing. Nothing an agent needs to invoke it correctly is left out.

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%, so the baseline is 3; the description earns above that by explaining the interaction between `auto_paginate`, `max_pages` and the `truncated` response flag, which the schema does not connect. It stops short of documenting `limit` or `context`, but those are adequately covered by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List the workspace's marketing campaigns") and immediately disambiguates the term by equating campaigns with signature banners, then enumerates what each record contains (status, schedule, targeting, content block tree). An agent can distinguish it from list_signatures or preview_marketing_campaign without opening any schema.

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

Usage Guidelines5/5

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

Explicitly names the downstream calls that require an id (update_, schedule_, pause_, resume_, delete_, preview_) and states the constraint that forces this tool: "there is no single-campaign get and no server-side filter." It also routes the agent to the alternative when the goal is a rendered banner rather than a block tree.

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.