adcp-creative

安装量: 57
排名: #13074

安装

npx skills add https://github.com/adcontextprotocol/adcp --skill adcp-creative
AdCP Creative Protocol
This skill enables you to execute the AdCP Creative Protocol with creative agents. Use the standard MCP tools (
list_creative_formats
,
build_creative
,
preview_creative
) exposed by the connected agent.
Overview
The Creative Protocol provides 3 standardized tasks for building and previewing advertising creatives:
Task
Purpose
Response Time
list_creative_formats
View format specifications
~1s
build_creative
Generate or transform creatives
~30s-5m
preview_creative
Get visual previews
~5s
Typical Workflow
Discover formats
:
list_creative_formats
to see available format specs
Build creative
:
build_creative
to generate or transform a manifest
Preview
:
preview_creative
to see how it renders
Sync
Use
sync_creatives
(media-buy task) to traffic the creative
Task Reference
list_creative_formats
Discover creative formats and their specifications.
Request:
{
"type"
:
"video"
,
"asset_types"
:
[
"image"
,
"text"
]
}
Key fields:
format_ids
(array, optional): Request specific format IDs
type
(string, optional): Filter by type:
video
,
display
,
audio
,
dooh
asset_types
(array, optional): Filter by accepted asset types
max_width
,
max_height
(integer, optional): Dimension constraints
is_responsive
(boolean, optional): Filter for responsive formats
name_search
(string, optional): Search formats by name
Response contains:
formats
Array of format definitions with
format_id
,
name
,
type
,
assets_required
,
renders
creative_agents
Optional array of other creative agents providing additional formats
build_creative
Generate a creative from scratch or transform an existing creative to a different format.
Pure Generation (from brief):
{
"message"
:
"Create a banner promoting our winter sale with a warm, inviting feel"
,
"target_format_id"
:
{
"agent_url"
:
"https://creative.adcontextprotocol.org"
,
"id"
:
"display_300x250_generative"
}
,
"brand"
:
{
"domain"
:
"mybrand.com"
}
}
Transformation (resize/reformat):
{
"message"
:
"Adapt this leaderboard to a 300x250 banner"
,
"creative_manifest"
:
{
"format_id"
:
{
"agent_url"
:
"https://creative.adcontextprotocol.org"
,
"id"
:
"display_728x90"
}
,
"assets"
:
{
"banner_image"
:
{
"asset_type"
:
"image"
,
"url"
:
"https://cdn.mybrand.com/leaderboard.png"
,
"width"
:
728
,
"height"
:
90
}
,
"headline"
:
{
"asset_type"
:
"text"
,
"content"
:
"Spring Sale - 30% Off"
}
}
}
,
"target_format_id"
:
{
"agent_url"
:
"https://creative.adcontextprotocol.org"
,
"id"
:
"display_300x250"
}
}
Key fields:
message
(string, optional): Natural language instructions for generation/transformation
creative_manifest
(object, optional): Source manifest - minimal for generation, complete for transformation
target_format_id
(object, required): Format to generate -
{ agent_url, id }
Response contains:
creative_manifest
Complete manifest ready for
preview_creative
or
sync_creatives
preview_creative
Generate visual previews of creative manifests.
Single preview:
{
"request_type"
:
"single"
,
"creative_manifest"
:
{
"format_id"
:
{
"agent_url"
:
"https://creative.adcontextprotocol.org"
,
"id"
:
"display_300x250"
}
,
"assets"
:
{
"banner_image"
:
{
"asset_type"
:
"image"
,
"url"
:
"https://cdn.example.com/banner.png"
,
"width"
:
300
,
"height"
:
250
}
}
}
}
With device variants:
{
"request_type"
:
"single"
,
"creative_manifest"
:
{
/ includes format_id, assets /
}
,
"inputs"
:
[
{
"name"
:
"Desktop"
,
"macros"
:
{
"DEVICE_TYPE"
:
"desktop"
}
}
,
{
"name"
:
"Mobile"
,
"macros"
:
{
"DEVICE_TYPE"
:
"mobile"
}
}
]
}
Batch preview (5-10x faster):
{
"request_type"
:
"batch"
,
"requests"
:
[
{
"creative_manifest"
:
{
/ creative 1 /
}
}
,
{
"creative_manifest"
:
{
/ creative 2 /
}
}
]
}
Key fields:
request_type
(string, required):
"single"
or
"batch"
format_id
(object, optional): Format identifier. Defaults to
creative_manifest.format_id
if omitted.
creative_manifest
(object, required): Complete creative manifest
inputs
(array, optional): Generate variants with different macros/contexts
output_format
(string, optional):
"url"
(default) or
"html"
Response contains:
previews
Array of preview objects with
preview_url
or
preview_html
expires_at
When preview URLs expire
Key Concepts
Format IDs
All format references use structured objects:
{
"format_id"
:
{
"agent_url"
:
"https://creative.adcontextprotocol.org"
,
"id"
:
"display_300x250"
}
}
The
agent_url
specifies the creative agent authoritative for this format.
Creative Manifests
Manifests pair format specifications with actual assets:
{
"format_id"
:
{
"agent_url"
:
"https://creative.adcontextprotocol.org"
,
"id"
:
"display_300x250"
}
,
"assets"
:
{
"banner_image"
:
{
"asset_type"
:
"image"
,
"url"
:
"https://cdn.example.com/banner.png"
,
"width"
:
300
,
"height"
:
250
}
,
"headline"
:
{
"asset_type"
:
"text"
,
"content"
:
"Shop Now"
}
,
"clickthrough_url"
:
{
"asset_type"
:
"url"
,
"url"
:
"https://brand.com/sale"
}
}
}
Asset Types
Common asset types:
image
Static images (JPEG, PNG, WebP)
video
Video files (MP4, WebM) or VAST tags
audio
Audio files (MP3, M4A) or DAAST tags
text
Headlines, descriptions, CTAs
html
HTML5 creatives or third-party tags
javascript
JavaScript tags
url
Tracking pixels, clickthrough URLs
Brand identity
For generative creatives, provide brand context by domain:
{
"brand"
:
{
"domain"
:
"acmecorp.com"
}
}
The agent resolves the domain to retrieve the brand's identity (name, colors, guidelines, etc.) from its
brand.json
file.
Generative vs Transformation
Pure Generation
Provide
target_format_id
,
brand
, and a natural language
message
. Creative agent generates all output assets from scratch.
Transformation
Complete manifest with existing assets. Creative agent adapts to target format, following
message
guidance.
Error Handling
Common error patterns:
400 Bad Request
Invalid manifest or format_id
404 Not Found
Format not supported by this agent
422 Validation Error
Manifest doesn't match format requirements Error responses include: { "error" : { "code" : "INVALID_FORMAT_ID" , "message" : "format_id must be a structured object with 'agent_url' and 'id' fields" } }
返回排行榜