add_keywords
Add keywords to a Google Ads campaign or ad group.
Create, budget, pause and report on ad campaigns across Google, Meta, LinkedIn and Reddit from the conversation — creative generation and audience sync included.
LABSCO SUMMARY
The read half is ordinary enough: campaigns, performance and daily spend across whatever is connected. The write half is what separates it from most ad integrations, which are read-only by design. Campaigns get created and start spending, budgets change, keywords go live, and generated creative can be uploaded straight into an account. Audience sync stages hashed identifiers separately and carries a consent flag, which is the right shape for that data. Confirmations sit in front of destructive actions; how much authority to hand over is still a decision you make.
A server over Synter reaching the ad accounts connected to it across platforms: list and create campaigns, change budgets, pause them, manage keywords, set up conversion tracking, generate image and video creative, and sync first-party audiences.
A Synter API key, with the ad accounts connected on the Synter side. Locally, @synterai/mcp-server over stdio with SYNTER_API_KEY set; remotely, Streamable HTTP at https://mcp.syntermedia.ai/mcp/ with the key sent as an X-Synter-Key header, which is where the full hosted tool set lives. The project is direct about the consequence: an agent with this connected can create campaigns that begin spending immediately, and it ships confirmations in front of destructive actions.
One command plus a key — npx @synterai/mcp-server, then supply credentials
USE CASES
One request creates the campaign, ad group, responsive search ad and keywords; negatives go on straight after so the first day is not wasted.
Performance across a date range, daily spend by account, and the campaign list with status and budget beside it.
Pause by campaign ID on whichever platform it lives on, then raise the daily budget on the one that is working.
Check the site for gtag.js, GTM and pixel installation, then create the conversion action and take its ID and label into the tag manager.
Generate the image or the video from a concept, then upload it as an asset the ads can use.
Stage the hashed identifiers in the private artifact store, then sync them to the platforms with the consent flag set.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_keywordsAdd keywords to a Google Ads campaign or ad group.
add_negative_keywordsAdd negative keywords to block unwanted search terms.
create_conversionCreate a conversion action in Google Ads. Returns the conversion ID and label for GTM setup.
create_display_campaignCreate a Google Ads Display campaign with responsive display ads. Supports image uploads from URLs.
create_linkedin_campaignCreate a LinkedIn Ads campaign for B2B advertising.
create_meta_campaignCreate a Meta (Facebook/Instagram) advertising campaign.
create_pmax_campaignCreate a Google Ads Performance Max campaign. Requires images, headlines, descriptions, and a business name.
create_reddit_campaignCreate a Reddit Ads campaign for community-based advertising.
create_search_campaignCreate a Google Ads Search campaign with an ad group, responsive search ad, and keywords — all in one atomic request. IMPORTANT: You must supply at least 3 headlines (max 30 chars each) and at least 2 descriptions (max 90 chars each). Fewer than 3 headlines or fewer than 2 descriptions will cause the campaign to be rejected before any API call is made.
diagnose_trackingCheck if conversion tracking is properly set up on a website. Verifies gtag.js, GTM, and pixel installation.
generate_imageGenerate an AI image for ad creatives using Imagen 4, Flux, or Stable Diffusion.
generate_videoGenerate an AI video ad using Veo, Runway, or Luma. Great for YouTube and social ads.
get_daily_spendGet daily spend breakdown across all connected ad accounts.
get_performanceGet performance metrics (impressions, clicks, spend, conversions, ROAS) for campaigns.
list_ad_accountsList all connected ad accounts across platforms.
list_campaignsList all campaigns across connected ad platforms. Returns campaign name, status, budget, and performance metrics.
list_conversionsList all conversion actions configured in Google Ads.
list_landing_pagesList all landing pages for the authenticated workspace, including publish status, custom domain, and URLs.
manage_audienceCreate, upload to, or list first-party audiences in Google Ads via the Data Manager API. Supports Customer Match lists from emails, phone numbers, and company domains (B2B). Use action='create' to build a new audience, 'upload' to append members to an existing one, 'list' to see all audiences, 'status' to check an upload job, or 'list-sources' to see linked data sources (GA4, Merchant Center).
pause_campaignPause a campaign by ID. Works across all connected platforms.
run_toolRun any Synter tool by name. Use this for advanced operations not covered by other tools. See docs.syntermedia.ai for full tool list.
stage_audience_artifactStage a hashed-PII payload (newline-delimited identifiers — SHA-256 emails, phones, or raw MAIDs) in Synter's private artifact store and return an opaque artifact_id. Pass that id to sync_audience via *_artifact_id parameters. FREE — no credits charged. Use this instead of pasting hashed identifiers inline when you have more than ~500 entries.
sync_audienceUpload an audience to an ad platform (Google, Meta, LinkedIn, Microsoft, Reddit, TikTok, X). Accepts inline hashed identifiers (hashed_emails, hashed_phones), raw mobile_ids (IDFA/GAID), company_domains, a public csv_url, or *_artifact_id references staged via stage_audience_artifact. Costs 10 credits on success.
update_campaign_budgetUpdate the daily budget for a campaign.
upload_imageUpload an image as an asset for use in ads.
BEFORE YOU INSTALL
25 tools when we connected. run_tool reaches 140+ further Synter tools, and the hosted server at https://mcp.syntermedia.ai/mcp/ exposes a larger set. The README also describes an execute tool that dry-runs by default, but this package does not expose it; actions go through run_tool.
npx on PATH
CONTEXT COST
Rated by the size of the 25 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx @synterai/mcp-serverhttps://mcp.syntermedia.ai/mcp/Add this hosted endpoint to your MCP client using the credentials listed under Requirements.
{
"mcpServers": {
"synter": {
"command": "npx",
"args": [
"@synterai/mcp-server"
],
"env": {
"SYNTER_API_KEY": "<YOUR_SYNTER_API_KEY>"
}
}
}
}{
"amp.mcpServers": {
"synter": {
"command": "npx",
"args": [
"@synterai/mcp-server"
],
"env": {
"SYNTER_API_KEY": "<YOUR_SYNTER_API_KEY>"
}
}
}
}URL: https://mcp.syntermedia.ai/mcp/
Header: X-Synter-Key: syn_your_api_key_here
/plugin marketplace add Synter-Media-AI/plugin
/plugin install synter@synter