MCP serverio.github.Synter-Media-AI/synter-ads
Reporting across 19 ad platforms, campaign creation on 14, write actions on 16, via AI.
Overview
Score?
UNRATED 0.672
of what a free look can see, on 30 looks
Looks
34
last 1 day ago
Tools
235
changed 4 days ago
More info
URL
mcp.syntermedia.ai/mcp/
streamable-http
Says it is
synter-ads 1.28.1
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.672 · highest on record 0.8561
Toolsfrom sha256:5b379b6b4d…8ae6f9 · +0 −0 4 days ago
| Tool | Schema |
|---|---|
| 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:plan; requires=campai |
input · no output |
| approve_organic_post Approve exactly one immutable organic-post revision after successful preflight. Any revision mismatch fails closed; never publishes. [effect=write; scope=social:write; requires=cam |
input · no output |
| 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, tiktok, reddit, micr |
input · no output |
| 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 (case-insensitive, trim |
input · no output |
| 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 availability, and ge |
input · no output |
| 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. [effect=read; scop |
input · no output |
| 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 desktop (1280) and mobi |
input · no output |
| 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 from Synter's audie |
input · no output |
| build_lookalike_audience Build ML-based lookalike audience from seed customers [effect=write; scope=audiences:write; externalMutation=true] |
input · no output |
| 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 external mutations can |
input · no output |
| 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 Google (customer_id + co |
input · no output |
| create_ad_copy Generate text ad copy (headlines, descriptions, CTAs) for any platform using Claude (20 credits) [effect=write; scope=creative:generate] |
input · no output |
| 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-platform pacing monit |
input · no output |
| create_campaign_for_audience Create a campaign targeting an existing audience (1000 credits — campaign launch) [effect=publish; scope=campaigns:write; requires=campaignPublishing; externalMutation=true] |
input · no output |
| 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>). Pulls live campaign |
input · no output |
| create_campaign_plan Create or update a campaign launch plan. Use plan_key for idempotency. [effect=write; scope=campaigns:write; requires=campaignPublishing; externalMutation=true] |
input · no output |
| 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; scope=workspace:write] |
input · no output |
| 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 any paid or organic de |
input · no output |
| 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] |
input · no output |
| create_google_sheet Create, populate, and read back a complete Google Sheet from tabular data (5 credits) [effect=write; scope=workspace:external_docs] |
input · no output |
| create_landing_page Generate an AI landing page hosted on your custom domain (600 credits) [effect=write; scope=landing_pages:write] |
input · no output |
| 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 message-match slots (hero |
input · no output |
| 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 pricing. [effect=write; |
input · no output |
| 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] |
input · no output |
| 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, Reddit, and Google |
input · no output |
| 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] |
input · no output |
| 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; externalMutation=tr |
input · no output |
| discover_llm_visibility_prompts Discover and generate high-intent B2B commercial buying prompts across Evaluation, Direct Comparison, Alternatives, Pricing/ROI, and Feature Verification intent stages for your bra |
input · no output |
| 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 (widget_id, studio ops) |
input · no output |
| document_authoring_read Read canonical persisted Synter document content, full artboard designs, dashboard widgets and whole-document revision. Requires document UUID and explicit project UUID (null outsi |
input · no output |
| 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-whitespace character |
input · no output |
| draft_wikipedia_article Generate an encyclopedic, NPOV-compliant Wikitext draft article with Infobox company markup, citation footnotes, and WP:PAID disclosure text for Wikipedia Articles for Creation (AF |
input · no output |
| enable_campaign Enable/resume a paused campaign on any ad platform (2 credits) [effect=state; scope=campaigns:state; requires=campaignPublishing; externalMutation=true] |
input · no output |
| enrich_contacts Enrich contacts you already hold — including PERSONAL email addresses — by resolving them through Synter Signals to a person, then returning work email, LinkedIn URL, phone, title |
input · no output |
| execute Execute any Synter action: create campaigns, upload to YouTube, manage GTM/GA4, analyze competitors, and more. Calls execute immediately by default; pass dry_run=true only when the |
input · no output |
| execute_campaign_plan Launch an approved campaign plan — activates all entities across platforms in dependency order. [effect=publish; scope=campaigns:write; requires=campaignPublishing; externalMutatio |
input · no output |
| 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 matching intent clust |
input · no output |
| 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=read; scope=intel:re |
input · no output |
| forecast_campaign Forecast campaign KPIs (spend, CPA, ROAS, clicks, conversions) for 7-30 days with confidence intervals (2 credits) [effect=read; scope=campaigns:read] |
input · no output |
| 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 'free'. FREE: costs |
input · no output |
| 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] |
input · no output |
| ga4_get_properties List your Google Analytics 4 properties (free) [effect=read; scope=reporting:read] |
input · no output |
| 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] |
input · no output |
| generate_jsonld_schema_markup Generate valid schema.org JSON-LD scripts (Organization, SoftwareApplication, Product, FAQPage) with sameAs knowledge-graph links for embedding into website HTML. [effect=write; sc |
input · no output |
| 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 return changelog_supp |
input · no output |
| 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 against ad policy (2 cred |
input · no output |
| get_attribution Multi-touch attribution analysis using Markov chains (5 credits) [effect=read; scope=measurement:read] |
input · no output |
| 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; scope=billing:read] |
input · no output |
| get_campaign_observation Independent read-only native campaign observation v1 for explicitly enrolled Google, Meta or LinkedIn test accounts. Requires exact workspace, connection and account. Returns provi |
input · no output |
| get_campaign_plan Fetch a campaign plan with its entities, budgets, desired states, and review/execution status (free). [effect=read; scope=campaigns:read] |
input · no output |
| 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 model math. Do not pa |
input · no output |
| get_connection_status Check ALL platform connections: ad platforms, analytics (GA4, PostHog), CRM (HubSpot, Attio), and more (free) [effect=read; scope=connections:read] |
input · no output |
| get_credit_balance Check your credit balance and pricing (free) [effect=read; scope=billing:read] |
input · no output |
| get_embed Get the full configuration for one workspace-owned native Synter embed. [effect=read; scope=landing_pages:read] |
input · no output |
| get_embed_code Get install code for a workspace-owned native Synter embed. [effect=read; scope=landing_pages:read] |
input · no output |
| 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] |
input · no output |
| 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; scope=workspace:read] |
input · no output |
| 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; scope=campaigns:read |
input · no output |
| 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, source domains, sight |
input · no output |
| 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. Separates persisted scope cl |
input · no output |
| 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 — no credits. [effec |
input · no output |
| get_pixel_health Pixel snippet + destination health for the active workspace: snippet installed, destinations configured, last successful CAPI delivery per adapter. Do not pause or scale from get_p |
input · no output |
| get_plan_execution Get execution status and per-entity step results for a campaign plan launch (free). [effect=read; scope=campaigns:read] |
input · no output |
| 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 setup or skills; do n |
input · no output |
| get_spend_reconciliation Cross-platform reconciliation MVP — compares Google Ads ↔ Trade Desk totals for a date range, returns normalized per-platform metrics, discrepancies, and deterministic likely-cause |
input · no output |
| 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 caller's own workspac |
input · no output |
| growth_discover Discover hiring companies and listicle/podcast placement opportunities. Paid contact audiences use the approval-gated Synter Audience CSV workflow. (5 credits) [effect=read; scope= |
input · no output |
| growth_enrich Enrich a domain with Synter competitive, technology, contact, and website intelligence. (5 credits) [effect=read; scope=growth:read] |
input · no output |
| 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] |
input · no output |
| 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 is safe to review fi |
input · no output |
| 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 trigger on them and rev |
input · no output |
| 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 results against paid |
input · no output |
| 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 proposing a new send, |
input · no output |
| 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 building a new one, so a fl |
input · no output |
| 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 before proposing a send |
input · no output |
| 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; scope=email:read] |
input · no output |
| 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 Klaviyo list for life |
input · no output |
| list_audiences List existing audiences on an ad platform [effect=read; scope=audiences:read] |
input · no output |
| 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). [effect=read; scope |
input · no output |
| list_available_scripts See all available PPC scripts (free) [effect=read; scope=workspace:read] |
input · no output |
| list_campaign_guardrails List campaign-specific automatic pause guardrails and their latest spend, conversion, decision, and verified-pause state. Free. [effect=read; scope=guardrails:read] |
input · no output |
| list_campaigns List campaigns for any ad platform [effect=read; scope=campaigns:read] |
input · no output |
| 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] |
input · no output |
| 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=creative:read] |
input · no output |
| list_embed_purchases List and reconcile recent Stripe purchase receipts for a workspace-owned customer cart embed. [effect=read; scope=landing_pages:read] |
input · no output |
| list_embed_submissions List recent submissions for a workspace-owned form or event embed. [effect=read; scope=landing_pages:read] |
input · no output |
| 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] |
input · no output |
| 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 before acting. Free — no |
input · no output |
| 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; scope=tracking:read] |
input · no output |
| 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, or rely on the con |
input · no output |
| list_llm_visibility_opportunities FREE (no credit cost): List ranked, evidence-backed Synter visibility gaps and their recommended actions. [effect=read; scope=intel:read] |
input · no output |
| 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] |
input · no output |
| 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] |
input · no output |
| list_scheduled_posts List tenant-owned organic drafts, approvals, schedules, and publication receipts without exposing credentials. [effect=read; scope=social:read] |
input · no output |
| list_skills Discover public Synter task playbooks and this workspace's SOPs before campaign, targeting, tracking, creative, reporting, or optimization work (free) [effect=read; scope=skills:re |
input · no output |
| load_skill Load the relevant Synter playbook or workspace SOP by slug before task-specific recommendations or execution; use list_skills to discover slugs (free) [effect=read; scope=skills:re |
input · no output |
| measure_incrementality Measure incremental ad impact via geo-lift or synthetic control [effect=read; scope=measurement:read] |
input · no output |
| meta_ads_create_ad Create a Meta (Facebook/Instagram) ad in an existing ad set (20 credits) [effect=write; scope=campaigns:write; requires=campaignPublishing; externalMutation=true] |
input · no output |
| optimize_budget Recommend a cross-channel budget allocation using diminishing-returns modeling (5 credits). RECOMMEND-ONLY: dry_run defaults to true and nothing is changed on any ad platform; appl |
input · no output |
| pause_campaign Pause a campaign on any ad platform (2 credits) [effect=state; scope=campaigns:state; externalMutation=true] |
input · no output |
| prospector_add_leads Attach Priority/hand-picked leads to an existing Synter Prospector (EmailBison) campaign by numeric campaign_id. Accepts structured lead objects and/or CSV-shaped rows (email,first |
input · no output |
| prospector_assign_inboxes_to_campaign Attach explicitly selected sending inbox IDs to a Synter Prospector campaign. Requires a non-empty sender_email_ids array; never defaults to every inbox. Each ID must satisfy API-k |
input · no output |
| prospector_create_campaign Create a draft Synter Prospector outbound campaign with a sending schedule in the authenticated workspace. List campaigns first to avoid duplicates. Defaults to plain_text=true and |
input · no output |
| prospector_create_reply Approve and deliver an AI-drafted reply to an interested prospect lead. NOTE: on customer-workspace MCP connections this tool is not yet tenant-scoped and is refused rather than se |
input · no output |
| prospector_dedupe_leads Collapse duplicate Prospector lead rows (same email) into one record: keeps the campaign-linked / most complete row, fills its gaps from the duplicates, moves related records onto |
input · no output |
| prospector_get_analytics_summary Get workspace-level Synter Prospector outbound analytics: campaign count, total replies, meetings booked, and per-campaign send/reply rates. Call this for an outbound reporting rol |
input · no output |
| prospector_get_bounced_leads List bounced Prospector leads with a hard/soft/unknown split, the SMTP reason and code, the campaign, the sending inbox, and whether each address is already suppressed. Reads recor |
input · no output |
| prospector_get_campaign Get a Prospector outbound campaign by ID. Numeric sending-platform IDs read live campaign configuration and sequence steps; Prospector UUIDs read the client-scoped database snapsho |
input · no output |
| prospector_get_campaign_performance Get Synter Prospector outbound campaign performance: sends, opens, replies, meetings booked, and reply rate. Call this when reporting on an outbound sequence or comparing campaigns |
input · no output |
| prospector_get_campaigns List Synter Prospector outbound campaigns with status, lead counts, replies, and schedule. [effect=read; scope=growth:read] |
input · no output |
| prospector_get_inbox_health Get deliverability and warmup health for Prospector sending inboxes scoped to the authenticated owner. An empty result may indicate a missing owner-to-sending-domain mapping; it do |
input · no output |
| prospector_get_leads List leads in the Prospector outbound pipeline, or filter by campaign, pipeline status, tag, or free-text search. campaign_id accepts the numeric EmailBison campaign id (resolved a |
input · no output |
| prospector_get_pipeline_summary Get high-level summary of Prospector outbound pipeline including leads, active campaigns, sent count, replies, meetings booked, and inbox health. [effect=read; scope=growth:read] |
input · no output |
| prospector_get_report Get one saved Synter Prospector outbound report by id, including the metrics payload used for campaign reporting. Call prospector_get_reports first when the report_id is unknown. [ |
input · no output |
| prospector_get_reports List saved Synter Prospector outbound reports (campaign, step, and analytics artifacts). Call this to find a report_id before prospector_get_report. [effect=read; scope=growth:read |
input · no output |
| prospector_get_step_performance Get per-step performance for a Synter Prospector outbound sequence (sends, replies, and drop-off by email or LinkedIn step). Call this after prospector_get_campaign_performance whe |
input · no output |
| prospector_reconcile_campaign_leads Reconcile a Prospector campaign's saved lead links with live EmailBison membership (numeric campaign_id): reports leads linked in Synter but not in EmailBison, EmailBison members n |
input · no output |
| prospector_remove_leads Detach leads from ONE Synter Prospector (EmailBison) campaign by numeric campaign_id. mode=stop (default) stops future emails and keeps history; mode=remove deletes them from the c |
input · no output |
| prospector_suppress_leads Globally suppress email addresses in Synter Prospector: adds them to the suppression list every push gate reads, blocklists them in EmailBison and stops future emails in every camp |
input · no output |
| prospector_update_campaign_sequence Write email sequence steps on a Synter Prospector campaign in the authenticated workspace. mode=append (default) adds sequence_steps after the existing steps. mode=edit rewrites ex |
input · no output |
| prospector_update_campaign_settings Update sending settings on an existing Synter Prospector campaign in the authenticated workspace: plain_text (send as plain text rather than HTML), open_tracking (tracking pixel), |
input · no output |
| prospector_update_campaign_status Pause, activate/resume, or archive a Prospector outbound campaign. Pass status=paused to stop sending, status=active (aliases: running, resume, launch, start, enabled) to call Emai |
input · no output |
| prospector_update_lead_custom_variables Refresh EmailBison custom variables on leads ALREADY attached to a Synter Prospector campaign, without re-pushing them. Pass campaign_id plus leads=[{email, custom_variables}], whe |
input · no output |
| prospector_verify_and_push_leads Lower-level lead attach: IcyPeas-verify already-saved Prospector leads and gate-push them into an existing EmailBison campaign by numeric campaign_id. Each lead needs email + grade |
input · no output |
| prospector_verify_leads Verify-only email check for Prospector leads: IcyPeas-verifies each address and returns valid / invalid / risky / unknown with the raw status, plus whether it is suppressed. No cam |
input · no output |
| publish_gtm_container Publish a GTM container — creates a version from the default workspace and publishes it. PUSHES ALL WORKSPACE CHANGES LIVE to the site's tracking immediately. Approval-gated. [effe |
input · no output |
| publish_landing_page Publish a landing page draft, making it live at syntermedia.ai/lp/{slug} (free). A page that lost its last benchmark_landing_page run is refused until fixed or acknowledged. [effec |
input · no output |
| publish_organic_post Publish an approved, preflighted organic-post revision once to its exact bound destination. Requires separate publish approval and never automatically retries an ambiguous provider |
input · no output |
| publish_plan_document Publish a campaign plan for review, generating a shareable URL. Moves the plan from building/draft to in_review; a reviewer approves it at share_url, then execute_campaign_plan lau |
input · no output |
| publish_skill Create or update a private workspace skill from a complete SKILL.md document [effect=write; scope=skills:write] |
input · no output |
| publish_to_github Publish a markdown blog post to a connected GitHub repo: commit <content_path>/<slug>.md and open a PR for the customer to review and merge (never pushes directly). Free. [effect=p |
input · no output |
| pull_amazon_ads_performance Get Amazon Ads (Sponsored Products/Brands/Display) metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, las |
input · no output |
| pull_amazon_dsp_performance Pull Amazon DSP campaign performance data (2 credits) Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_3 |
input · no output |
| pull_cm360_performance Get Campaign Manager 360 (CM360) metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_3 |
input · no output |
| pull_criteo_ads_performance Get Criteo Commerce Media metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days |
input · no output |
| pull_dv360_performance Get Display & Video 360 (DV360) metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_36 |
input · no output |
| pull_freewheel_performance Get FreeWheel Buyer Cloud (Beeswax) metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, las |
input · no output |
| pull_google_ads_performance Get Google Ads campaign metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, las |
input · no output |
| pull_instacart_ads_performance Get Instacart Ads metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days, last_2 |
input · no output |
| pull_linkedin_ads_performance Get LinkedIn Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_da |
input · no output |
| pull_linkedin_company_engagement Pull LinkedIn Ads Company Engagement report — shows which companies have seen your ads and how engaged they are (2 credits) [effect=read; scope=reporting:read] |
input · no output |
| pull_meta_ads_performance Get Meta (Facebook/Instagram) Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14 |
input · no output |
| pull_microsoft_ads_performance Get Microsoft (Bing) Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, la |
input · no output |
| pull_openai_ads_performance Get OpenAI Ads metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days, last_2_ye |
input · no output |
| pull_pinterest_ads_performance Get Pinterest Ads metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days, last_2 |
input · no output |
| pull_reddit_ads_performance Get Reddit Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days |
input · no output |
| pull_snap_ads_performance Get Snapchat Ads metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days, last_2_ |
input · no output |
| pull_spotify_ads_performance Get Spotify Ads metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days, last_2_y |
input · no output |
| pull_target_roundel_performance Get Target Roundel retail media metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_36 |
input · no output |
| pull_tiktok_ads_performance Get TikTok Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days |
input · no output |
| pull_trade_desk_performance Get The Trade Desk metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_365_days, last_ |
input · no output |
| pull_walmart_ads_performance Get Walmart Connect Advertising metrics (2 credits). Date window: date_range preset (today, yesterday, last_7_days, last_14_days, last_30_days, last_90_days, last_180_days, last_36 |
input · no output |
| pull_x_ads_performance Get X (Twitter) Ads metrics — impressions, clicks, spend, conversions per campaign (2 credits). Filter by campaign_id/campaign_ids to inspect specific campaigns. Date window: date_ |
input · no output |
| read_google_drive_file Read a Picker-attached Google Drive file by file_id, or a public Google Drive/Docs file or folder by URL. Public folders return a bounded recursive listing; call this tool again wi |
input · no output |
| read_google_sheet Read tabular data (e.g. a media plan / campaign brief) from a connected Google Sheet (free) [effect=read; scope=workspace:read] |
input · no output |
| recommend_llm_visibility_strategy Recommend tailored Generative Engine Optimization (GEO) content strategies, PR drafts, community response tactics, structured schema markup, and authoritative citation building to |
input · no output |
| reddit_ads_create_ad Create a Reddit ad from an existing post in an ad group (20 credits) [effect=write; scope=campaigns:write; requires=campaignPublishing; externalMutation=true] |
input · no output |
| repair_account_structure Repair an ad account's campaign structure. DRY-RUN BY DEFAULT — reports what it WOULD archive and changes nothing. Pass apply=true (only after customer approval) to ARCHIVE duplica |
input · no output |
| research_campaign_opportunity Research real demand before planning a campaign: keyword volumes and CPCs, what competitors are actually running, and current trends. Run this BEFORE create_campaign_plan. [effect= |
input · no output |
| run_gaql_query Execute a Google Ads Query Language (GAQL) query (2 credits). Use account_name to specify which account when multiple are connected. [effect=read; scope=reporting:read] |
input · no output |
| run_launch_preflight Run pre-launch conversion-tracking and landing-page checks at PLAN time, before presenting a campaign plan for approval. Read-only and free. Returns tracking issues and confirmatio |
input · no output |
| run_llm_visibility_scan Run an on-demand Synter LLM visibility scan for one active workspace project. Admin/Owner only. [effect=write; scope=intel:write] |
input · no output |
| schedule_organic_post Schedule an approved organic-post revision for an exact ISO-8601 time with timezone. Enqueues one non-retrying publication job. [effect=publish; scope=social:write; requires=campai |
input · no output |
| send_slack_message Post a message to a Slack channel via the Synter bot. channel = a channel ID (Cxxxx) or #name. The bot can only post to channels it's a member of. [effect=write; scope=workspace:no |
input · no output |
| set_campaign_guardrail Arm or replace a campaign-specific automatic pause rule. Google Ads rules pause one exact campaign only after both the minimum age and spend threshold are met with zero conversions |
input · no output |
| set_embed_crm_destination Route a Synter form or event embed to exactly one active CRM connection in the current workspace. [effect=write; scope=landing_pages:write; requires=crmIntegrations] |
input · no output |
| set_spend_alert Set a weekly ad spend alert — notifies via email, Slack, SMS, and/or WhatsApp when total spend exceeds threshold (free) [effect=write; scope=guardrails:write; externalMutation=true |
input · no output |
| setup_custom_domain Assign a custom domain (e.g. go.acme.com) to a published landing page. Requires an active paid or pay-as-you-go plan. No credits charged. [effect=write; scope=landing_pages:write] |
input · no output |
| setup_google_ads_trial_funnel Set up a complete Google Ads trial acquisition funnel: branded Search campaign (maximize clicks, builds conversion history), PMax campaign (maximize conversions), and Display retar |
input · no output |
| shopify_create_discount Create a Shopify discount code and its price rule. Requires an assisted/custom Shopify connection with write_discounts; this is unavailable to public App Store installs. Call this |
input · no output |
| shopify_create_web_pixel Activate the Synter Web Pixel extension on a Shopify store for checkout_completed conversion tracking. This is the supported path; Shopify stopped rendering ScriptTag pixels on the |
input · no output |
| shopify_create_webhook Register a Shopify webhook so the store pushes events such as orders/paid to Synter. Call this when setting up order or refund tracking for a newly connected store. [effect=write; |
input · no output |
| shopify_get_abandoned_checkouts Get Shopify abandoned checkouts for cart-abandonment and recovery-rate reporting. Call this when diagnosing checkout drop-off or sizing a retargeting audience. Paginate with page_i |
input · no output |
| shopify_get_collections Get Shopify collections (smart and custom). Call this when segmenting a catalog for shopping or Performance Max campaigns. Paginate with page_info. [effect=read; scope=commerce:rea |
input · no output |
| shopify_get_customer_audience Export a hashed Shopify customer audience for upload to Meta, Google, TikTok or LinkedIn. Call this to build a customer-match or lookalike seed from store purchase history. The und |
input · no output |
| shopify_get_customers Aggregate a Shopify customer cohort into privacy-thresholded metrics. Days default to 30, round up to fixed 30, 90, or 365-day rolling UTC windows, and clamp above 365. Exact times |
input · no output |
| shopify_get_discount_codes Get Shopify discount codes and their price rules. Requires an assisted/custom Shopify connection with read_discounts; this is unavailable to public App Store installs. Call this to |
input · no output |
| shopify_get_inventory_levels Get Shopify inventory levels per inventory item and location. Call this to confirm stock before scaling spend on a product, or to find which locations can fulfil demand. [effect=re |
input · no output |
| shopify_get_inventory_status Get a Shopify stock-health summary flagging low and out-of-stock products. Call this before increasing budget on a shopping campaign so you do not drive traffic to unavailable prod |
input · no output |
| shopify_get_orders Get Shopify orders with financial and fulfillment status. Call this when the user asks about their Shopify store's orders, revenue by order, refunds, or unfulfilled orders. Paginat |
input · no output |
| shopify_get_product_feed Build a Shopify product feed (Google Merchant Center RSS 2.0 XML or CSV) and return it as data. Call this to inspect or refresh the catalog behind Google Shopping and Performance M |
input · no output |
| shopify_get_product_sales Get Shopify revenue broken down by product, vendor or product type. Call this to find the best sellers worth advertising and the long tail that is not converting. [effect=read; sco |
input · no output |
| shopify_get_products Get Shopify products, filterable by status, vendor, product type or collection. Call this before building a product feed or shopping campaign so ad copy matches the real catalog. P |
input · no output |
| shopify_get_sales_summary Get aggregate Shopify revenue, order count and average order value over a date range. Call this to establish store-level baseline revenue before attributing ad spend, or for blende |
input · no output |
| shopify_get_shop Get Shopify shop identity and configuration: domain, currency, timezone, plan. Call this first when connecting a store, to confirm which shop the credentials point at before any ot |
input · no output |
| shopify_get_webhooks Get the Shopify webhooks currently registered on the store. Call this to verify conversion and order tracking is wired up before trusting Shopify-sourced conversion data. [effect=r |
input · no output |
| stage_audience_artifact Stage a hashed-PII payload (newline-delimited identifiers) in Synter's private artifact store and return an opaque artifact_id. Pass that id to sync_audience via *_artifact_id para |
input · no output |
| studio_edit_landing_page Edit a canvas landing page with structured section ops — the landing-page twin of studio_edit_artboard; never write HTML. Atomic: invalid ops, an off-theme color/font or a stale re |
input · no output |
| studio_inspect_landing_page Read a landing page as a canvas document: indexed sections (type + full props), theme, nav, footer, metadata and a revision. Every page generated by create_landing_page is a canvas |
input · no output |
| sync_audience Upload audience data (emails, phones, MAIDs, companies, a public CSV URL, or a private artifact id) to ad platforms. Supports inline pre-hashed identifiers, artifact-id references |
input · no output |
| sync_wikidata_entity Query or generate a structured Wikidata entity payload (P31, P856, P571, P159) for direct LLM knowledge graph indexing via MediaWiki REST API. [effect=write; scope=intel:write] |
input · no output |
| synter_audience Build Synter Audiences and Signals with human-approved CSV purchases. Start with action='destinations' to select a writable Synter file's campaign_id (not an ad-platform campaign). |
input · no output |
| synter_audience_cancel_export Cancel a running Synter Audience export. Free. A cancelled export delivers no records and therefore incurs no per-record fee. [effect=write; scope=audiences:write; externalMutation |
input · no output |
| synter_audience_capacity Check whether Synter audience discovery currently has delivery capacity. Free. This is service availability, not the caller's Synter credit balance; use get_credit_balance for cust |
input · no output |
| synter_audience_export Start a bounded Synter Audience export after refining with synter_audience_query. Requires explicit max_rows (1-100000) and a stable purchase_id issued by the approval gate for saf |
input · no output |
| synter_audience_export_status Poll a Synter Audience export. Free to poll. On COMPLETED, Campaign IDE saves the purchased CSV into the project table without exposing private delivery credentials. The per-record |
input · no output |
| synter_audience_query Size a Synter Audience from a filter tree. operation='count' returns totals only (cheap — iterate your filter here); 'insights' returns aggregates. Paid rows are delivered only thr |
input · no output |
| synter_audience_schema Discover Synter audience filter columns and their allowed values before building an audience filter. Free — metadata only, no records delivered. Pass entity='contact' or 'company'; |
input · no output |
| synter_onboarding_start Start Synter onboarding without an account: returns a sign-in link and code for your human (no API key is ever returned through MCP) [effect=write; scope=workspace:write] |
input · no output |
| synter_onboarding_status Check whether the human finished Synter sign-in for a synter_onboarding_start device code; never returns a key [effect=read; scope=workspace:read] |
input · no output |
Verify it yourself
npx teppi-check https://mcp.syntermedia.ai/mcp/curl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2DFM4FQ3AVJTS92YYRZX