synter-media-ai/synter
Plan and operate advertising campaigns through Synter’s hosted MCP server over OAuth. Review performance, write ad copy, and approve campaign changes before execution.
Changelog
[1.2.1] - Unreleased
- Add a portable OpenAI package targeting the existing Synter Ads MCP draft, with directory metadata, OAuth discovery, and reviewer test cases.
- Preserve the four existing creative, page, visibility, and creator-brief skill entry points with scopes limited to available tools and explicit production gaps.
- Use canonical Synter domains in active client manifests and onboarding links.
- Build separate Claude and OpenAI archives from explicit runtime files, verify every archived byte, and emit source identity and SHA-256 checksums.
- Keep the Claude session primer out of the public OpenAI archive.
All notable changes to the Synter plugin are documented here. This project follows semantic versioning.
[1.2.0] - 2026-10-02
- Cursor connects to
https://mcp.synterai.com; Claude retainshttps://mcp.syntermedia.aito match the connector under review. Both use browser OAuth. - Setup and support documentation now describe the hosted connection, shipped skills, and local hook accurately.
- Removed unsupported workflows and limited instruction tool references to the approved 34-tool directory. Ad-copy writing and existing-asset selection remain supported.
- Added offline directory validation and an optional OAuth-authenticated live MCP comparison.
[1.1.2] — 2026-09-06
Fixed
- Aligned post-approval installation guidance with Anthropic's current plugin-directory documentation: approved plugins are surfaced through the automatically available
claude-plugins-officialmarketplace.
[1.1.1] — 2026-09-06
Fixed
- Replaced the stale rasterized plugin artwork with Synter's canonical transparent 1024×1024 brand mark. Cursor consumes this asset through its supported
logomanifest field; Claude's current strict plugin manifest has no icon field, so the same asset is prepared for the authenticated Anthropic directory submission rather than adding an unsupported manifest key.
[1.1.0] — 2026-09-06
Changed
- Claude and Cowork now authenticate the hosted Synter MCP through secure browser OAuth 2.1 instead of collecting a static API key in plugin configuration. The MCP endpoint publishes protected-resource and authorization-server metadata, supports dynamic client registration and PKCE, and returns a standards-compliant
401challenge for protected tool calls. - Installation and troubleshooting guidance now distinguishes direct GitHub marketplace installation from Anthropic directory discovery and tells users never to paste credentials into chat.
- Claude and Cursor package versions remain aligned so release archives and marketplace caches receive the updated skills and documentation.
Added
- Anthropic community directory submission fields, policy evidence, test prompts, and reviewer checklist.
- Strict Claude plugin validation in pull-request and release CI.
[1.0.0] — 2026-08-27
Changed
- Account mutations and spend changes require explicit user approval. Read-only reports and account lookups run without asking.
- Version canonicalized to 1.0.0 across
.claude-plugin/plugin.json,.cursor-plugin/plugin.json, and.cursor-plugin/marketplace.json, closing the skew between the Claude and Cursor packaging surfaces.
Added
- Packaging and release automation — a zip build produces
dist/synter-plugin-<version>.zipwith the plugin at the archive root, matching Claude Desktop's zip-upload layout. CI validates every PR (manifest JSON, marketplace/plugin name match, skill frontmatter,.mcp.json/mcp.jsoninterpolation guards) and a release workflow attaches the built zip to the GitHub Release on eachsynter--v*tag push.
[0.4.1] — 2026-08-19
Added
- Cursor plugin manifest, marketplace index, and remote MCP configuration.
[0.4.0] — 2026-08-04
RSA asset floor: the Google Ads API accepts as few as 3 headlines and 2 descriptions, but ads built at that minimum score "Poor" on Google Ad Strength and get throttled in the auction. The plugin now enforces a real floor everywhere ad copy is created or reviewed.
Changed
ad-copy-generation— RSAs require 11 headlines / 4 descriptions minimum (15/4 recommended), every slot filled, the ad group's actual keywords echoed in at least 5 headlines, no filler padding, no truncation (rewrite to the character limit instead).campaign-preflight— new blocking "Creative asset completeness" check: per-ad asset counts read from the platform and compared against the floor; Google Ad Strength POOR/AVERAGE must be fixed before launch; the same fill-every-slot rule applies on every platform at its own ceiling.creative-directorandmedia-buyeragents — carry the floor rule wherever they direct ad creation or launch.
[0.3.0] — 2026-07-25
Fourteen new skills deepening diagnostics, measurement, and creative coverage — every one grounded exclusively in public Synter MCP tools.
Added
- Platform depth —
meta-ads-diagnostics(Learning Phase, fatigue, overlap, Advantage+),google-ads-quality-score,google-shopping-optimizer(feeds, disapprovals, Shopping vs PMax),performance-max-optimizer(asset groups, brand cannibalization),linkedin-ads-targeting(ABM, lead gen forms). - Measurement & data —
pixel-capi-auditor(dedup, Event Match Quality),first-party-data-strategy(Enhanced Conversions, server-side tagging, Consent Mode v2),incrementality-testing(geo holdouts, lift studies),attributioncompanions viameasure_incrementalityandget_attribution. - Strategy —
retargeting-sequence-designer(staged funnels, recency windows, exclusions),seasonal-budget-planner(build your own seasonality index from your account data),audience-expansion-strategy(lookalike ladders, seed quality, layering),geo-integrity-audit(location-criteria and click-geography verification).
[0.2.0] — 2026-07-22
Broadened skill and agent coverage so the operator can plan, port, and run campaigns across every platform without falling back on internal tools it cannot reach.
Added
replicateworkflow skill (/synter:replicate) — rebuild an existing campaign from one platform onto another (read the source structure, map it to the target, preflight, ship). Fixes the gap where "build my Google campaign on Microsoft" had no guided path.- Platform playbooks —
platform-google,platform-microsoft,platform-meta,platform-linkedin,platform-tiktok,platform-reddit,platform-x,platform-amazon,platform-openai. Structure, targeting, and the real cross-platform mapping differences per channel. - Operational skills —
media-plan,keyword-research,negative-keywords,bid-optimization,dayparting,kill-scale-rules,pre-pause-analysis,platform-benchmarks,conversion-tracking,attribution,utm-builder,competitor-analysis,creative-testing,ad-copy-generation. - Agents
media-buyerandcampaign-strategistnow point at thereplicateworkflow and the platform playbooks.
Changed
campaign-preflightmoved from internal backend scripts to public MCP checks.mmm-budget-plannerrewritten around the publicoptimize_budget,get_attribution, andmeasure_incrementalitytools instead of internal scripts that are not available through the MCP.
Note on exclusions
The new kill-scale-rules, platform-benchmarks, and pre-pause-analysis skills ship generic methodology only. Synter's proprietary numeric thresholds and cost-benchmark tables remain withheld — these skills teach the approach and defer to the account's own data, they do not carry the internal numbers. Internal runbooks and infrastructure-coupled skills are still not shipped.
[0.1.0] — 2026-06-16
Initial release. The AI Agent Operator for Ads, packaged for Claude Code / Claude Desktop.
Added
- Workflow skills (
/synter:*) — quickstart, connect, audience, launch, optimize, report, help. - Craft skills — 9 generic advertising-methodology skills: ad-policy-compliance, anomaly-detector, campaign-preflight, campaign-structure-auditor, creative-fatigue-detector, executive-reporting, mmm-budget-planner, roas-calculator. Deliberately excluded from the public package: internal-execution runbooks (Doppler/DB-coupled), Synter's proprietary operating playbooks (kill/scale thresholds, cost-benchmark + budget-split logic), and skills referencing internal infrastructure (pixel pipeline, table names, non-public tools).
- Agents — campaign-strategist, media-buyer, audience-builder, creative-director, budget-optimizer, performance-analyst.
- Hook — SessionStart primer enforcing the money-safety rules and brand voice.
- Output style —
synteragent voice. - Context — bundled brand-voice and safety rules referenced by skills and agents.
- SDK runner (
sdk/synter-agent.mjs) — headless@anthropic-ai/claude-agent-sdkharness that loads the plugin and runs the operator unattended. Read-only by default (spend/mutation auto-denied viacanUseTool);--allow-writesto lift. Verified: SDK loads all 23 skills + 6 agents.