list_creative_formats
Discover all creative formats supported by this agent. Returns full format definitions, not just IDs. Response Time: ~1 second (simple database lookup) Authentication: None required - this endpoint must be publicly accessible for format discovery Request Schema:https://adcontextprotocol.org/schemas/v1/media-buy/list-creative-formats-request.json
Response Schema: https://adcontextprotocol.org/schemas/v1/media-buy/list-creative-formats-response.json
Recursive Discovery Model
Both sales agents and creative agents use the same response format:- formats: Full format definitions for formats they own/support
- creative_agents (optional): URLs to other creative agents providing additional formats
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
format_ids | FormatID[] | No | Return only these specific structured format ID objects (e.g., from get_products response) |
type | string | No | Filter by format type: "audio", "video", "display", "dooh" (technical categories with distinct requirements) |
asset_types | string[] | No | Filter to formats that include these asset types. For third-party tags, search for ["html"] or ["javascript"]. E.g., ["image", "text"] returns formats with images and text, ["javascript"] returns formats accepting JavaScript tags. Values: image, video, audio, text, html, javascript, url |
max_width | integer | No | Maximum width in pixels (inclusive). Returns formats where any render has width ≤ this value. For multi-render formats (e.g., video with companion banner), matches if at least one render fits. |
max_height | integer | No | Maximum height in pixels (inclusive). Returns formats where any render has height ≤ this value. For multi-render formats, matches if at least one render fits. |
min_width | integer | No | Minimum width in pixels (inclusive). Returns formats where any render has width ≥ this value. |
min_height | integer | No | Minimum height in pixels (inclusive). Returns formats where any render has height ≥ this value. |
is_responsive | boolean | No | Filter for responsive formats that adapt to container size. When true, returns formats without fixed dimensions. |
name_search | string | No | Search for formats by name (case-insensitive partial match, e.g., "mobile" or "vertical") |
Multi-Render Dimension Filtering
Formats may produce multiple rendered pieces (e.g., video + companion banner, desktop + mobile variants). Dimension filters use “any render fits” logic:max_width: 300, max_height: 250- Returns formats where AT LEAST ONE render is ≤ 300×250- Use case: “Find formats that can render into my 300×250 ad slot”
- Example: A format with primary video (1920×1080) + companion banner (300×250) matches because the companion fits
Response Structure
Field Descriptions
- formats: Full format definitions for formats this agent owns/supports
- format_id: Unique identifier
- agent_url: Authoritative source URL for this format (where it’s defined)
- All other format fields as per Format schema
- creative_agents (optional): Other creative agents providing additional formats
- agent_url: Base URL to query for more formats (call list_creative_formats)
- agent_name: Human-readable name
- capabilities: What the agent can do (validation/assembly/generation/preview)
Protocol-Specific Examples
The AdCP payload is identical across protocols. Only the request/response wrapper differs.Example 1: Find Formats by Asset Types
“I have images and text - what can I build?”MCP Request
Response
Example 2: Find Formats for Third-Party JavaScript Tags
“I have 300x250 JavaScript tags - which formats support them?”MCP Request
Response
Example 3: Find Formats by Size
“What formats can accept HTML, JavaScript, or images up to 970x250?” Important: Theasset_types parameter uses OR logic - formats matching ANY of the specified asset types will be returned.
MCP Request
- Sales agent - Returns formats the sales agent supports directly
- Reference creative agent (
https://creative.adcontextprotocol.org) - Returns all standard formats matching the criteria
Example 4: Search by Name
“Show me mobile or vertical formats”MCP Request
Response
Example 4: Get Specs for Specific Format IDs
“I got these format IDs from get_products - give me the full specs”MCP Request
Response
MCP Response
Message:A2A Request
Natural Language Invocation
Explicit Skill Invocation
A2A Response
Scenarios
Discovering Standard Video Formats
Request:Finding Display Carousel Formats
Request:Usage Notes
- Primary use case: Get creative specifications after
get_productsreturns format IDs - Format IDs are just strings until you get their specifications from this tool
- Standard formats follow IAB specifications and work across multiple publishers
- Custom formats (like “homepage_takeover”) are publisher-specific with unique requirements
- The
format_idsparameter is the most efficient way to get specs for specific formats returned by products - Asset requirements vary by format type:
- Audio formats: duration, file types, bitrate specifications
- Video formats: resolution, aspect ratio, codec, delivery method
- Display formats: dimensions, file types, file size limits
- Rich media formats: multiple assets with specific roles and requirements
Implementation Guide
Generating Format Messages
Themessage field should provide helpful context about available formats: