Preview Google Search, PMax, Display, YouTube, Meta and LinkedIn ad mockups in chat. No sign-in.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns the full specification for each ad format: field counts, character limits and supported media.
Optional filter: only return specs for these formats
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http ppc-ad-editor https://studio.ppcadeditor.com/api/mcp/preview
Returns the full specification for each ad format: field counts, character limits and supported media.
| Argument | Type | Description |
|---|---|---|
| formats | array | Optional filter: only return specs for these formats |
{
"type": "object",
"properties": {
"formats": {
"type": "array",
"items": {
"enum": [
"RSA",
"RDA",
"PMAX",
"DEMAND_GEN",
"META_SINGLE",
"META_CAROUSEL",
"META_STORY",
"LINKEDIN_SINGLE",
"LINKEDIN_CAROUSEL",
"YOUTUBE"
],
"type": "string"
},
"description": "Optional filter: only return specs for these formats"
}
}
}Show a realistic mockup of one ad (Google Search, Display, Performance Max, Demand Gen, YouTube, Facebook/Instagram, LinkedIn) right in the chat. No account needed. The ad copy comes from the caller. Images are hosted HTTPS URLs in images[] / logos[], for example from the advertiser's website; this tool never generates images, and Google Search ads need none. One format per call. The result includes save_url, a link where the user can save the ad to a free PPC Ad Editor account, edit it, and get a share link for a client. Format specs (items allowed per field, max characters per item): - RSA (Google Search): headlines 3-15 (max 30 chars), descriptions 2-4 (max 90 chars) - RDA (Google Display): headlines 1-5 (max 30 chars), long_headlines 0-1 (max 90 chars), descriptions 1-5 (max 90 chars) - PMAX (Performance Max): headlines 1-15 (max 30 chars), long_headlines 0-5 (max 90 chars), descriptions 1-5 (max 90 chars) - DEMAND_GEN (Google Demand Gen): headlines 1-5 (max 40 chars), long_headlines 0-5 (max 90 chars), descriptions 1-5 (max 90 chars) - META_SINGLE (Facebook/Instagram single): headlines 1-5 (max 40 chars), descriptions 1-5 (max 25 chars), primary_texts 0-5 (max 125 chars) - META_CAROUSEL (Facebook/Instagram carousel): headlines 1-10 (max 40 chars), descriptions 1-10 (max 25 chars), primary_texts 0-5 (max 125 chars) - META_STORY (Facebook/Instagram story): primary_texts 0-5 (max 125 chars) - LINKEDIN_SINGLE (LinkedIn single): headlines 1 (max 200 chars), descriptions 1 (max 300 chars), primary_texts 0-1 (max 600 chars) - LINKEDIN_CAROUSEL (LinkedIn carousel): headlines 1-10 (max 45 chars), descriptions 1-10 (max 70 chars), primary_texts 0-1 (max 600 chars) - YOUTUBE (YouTube): headlines 1-5 (max 30 chars), long_headlines 0-1 (max 90 chars), descriptions 1-5 (max 90 chars)
| Argument | Type | Description |
|---|---|---|
| name | string | Optional name for the ad, used if the user saves it |
| logos | array | Core ad-body logos (brand/profile image shown next to the ad on Meta, LinkedIn, RDA, PMAX). |
| format* | string | Ad format of the mockup. Field limits per format are listed in the format specs. |
| images | array | Core ad-body images (Meta hero, Carousel cards, PMAX assets, etc.). Feature-gated per format. Google image EXTENSIONS (shown below an RSA text ad) go in extensions.images. |
| videos | array | Core ad-body videos (YouTube URLs). Primary for YOUTUBE format, optional for Meta/PMAX/RDA. |
| final_url* | string | |
| headlines | array | |
| extensions | object | Ad extensions (aka ad assets). Google formats only — ignored on Meta/LinkedIn/YouTube. |
| descriptions | array | |
| business_name | string | |
| primary_texts | array | |
| call_to_action | string |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
| display_path_1 | string |
| display_path_2 | string |
| long_headlines | array |
{
"type": "object",
"required": [
"format",
"final_url"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "Optional name for the ad, used if the user saves it"
},
"logos": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"width",
"height"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"width": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"height": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
}
}
},
"maxItems": 5,
"description": "Core ad-body logos (brand/profile image shown next to the ad on Meta, LinkedIn, RDA, PMAX)."
},
"format": {
"enum": [
"RSA",
"RDA",
"PMAX",
"DEMAND_GEN",
"META_SINGLE",
"META_CAROUSEL",
"META_STORY",
"LINKEDIN_SINGLE",
"LINKEDIN_CAROUSEL",
"YOUTUBE"
],
"type": "string",
"description": "Ad format of the mockup. Field limits per format are listed in the format specs."
},
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"width",
"height"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"ratio": {
"type": "string",
"maxLength": 20
},
"width": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"height": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"alt_text": {
"type": "string",
"maxLength": 100
}
}
},
"maxItems": 20,
"description": "Core ad-body images (Meta hero, Carousel cards, PMAX assets, etc.). Feature-gated per format. Google image EXTENSIONS (shown below an RSA text ad) go in extensions.images."
},
"videos": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"title"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"title": {
"type": "string",
"maxLength": 200
},
"thumbnail": {
"type": "string",
"format": "uri",
"maxLength": 2048
}
}
},
"maxItems": 5,
"description": "Core ad-body videos (YouTube URLs). Primary for YOUTUBE format, optional for Meta/PMAX/RDA."
},
"final_url": {
"type": "string"
},
"headlines": {
"type": "array",
"items": {
"type": "string"
}
},
"extensions": {
"type": "object",
"properties": {
"call": {
"type": "object",
"required": [
"country_code",
"phone_number"
],
"properties": {
"country_code": {
"type": "string",
"maxLength": 8,
"minLength": 2
},
"phone_number": {
"type": "string",
"maxLength": 20,
"minLength": 7
}
}
},
"logo": {
"type": "object",
"required": [
"url",
"width",
"height"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"width": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"height": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"size_bytes": {
"type": "integer",
"minimum": 0
},
"description": {
"type": "string",
"maxLength": 200
}
}
},
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"url",
"width",
"height"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"width": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"height": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Pixels"
},
"alt_text": {
"type": "string",
"maxLength": 100
},
"size_bytes": {
"type": "integer",
"minimum": 0
}
}
},
"maxItems": 20
},
"callouts": {
"type": "array",
"items": {
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 25
}
}
},
"maxItems": 20
},
"snippets": {
"type": "array",
"items": {
"type": "object",
"required": [
"header",
"values"
],
"properties": {
"header": {
"enum": [
"Amenities",
"Brands",
"Courses",
"Degree programs",
"Destinations",
"Featured hotels",
"Insurance coverage",
"Models",
"Neighborhoods",
"Service catalog",
"Shows",
"Styles",
"Types"
],
"type": "string"
},
"values": {
"type": "array",
"items": {
"type": "string",
"maxLength": 25
},
"maxItems": 10,
"minItems": 3
}
}
},
"maxItems": 10
},
"sitelinks": {
"type": "array",
"items": {
"type": "object",
"required": [
"link_text",
"final_url"
],
"properties": {
"final_url": {
"type": "string",
"maxLength": 2048
},
"link_text": {
"type": "string",
"maxLength": 25
},
"description_line_1": {
"type": "string",
"maxLength": 35
},
"description_line_2": {
"type": "string",
"maxLength": 35
}
}
},
"maxItems": 20
}
},
"description": "Ad extensions (aka ad assets). Google formats only — ignored on Meta/LinkedIn/YouTube."
},
"descriptions": {
"type": "array",
"items": {
"type": "string"
}
},
"business_name": {
"type": "string",
"maxLength": 25
},
"primary_texts": {
"type": "array",
"items": {
"type": "string"
}
},
"call_to_action": {
"type": "string"
},
"display_path_1": {
"type": "string"
},
"display_path_2": {
"type": "string"
},
"long_headlines": {
"type": "array",
"items": {
"type": "string"
}
}
}
}