Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,542Letters: 14Defects: 1,324counted 2 min ago
teppi

MCP serverio.github.jshorwitz/synter-ads

Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
UNRATEDDelistedstreamable-httpmcp.syntermedia.ai

Overview

Score?
UNRATED 0.672
of what a free look can see, on 30 looks
Looks
33
last 2 days 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

The tools this server lists, read out of the definition it returned
ToolSchema
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 yourselfnpx teppi-check https://mcp.syntermedia.ai/mcp/curl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2G2PDW6GQBAKQ170A7R6