Skip to main content
Glama

Create a media buy (AdCP 3.1 compatibility)

create_media_buy
Idempotent

Same as buy_products in the AdCP 3.1 shape: packages[] with product_id and optional pricing_option_id and budget. Answers task status "submitted"; a human reviews the order within 3 working days. Then sync_creatives and get_media_buys.

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": {
      "idempotency_key": "<idempotency_key>",
      "packages": "<packages>",
      "start_time": "<start_time>",
      "end_time": "<end_time>"
    },
    "name": "create_media_buy"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
brandNo
accountNo
end_timeYes
packagesYes
po_numberNo
start_timeYes
total_budgetNo
idempotency_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=false), the description discloses genuinely useful behavior: the call returns task status 'submitted' and a human reviews the order within 3 working days. That async/human-in-the-loop trait is exactly what annotations cannot express. It stops short of saying whether budget is held, what happens on rejection, or how the task status is later polled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with no filler, and the shape + lifecycle facts come first. It loses a point for leading with a cross-reference to another tool rather than front-loading what this tool actually does.

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?

This is a multi-object create operation with 4 required parameters, nested brand/account/packages structures, no output schema, and no field documentation — a setting where the description should carry much more. It covers the request shape only in outline and omits lifecycle details (approval/rejection outcomes, budget handling, error modes) an agent needs to call it safely.

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?

Schema description coverage is 0% across 9 parameters with nested objects, so the description must do the heavy lifting, but it only names packages[], product_id, pricing_option_id and budget. Nothing explains idempotency_key semantics, the 'asap' vs timestamp start_time union, total_budget vs per-package budget precedence, or brand.domain requirements — the majority of the schema remains opaque.

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

Purpose3/5

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

The description never directly states that it creates a media buy order; it defines itself relationally ('Same as buy_products in the AdCP 3.1 shape') and then describes the packages shape. The verb+resource is only inferable from the title and the 'submitted / human reviews the order' sentence, so an agent must read carefully to know this is the write-side counterpart of buy_products.

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

Usage Guidelines2/5

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

It says the tool is 'the same as buy_products', which points at a sibling but explains no basis for choosing between them — an agent cannot tell why two identical-shaped tools exist. The only concrete guidance is post-call sequencing ('Then sync_creatives and get_media_buys'), with no exclusions, prerequisites, or when-not-to-use conditions.

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