PPC Ad Editor
Server Details
Preview Google Search, PMax, Display, YouTube, Meta and LinkedIn ad mockups in chat. No sign-in.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools serve clearly separate purposes: get_ad_formats is a static reference lookup, while preview_ad renders a mockup from caller-supplied copy. There is no overlap in the input, output, or intent, so an agent could not plausibly misselect between them.
Both names follow the same verb_noun snake_case convention (get_ad_formats, preview_ad) and are self-describing. With only two names there is no drift in style.
Two tools is thin for a server branded as an 'Ad Editor' — the surface is really a spec sheet plus a previewer. Each tool earns its place, but the count sits at the borderline the rubric marks as thin rather than well-scoped.
The description/preview loop is covered, but there is no tool to validate ad copy against the stated character limits, list the supported formats programmatically, or persist/edit an ad (save_url punts to the website). Agents can work around this by reading specs and doing their own validation, but notable operations are missing for an 'editor'.
Available Tools
2 toolsget_ad_formatsGet ad format specsARead-onlyInspect
Returns the full specification for each ad format: field counts, character limits and supported media.
| Name | Required | Description | Default |
|---|---|---|---|
| formats | No | Optional filter: only return specs for these formats |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the shape of the returned data (field counts, character limits, supported media), which matters because there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the list of returned fields is the most useful information and appears immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only, one-optional-parameter lookup with no output schema, the description adequately covers what is returned. It could be marginally more complete by stating that omitting the filter returns all formats, but nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'formats' parameter is documented there as an optional filter with a full enum. The description says nothing about the filter or the behavior when it is omitted (return all formats), so it adds no meaning beyond the schema — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Returns the full specification for each ad format") and enumerates the contents (field counts, character limits, supported media), so an agent knows exactly what it gets back. It does not name or contrast with the sibling preview_ad, which is the only missing element for a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the description suggests looking up specs, but never says when to call this versus preview_ad, nor that it should be used before composing an ad. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_adPreview an adARead-onlyInspect
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. Studio, YouTube and www.ppcadeditor.com images load directly. Any other HTTPS image is shown through a signed URL on studio.ppcadeditor.com. 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 0-5 (max 25 chars), primary_texts 0-5 (max 125 chars)
META_CAROUSEL (Facebook/Instagram carousel): headlines 1-10 (max 40 chars), descriptions 0-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)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional name for the ad, used if the user saves it | |
| logos | No | Core ad-body logos (brand/profile image shown next to the ad on Meta, LinkedIn, RDA, PMAX). | |
| format | Yes | Ad format of the mockup. Field limits per format are listed in the format specs. | |
| images | No | 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 | No | Core ad-body videos (YouTube URLs). Primary for YOUTUBE format, optional for Meta/PMAX/RDA. | |
| final_url | Yes | ||
| headlines | No | Short headlines. The character limit depends on the format and is listed in this tool's format specs. Google Search headlines are 30 characters. There is no single limit for every format. | |
| extensions | No | Ad extensions (aka ad assets). Google formats only — ignored on Meta/LinkedIn/YouTube. | |
| descriptions | No | Not the Facebook or Instagram body. On META_SINGLE and META_CAROUSEL this is the optional link line under the headline, 25 characters, and it may be omitted. Body copy belongs in primary_texts (125 characters). Google Search descriptions are required and 90 characters. Other formats are in the format specs. | |
| business_name | No | Business name shown on the ad. 25 characters. | |
| primary_texts | No | Body copy for Facebook, Instagram and LinkedIn. META_SINGLE, META_CAROUSEL and META_STORY: 125 characters. Google Search does not use this field. | |
| call_to_action | No | Button label, for example Learn more. 30 characters. | |
| display_path_1 | No | Optional Google display path. 15 characters. | |
| display_path_2 | No | Optional second Google display path. 15 characters. | |
| long_headlines | No | Long headlines for Performance Max, Display and Demand Gen. Character limits are in the format specs. Google Search and Meta do not use this field. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and non-destructive annotations, the description discloses that it does not generate images, requires hosted HTTPS image URLs, explains how external images are routed through signed URLs, and notes that the result includes save_url. These are meaningful behavioral details for an agent to understand before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then organized into useful format specs. It is long, but the length is largely justified by 10 formats and 15 parameters; some operational details could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is largely complete for invoking the tool: it covers image constraints, one-format-per-call behavior, and save_url. With no output schema, it could more fully describe the return shape beyond save_url, but the invocation-critical context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema description coverage is already high at 93%, the description adds substantial meaning by listing per-format field allowances and character limits. It also clarifies field distinctions such as Google Search not using primary_texts and extensions being ignored on non-Google formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Show a realistic mockup of one ad' and lists the supported ad formats. It clearly distinguishes previewing from generating images, but it does not explicitly differentiate itself from the sibling get_ad_formats tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful context such as 'No account needed,' 'One format per call,' and that ad copy comes from the caller. However, it does not explicitly say when to use this tool versus get_ad_formats or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
preview_ad11 fields changed- added
Input schema / properties / business_name / descriptionAdded value: +"Business name shown on the ad. 25 characters." - added
Input schema / properties / call_to_action / descriptionAdded value: +"Button label, for example Learn more. 30 characters." - added
Input schema / properties / call_to_action / maxLengthAdded value: +30 - added
Input schema / properties / descriptions / descriptionAdded value: +"Not the Facebook or Instagram body. On META_SINGLE and META_CAROUSEL this is the optional link line under the headline, 25 characters, and it may be omitted. Body copy belongs in primary_texts (125 characters). Google Search descriptions are required and 90 characters. Other formats are in the format specs." - added
Input schema / properties / display_path_1 / descriptionAdded value: +"Optional Google display path. 15 characters." - added
Input schema / properties / display_path_1 / maxLengthAdded value: +15 - added
Input schema / properties / display_path_2 / descriptionAdded value: +"Optional second Google display path. 15 characters." - added
Input schema / properties / display_path_2 / maxLengthAdded value: +15 - added
Input schema / properties / headlines / descriptionAdded value: +"Short headlines. The character limit depends on the format and is listed in this tool's format specs. Google Search headlines are 30 characters. There is no single limit for every format." - added
Input schema / properties / long_headlines / descriptionAdded value: +"Long headlines for Performance Max, Display and Demand Gen. Character limits are in the format specs. Google Search and Meta do not use this field." - added
Input schema / properties / primary_texts / descriptionAdded value: +"Body copy for Facebook, Instagram and LinkedIn. META_SINGLE, META_CAROUSEL and META_STORY: 125 characters. Google Search does not use this field."
2 tool updates
- First observed
get_ad_formats - First observed
preview_ad
Related MCP Connectors
Manage Google, Meta, LinkedIn, Microsoft, TikTok, Snapchat and Reddit ads in AI chat, with approvals
Turn product pages and creative briefs into finished video and image ads from your AI chat.
Run Google Ads, Meta, TikTok, LinkedIn, GA4 & Search Console from chat. Changes wait for approval.
Manage and optimize your ads on Meta, Google, TikTok, X, ChatGPT Ads, Reddit and LinkedIn from chat.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAnalyze paid marketing accounts (Google Ads, Meta Ads, GA4, Merchant Center) in plain language, read-only. Provides insights, competitor ads, and landing page audits via natural language.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to create, analyze, and optimize ad campaigns across Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Amazon Ads, and ChatGPT Ads through natural language using 400+ tools.105MIT
- AlicenseAqualityAmaintenanceEnables reading and analyzing Google Ads data, planning keywords, and previewing campaign changes before applying them, all through natural language.35593 npm1Apache 2.0

PaidSync MCP Serverofficial
AlicenseNot gradedqualityFmaintenanceConnects Google Ads, Meta Ads, and LinkedIn Ads to AI assistants, enabling natural language ad campaign management, reporting, and optimization across platforms.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.