# Jshorwitz Synter Ads MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.github.jshorwitz%2Fsynter-ads
Registry id: `mcp-registry/io.github.jshorwitz/synter-ads`
Status: auth-required (checked 2026-10-26T19:39:45.574Z)

## Measurements (30 days)

- Uptime: 99.87%
- Checks: 828
- Outages (90 days): 6

## Install

```json
{
  "mcpServers": {
    "jshorwitz-synter-ads-mcp-server": {
      "type": "http",
      "url": "https://mcp.syntermedia.ai/mcp/"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http jshorwitz-synter-ads-mcp-server https://mcp.syntermedia.ai/mcp/
```

## Tools (241)

- `approve_campaign_plan`: Record the workspace owner's approval of a published campaign plan, moving it from in_review to approved so it can be launched. [effect=write; scope=campaigns:p
- `approve_organic_post`: Approve exactly one immutable organic-post revision after successful preflight. Any revision mismatch fails closed; never publishes. [effect=write; scope=social
- `attach_audience`: Attach (add), remove, or replace a matched audience on an existing campaign/ad-group/ad-set/line-item's targeting (5 credits). Supports linkedin, google, meta, 
- `audit_account_structure`: Audit an ad account's campaign structure (READ-ONLY, free). Flags the churn signatures that make an account a mess: duplicate campaign / ad group / ad names (ca
- `audit_llm_crawler_readiness`: Audit domain crawler readiness for AI search engines (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bytespider). Checks robots.txt, HTTP headers, llms.txt 
- `audit_review_site_profiles`: Audit brand profile readiness and completeness across G2, Capterra, Trustpilot, and Gartner Digital Markets to optimize software category indexing in LLM search
- `benchmark_landing_page`: Measure whether our landing page looks and converts better than the pages this traffic would otherwise land on. Captures ours and up to 5 competitor URLs at des
- `build_abm_audience`: [INTERNAL — Synter staff only] Build an ad-platform Custom Audience from verified decision-maker emails for a list of target company domains. Pulls valid emails
- `build_lookalike_audience`: Build ML-based lookalike audience from seed customers [effect=write; scope=audiences:write; externalMutation=true]
- `cancel_scheduled_post`: Cancel an exact scheduled organic-post revision before its one-shot provider job starts. Cancellation remains available when publishing is disabled so queued ex
- `configure_pixel_destination`: Create or update a Synter Pixel CAPI event-forwarding destination. Sets the platform-specific IDs needed to fan out conversion events server-side. Supports Goog
- `create_ad_copy`: Generate text ad copy (headlines, descriptions, CTAs) for any platform using Claude (20 credits) [effect=write; scope=creative:generate]
- `create_autonomous_schedule`: Create an autonomous agent schedule that runs a Synter skill on a cron cadence (e.g. a budget-pacing / campaign-health monitor). Defaults to a read-only cross-p
- `create_campaign_for_audience`: Create a campaign targeting an existing audience (1000 credits — campaign launch) [effect=publish; scope=campaigns:write; requires=campaignPublishing; externalM
- `create_campaign_import`: Import an existing live ad campaign (Meta, Google, LinkedIn, TikTok, Reddit, X, Microsoft, etc.) into Synter UI as a workspace document (/campaigns/ide/<uuid>).
- `create_campaign_plan`: Create or update a campaign launch plan. Use plan_key for idempotency. [effect=write; scope=campaigns:write; requires=campaignPublishing; externalMutation=true]
- `create_display_campaign`: Create a Google Display campaign with images
- `create_document`: Create a document in the Campaign IDE editor (free). Perfect for reports, audits, strategy docs, and plans that can be collaboratively edited. [effect=write; sc
- `create_embed`: Create a reusable native Synter form, event registration, customer shopping cart, Synter plan or usage-funds purchase card, checkout link, or media block for an
- `create_google_doc`: Create and read back a complete Google Doc from substantive markdown or HTML content (5 credits) [effect=write; scope=workspace:external_docs]
- `create_google_sheet`: Create, populate, and read back a complete Google Sheet from tabular data (5 credits) [effect=write; scope=workspace:external_docs]
- `create_landing_page`: Generate an AI landing page hosted on your custom domain (600 credits) [effect=write; scope=landing_pages:write]
- `create_landing_page_variants`: Per-ad landing pages from ONE approved canvas framework, bound to real ads. Keeps the framework's section order, theme, offer and CTA verb; swaps only the messa
- `create_linkedin_campaign`: Create a LinkedIn campaign for B2B
- `create_meta_campaign`: Create a Facebook/Instagram campaign
- `create_pmax_campaign`: Create a Performance Max campaign
- `create_reddit_campaign`: Create a Reddit campaign
- `create_search_campaign`: Create a Google Search campaign with keywords and ads
- `create_social_clip`: Render, watermark, auto-caption, and format video/screen recordings into social clips for X, LinkedIn, TikTok, or Reels. Use forecast_tool_cost for current pric
- `create_verified_page_replica`: Create an unpublished, verified iframe replica draft for a source and custom domain you control. [effect=write; scope=landing_pages:write]
- `delete_audience`: Delete (or close) a custom/matched audience from an ad platform by exact audience_id. Use to clean up stale or errored (e.g. NOT_ENOUGH_MATCHES) audiences. Meta
- `delete_document`: Delete a Campaign IDE document by id or uuid (e.g. to remove a stale or duplicate doc). Only deletes documents you own. [effect=write; scope=workspace:write]
- `disable_campaign_guardrail`: Disable a campaign-specific automatic pause guardrail. This does not change the campaign's current platform status. Free. [effect=write; scope=guardrails:write;
- `discover_llm_visibility_prompts`: Discover and generate high-intent B2B commercial buying prompts across Evaluation, Direct Comparison, Alternatives, Pricing/ROI, and Feature Verification intent
- `document_authoring_apply`: Persist one atomic draft-authoring operation on a Synter document: artboard.create (caller UUID widget_id, name, width, height, optional ops), artboard.edit (wi
- `document_authoring_read`: Read canonical persisted Synter document content, full artboard designs, dashboard widgets and whole-document revision. Requires document UUID and explicit proj
- `draft_organic_post`: Create an immutable, tenant-bound text post draft for an explicitly selected LinkedIn member or company destination. Supply a stable idempotency_key (1-255 non-
- `draft_wikipedia_article`: Generate an encyclopedic, NPOV-compliant Wikitext draft article with Infobox company markup, citation footnotes, and WP:PAID disclosure text for Wikipedia Artic
- `enable_campaign`: Enable/resume a paused campaign on any ad platform (2 credits) [effect=state; scope=campaigns:state; requires=campaignPublishing; externalMutation=true]
- `enrich_contacts`: Enrich contacts you already hold — including PERSONAL email addresses — by resolving them through Synter Signals to a person, then returning work email, LinkedI
- `execute`: Execute any Synter action: create campaigns, upload to YouTube, manage GTM/GA4, analyze competitors, and more. Calls execute immediately by default; pass dry_ru
- `execute_campaign_plan`: Launch an approved campaign plan — activates all entities across platforms in dependency order. [effect=publish; scope=campaigns:write; requires=campaignPublish
- `find_audience_signals`: Find audience intent signals and semantic clusters from a natural-language description (e.g. 'RevOps leaders at B2B SaaS companies using Salesforce'). Returns m
- `find_llm_citation_listicles`: Find top media listicles and roundup articles cited by ChatGPT and Perplexity for a target buying prompt, and generate tailored editor outreach briefs. [effect=
- `forecast_campaign`: Forecast campaign KPIs (spend, CPA, ROAS, clicks, conversions) for 7-30 days with confidence intervals (2 credits) [effect=read; scope=campaigns:read]
- `forecast_tool_cost`: Look up what a Synter tool will charge in credits BEFORE you call it. Unknown tool names return the fail-closed default rather than 0, so a typo never reads as 
- `ga4_get_conversions`: List GA4 conversion events (free). Pass property_id to query a specific GA4 property instead of the connection default. [effect=read; scope=tracking:read]
- `ga4_get_properties`: List your Google Analytics 4 properties (free) [effect=read; scope=reporting:read]
- `ga4_get_report`: Run a Google Analytics 4 report (free). Pass property_id to query a specific GA4 property instead of the connection default. [effect=read; scope=reporting:read]
- `generate_jsonld_schema_markup`: Generate valid schema.org JSON-LD scripts (Organization, SoftwareApplication, Product, FAQPage) with sameAs knowledge-graph links for embedding into website HTM
- `get_account_changelog`: Extract Google Ads changelog / mutation history (default request 90 days, capped to the Google Ads change_event API's 30-day maximum). Other catalog platforms r
- `get_ad_readback`: Proof Pack: read a launched ad's creative + CTA back from the platform API (the source of truth) and verify the CTA against the platform enum and the copy again
- `get_attribution`: Multi-touch attribution analysis using Markov chains (5 credits) [effect=read; scope=measurement:read]
- `get_billing_status`: Check Synter subscription access and usage balance. Ad spend is paid separately to the ad platforms. FREE: costs no credits and makes no LLM call. [effect=read;
- `get_campaign_observation`: Independent read-only native campaign observation v1 for explicitly enrolled Google, Meta or LinkedIn test accounts. Requires exact workspace, connection and ac
- `get_campaign_plan`: Fetch a campaign plan with its entities, budgets, desired states, and review/execution status (free). [effect=read; scope=campaigns:read]
- `get_click_attribution`: Return stored click IDs and UTMs from pixel ingest plus Stripe first-touch (user_attribution, PR 9673). This is stored identifiers only — no first/last/linear m
- `get_connection_status`: Check ALL platform connections: ad platforms, analytics (GA4, PostHog), CRM (HubSpot, Attio), and more (free) [effect=read; scope=connections:read]
- `get_credit_balance`: Check your credit balance and pricing (free) [effect=read; scope=billing:read]
- `get_embed`: Get the full configuration for one workspace-owned native Synter embed. [effect=read; scope=landing_pages:read]
- `get_embed_code`: Get install code for a workspace-owned native Synter embed. [effect=read; scope=landing_pages:read]
- `get_gtm_tag`: Get the full definition of one GTM tag, including its parameters (the html body for Custom HTML tags) and firing triggers. [effect=read; scope=tracking:read]
- `get_job_status`: Check the status of an async job (e.g. audience sync). Returns job status, result on success, or error on failure. Free - no credits charged. [effect=read; scop
- `get_launch_gate_policy`: Read what this workspace's Plan QA launch gate is set to — whether a failing QA review blocks a campaign launch, and where the user changes that. [effect=read; 
- `get_llm_visibility_overview`: FREE (no credit cost): Get the workspace-native Synter LLM visibility overview, including mention/citation/share-of-voice/coverage metrics, engine exclusions, s
- `get_organic_publishing_readiness`: Inspect tenant-bound organic publishing setup for one explicit platform and destination. Provider config and connection ID are optional only as a pair. Separate
- `get_pixel_destinations`: List Synter Pixel sites and their CAPI event-forwarding destinations for the active workspace. Shows platform, enabled/disabled state, and configured IDs. Free 
- `get_pixel_health`: Pixel snippet + destination health for the active workspace: snippet installed, destinations configured, last successful CAPI delivery per adapter. Do not pause
- `get_plan_execution`: Get execution status and per-entity step results for a campaign plan launch (free). [effect=read; scope=campaigns:read]
- `get_plugin_info`: Get install instructions for the Synter plugin, which ships Synter's skills locally for Claude Code. The plugin is optional. Use only when the user asks about s
- `get_spend_reconciliation`: Cross-platform reconciliation MVP — compares Google Ads ↔ Trade Desk totals for a date range, returns normalized per-platform metrics, discrepancies, and determ
- `get_vendor_consumption`: Report how much paid Synter audience and research data this workspace consumed — record counts, credits billed and USD — over a window. Free and scoped to the c
- `growth_discover`: Discover hiring companies and listicle/podcast placement opportunities. Paid contact audiences use the approval-gated Synter Audience CSV workflow. (5 credits) 
- `growth_enrich`: Enrich a domain with Synter competitive, technology, contact, and website intelligence. (5 credits) [effect=read; scope=growth:read]
- `inspect_script`: Get the exact arguments, choices, required fields, and output fields for a Synter action before executing it (free) [effect=read; scope=workspace:read]
- `klaviyo_create_campaign`: Create a Klaviyo email or SMS campaign as a DRAFT, optionally scheduled. This does not send: sending is a separate approval-gated step, so a draft created here 
- `klaviyo_create_event`: Send a custom event to a Klaviyo profile, such as an ad conversion with a monetary value. Call this to push paid-media conversions into Klaviyo so flows can tri
- `klaviyo_get_campaign_metrics`: Get Klaviyo campaign performance: opens, clicks, revenue, and unsubscribes. Call this when attributing revenue to email or SMS, or when comparing owned-channel 
- `klaviyo_get_campaigns`: Get Klaviyo email and SMS campaigns with their status (draft, scheduled, sent, cancelled). Call this to see what lifecycle marketing is already running before p
- `klaviyo_get_flows`: Get Klaviyo automated flows and their live status. Call this to check which triggered sequences (welcome, abandoned cart, win-back) already exist before buildin
- `klaviyo_get_lists`: Get Klaviyo lists, and optionally segments too. Call this to find the target list id before creating a campaign or syncing profiles, and to size an audience bef
- `klaviyo_get_templates`: Get Klaviyo email templates, filterable by name. Call this to reuse an existing branded template instead of generating raw HTML for a new campaign. [effect=read
- `klaviyo_update_list_profiles`: Add or update profiles on a Klaviyo list from supplied JSON. Call this to sync an audience built elsewhere (a customer export, an ad-platform audience) into a K
- `list_audiences`: List existing audiences on an ad platform [effect=read; scope=audiences:read]
- `list_autonomous_schedules`: List the workspace's autonomous agent schedules (pacing/health monitors, budget optimizers) with cadence, approval mode, next run, and latest run status (free).
- `list_available_scripts`: See all available PPC scripts (free) [effect=read; scope=workspace:read]
- `list_campaign_guardrails`: List campaign-specific automatic pause guardrails and their latest spend, conversion, decision, and verified-pause state. Free. [effect=read; scope=guardrails:r
- `list_campaigns`: List campaigns for any ad platform [effect=read; scope=campaigns:read]
- `list_connected_accounts`: See ALL connected accounts with pagination: ad platforms, analytics (GA4, PostHog), CRM (HubSpot, Attio), and more (free) [effect=read; scope=connections:read]
- `list_creative_assets`: List generated creative assets (images and videos) from your artifact library, with approval status and platform-deployment mapping (free) [effect=read; scope=c
- `list_embed_purchases`: List and reconcile recent Stripe purchase receipts for a workspace-owned customer cart embed. [effect=read; scope=landing_pages:read]
- `list_embed_submissions`: List recent submissions for a workspace-owned form or event embed. [effect=read; scope=landing_pages:read]
- `list_embeds`: List reusable embeds plus the complete paid-platform and organic-channel native-vs-hosted form capability matrix. [effect=read; scope=landing_pages:read]
- `list_event_deliveries`: Read event_deliveries fan-out rows (success/fail/destination) for the workspace pixel. Do not pause or scale from get_performance alone; confirm deliveries befo
- `list_gtm_containers`: List Google Tag Manager accounts and containers for the connected GTM user. Returns each account's id/name and its containers' id/name/publicId. [effect=read; s
- `list_gtm_tags`: List published GTM tags by default; source=workspace inspects unpublished drafts. Returns tag summaries: tagId, name, type, paused. Pass account_id/container_id
- `list_llm_visibility_opportunities`: FREE (no credit cost): List ranked, evidence-backed Synter visibility gaps and their recommended actions. [effect=read; scope=intel:read]
- `list_llm_visibility_prompts`: FREE (no credit cost): List tracked buying prompts and their latest answer evidence in the active Synter workspace. [effect=read; scope=intel:read]
- `list_llm_visibility_sightings`: FREE (no credit cost): List evidence-backed competitive ChatGPT ad, Reddit citation, and YouTube citation sightings from Synter. [effect=read; scope=intel:read]
- `list_scheduled_posts`: List tenant-owned organic drafts, approvals, schedules, and publication receipts without exposing credentials. [effect=read; scope=social:read]

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
