Synter Ads

io.github.jshorwitz由 GitHub 账号 jshorwitz 发布v1.0.7更新于 Oct 1, 2026

Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.

已验证Streamable HTTP可网页运行数据与分析商业与电商

概览

AI 生成的概览

面向广告投放的 MCP 服务器,让助手在 30 多个广告平台上查看效果数据,并创建、暂停广告系列或调整预算。

可以做什么
  • 按平台列出广告系列和已连接的广告账户
  • 创建搜索、展示、效果最大化、Meta、LinkedIn 和 Reddit 广告系列,暂停广告系列并修改每日预算
  • 获取展示、点击、花费、转化和 ROAS 等效果指标以及每日花费明细
  • 添加关键词和否定关键词,创建或诊断转化跟踪
  • 生成广告图片和视频,上传图片素材
  • 通过通用工具调用直接运行 140 多个 Synter 工具
适用场景
适合希望在一个对话中跨多个广告平台查看并调整付费投放的场景,例如审查花费、暂停超支的广告系列或上线新广告系列。提供带模拟数据的演示模式,无需账户即可试用。
运行要求
可使用托管 Streamable HTTP 端点并通过 OAuth 浏览器登录,或在本地用 npx 运行 npm 包(需要 Node.js)。本地服务器需要 SYNTER_API_KEY,使用请求头的客户端使用 X-Synter-Key。需在服务商的集成页面连接各广告账户。演示模式无需账户或密钥。
安装前请注意
写入默认开启,可创建广告系列、修改预算和暂停广告,会在广告平台上产生真实花费。每次写入收费 0.25 美元,媒体花费由平台另行计费。建议使用只读模式或受限范围的密钥,并在实际写入前核对账户、预算和操作。API 密钥可访问你的广告账户,务必妥善保管。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Synter Ads,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.jshorwitz%2Fsynter-ads/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

Synter MCP Server

[npm version] [License: MIT]

Open-source MCP server for ad performance reports and approved changes across 30+ ad platforms. $0.25 per verified write, 0% of ad spend.

Open-source MCP server for ad performance reports and approved changes across 30+ ad platforms. $0.25 per verified write, 0% of ad spend.

Synter is an open-source Model Context Protocol (MCP) server for ad operations from Claude, ChatGPT, Cursor, Codex, and other MCP clients. Writes are enabled by default across 30+ ad platforms, with an optional --read-only (SYNTER_READ_ONLY=true) mode.

Pricing is $0.25 per verified write, 0% of ad spend; MCP reads are free. Use the hosted endpoint at https://mcp.synterai.com with Streamable HTTP and OAuth 2.1 browser sign-in. No API key is needed for hosted access.

Note: Synter-Media-AI/plugin is the canonical installable Claude plugin repo. The .claude-plugin/ copy in this repo is not the install source.


Install (hosted, browser sign-in)

[Add to Cursor] [Install in VS Code]

Add the hosted server to your MCP client and complete OAuth 2.1 browser sign-in when prompted. It uses Streamable HTTP; no API key is needed.

json
{"mcpServers":{"synter-ads":{"url":"https://mcp.synterai.com"}}}

Auth: Hosted MCP (mcp.synterai.com) authenticates with OAuth or the X-Synter-Key: syn_... header. Do not send Authorization: Bearer syn_... to the hosted MCP yet; REST/SDKs use Bearer.

Signup is self-serve at synterai.com/sign-up. There is no access review: sign up, connect your ad accounts, and your MCP client can start working.

Synter's canonical domain is synterai.com; the hosted MCP endpoint is https://mcp.synterai.com.

⚡ Try in < 60 Seconds with Zero Credentials: Run npx -y @synterai/mcp-server --demo (or set SYNTER_DEMO=true) to explore campaigns, inspect performance metrics, and simulate mutations with high-fidelity sandbox data. No account or API key required.

The only official packages are npm @synterai/mcp-server, npm @synterai/sdk-js, PyPI synter, crates.io synter, and Maven ai.syntermedia:synter-sdk. @iflow-mcp/* copies are unofficial and outdated.

Cursor: click the badge above, or open cursor://anysphere.cursor-deeplink/mcp/install?name=synter-ads&config=eyJ1cmwiOiJodHRwczovL21jcC5zeW50ZXJhaS5jb20ifQ==

VS Code: click the badge above, or open vscode:mcp/install?%7B%22name%22%3A%22synter-ads%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.synterai.com%22%7D

Claude Code:

bash
claude mcp add --transport http synter-ads https://mcp.synterai.com

Codex:

bash
codex mcp add synter-ads --url https://mcp.synterai.comcodex mcp login synter-ads

Amp: built in — see Add Synter to Amp.

Gemini CLI: install this repo as an extension (it ships a gemini-extension.json):

bash
gemini extensions install https://github.com/Synter-Media-AI/mcp-server

Or add it to settings.json:

json
{"mcpServers":{"synter-ads":{"httpUrl":"https://mcp.synterai.com"}}}

Windsurf: add to ~/.codeium/windsurf/mcp_config.json:

json
{"mcpServers":{"synter-ads":{"serverUrl":"https://mcp.synterai.com"}}}

Cline:

json
{"mcpServers":{"synter-ads":{"type":"streamableHttp","url":"https://mcp.synterai.com","disabled":false,"autoApprove":[]}}}

Claude.ai / Claude Desktop: open Settings → Connectors → Add custom connector, enter https://mcp.synterai.com, and sign in when prompted.

ChatGPT: custom MCP connectors require Developer mode. Turn it on under Settings → Apps & Connectors → Advanced → Developer mode, then add a connector with the URL https://mcp.synterai.com and sign in when prompted.

Then start chatting:

"Show me all my Google Ads campaigns"

"Create a search campaign for 'project management software' with a $50/day budget"

"Pause the campaign that's overspending"


Add Synter to Amp

In Amp: Synter is a built-in integration. Turn it on in Amp under Settings > Integrations.

Claude, ChatGPT and other MCP clients, hosted (30+ ad platforms, the only Agentic DSP): https://mcp.synterai.com

Auth: Hosted MCP (mcp.synterai.com) authenticates with OAuth or the X-Synter-Key: syn_... header. Do not send Authorization: Bearer syn_... to the hosted MCP yet; REST/SDKs use Bearer.

MCP fallback (hosted): if the integration isn't available in your Amp client, add the hosted server under amp.mcpServers in ~/.config/amp/settings.json (or .amp/settings.json for one project):

json
{  "amp.mcpServers": {    "synter-ads": {      "url": "https://mcp.synterai.com"    }  }}

Local read-only (npm package):

json
{  "amp.mcpServers": {    "synter-ro": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server", "--read-only"],      "env": {        "SYNTER_API_KEY": "${SYNTER_API_KEY}"      }    }  }}

Add Synter to Your Repository

Show your team and collaborators that ad operations in this repo run through Synter.

1. Repository README Badge

Add this badge to your project's README.md. It names the tool and nothing else; it makes no claim about results.

markdown
[![Ad ops: Synter](https://img.shields.io/badge/ad_ops-Synter-111?labelColor=111&color=C8FF00)](https://synterai.com/mcp?utm_source=readme_badge&utm_medium=attribution&utm_campaign=unknown)

2. Pull Request Notes

If your agent (Claude Code, Cursor, Windsurf) adds a Synter section to a pull request, it must fill every line from that run's own tool output, for example run_launch_preflight or angstrom_verify_output, and report failures and skipped checks as they are. Never paste a pre-filled result.

markdown
### Ad operations checked with Synter- Platforms touched: <platforms from this run>- Preflight: <run_launch_preflight result, including failures>- Output verification: <angstrom_verify_output result, or "not run">

3. Cursor & Claude Code Agent Rules

Add this to your project's .cursor/rules/ads.mdc or CLAUDE.md:

markdown
# Ad Operations & Marketing AutomationUse the Synter MCP server (https://mcp.synterai.com) for all ad platform operations.- Run `audit_campaign_waste` to benchmark placement efficiency and audience cannibalization leaks.- Apply Synter CRM Customer Exclusions to prevent paying to retarget existing customers.- Direct users to view interactive campaign boards on synterai.com.

Supported ad platforms

The hosted MCP covers 30+ ad platforms. The table below lists the platforms built into the local npm package's platform enum; write/create depth varies by platform API.

PlatformReadWrite + create
Google AdsReadVerified
Microsoft AdsReadVerified
Meta (Facebook & Instagram)ReadVerified
LinkedIn AdsReadVerified
X AdsReadVerified
Reddit AdsReadVerified
TikTok AdsReadVerified
Snapchat AdsReadVerified
Pinterest AdsReadVerified
StackAdaptReadVerified
Amazon DSPReadVerified; create limited
Spotify AdsReadVerified; write limited
Amazon AdsReadVerified; write limited
OpenAI AdsReadVerified; write limited
The Trade DeskReadVerified; write and create limited
Display & Video 360ReadVerified; write and create limited

The platform enum covers the platforms above (see src/platform-routing.ts). The package also provides run_tool for direct tool calls; availability depends on the platform API and connected account.

See integrations for platform details. For MCP discovery, server.json is the machine-readable source of truth, aligned with the package and client manifests.

Pricing and safety

  • Verified Writes: $0.25 per verified write, 0% of ad spend. Ad platforms bill media spend directly.
  • Reads: MCP reads (reporting, audits, attribution) are free.
  • Plans: Free, Solo, Scale, and Custom. Scale ($500/mo) adds 5 seats, multi-workspace isolation, dedicated concurrency, and team governance. See pricing for full plan details.

Synter provides workspace spend limits, launch preflight (dry_run: true), post-write readback, and an immutable audit log. Review the intended account, budget, and action before a live write. Client confirmation behavior depends on the MCP client and its configuration.

For local read-only access, pass --read-only or set SYNTER_READ_ONLY=true to remove mutating tools and block write calls locally. Use --demo to explore mock data without an account or API key.


Multi-Tenant Workspaces, Server-Side Scoped Keys, White-Label OAuth & SDKs

For SaaS products, agencies, and engineering teams embedding ad operations across multiple customers or brands, Synter provides both MCP and a direct REST API + native SDKs:

  1. Programmatic Tenant / Workspace Provisioning (/api/v1/workspaces):
    • Create and manage isolated tenant workspaces via REST (POST https://synterai.com/api/v1/workspaces) or target a specific tenant per request with SYNTER_WORKSPACE_ID / X-Synter-Workspace: ws_.... Each workspace maintains strict tenant isolation over OAuth token vaults, ad account IDs, daily spend caps, and audit logs.
  2. Server-Side Scoped API Keys (tools:read, budget:decrease, tools:write):
    • In addition to client-side --read-only mode, Synter enforces server-side API key scopes minted via POST /api/v1/workspaces/{id}/keys or synterai.com/developer:
      • tools:read — server-enforced read-only access (reporting, search term audits, attribution, diagnostics; all mutations rejected server-side with 403).
      • budget:decrease — allows agents to pause bleeding campaigns or lower budgets while blocking budget increases or new campaign launches.
      • tools:write — full write and campaign creation access within workspace budget guardrails.
  3. White-Label OAuth Link Flow & Bring-Your-Own (BYO) OAuth Apps (/api/v1/oauth):
    • Embedded / White-Label OAuth: Generate per-tenant authorization URLs (POST https://synterai.com/api/v1/oauth/{platform}/authorize with workspace_id and custom redirect_uri) so your end users connect Google, Meta, LinkedIn, Reddit, TikTok, or DSP accounts inside your app without visiting Synter's UI, with automatic token refresh and credential vaulting.
    • BYO OAuth App / Credentials: Register your own platform OAuth client ID/secret and developer tokens per workspace, or pass credentials directly via the SDK/CLI (SYNTER_BYO_CREDENTIALS=true).
  4. REST API & Official Multi-Language SDKs:
    • Call any tool over HTTP (POST https://synterai.com/api/v1/tools/run with Authorization: Bearer syn_...) or via the official typed SDKs. (The hosted MCP at mcp.synterai.com is different: it takes OAuth or X-Synter-Key, not Bearer, for now.)
      • TypeScript / Node.js (@synterai/sdk-js):
        ts
        import { SynterClient } from "@synterai/sdk-js";const synter = new SynterClient({ apiKey: process.env.SYNTER_API_KEY, workspaceId: "ws_tenant_123" });const campaigns = await synter.campaigns.list({ platform: "google", dateRange: "LAST_30_DAYS" });const preview = await synter.campaigns.updateBudget({ platform: "linkedin", campaignId: "123", dailyBudget: 150, dryRun: true });
      • Python (pip install synter):
        python
        import osfrom synter import Synter
        client = Synter(api_key=os.environ["SYNTER_API_KEY"])  # optional: base_url=, timeout=, max_retries=perf = client.analytics.get_performance(platform="meta", date_range="LAST_30_DAYS")
      • Rust (cargo add synter, crates.io synter) & Java (ai.syntermedia:synter-sdk on Maven Central).

Local stdio (npx) / API-key fallback

Use this when your client only speaks stdio, or when you run headless and can't complete a browser sign-in.

⚡ Quick Demo Sandbox Mode (< 60s Evaluation)

Test immediately with realistic mock ad data across Google, Meta, LinkedIn, and more without needing an account or API key:

json
{  "mcpServers": {    "synter-demo": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server@latest", "--demo"]    }  }}

Or run directly from your terminal:

bash
npx -y @synterai/mcp-server --demo

1. Get Your API Key (For Live Accounts)

Sign up at synterai.com/sign-up. Your API key is created automatically; you can view it or create more in Developer Settings.

2. Configure Your AI Client

For Claude Desktop: Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "synter": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server@latest"],      "env": {        "SYNTER_API_KEY": "syn_your_api_key_here"      }    }  }}

For Cursor: Add to .cursor/mcp.json in your project:

json
{  "mcpServers": {    "synter-ads": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server@latest"],      "env": {        "SYNTER_API_KEY": "syn_your_api_key_here"      }    }  }}

For VS Code / Cline: Add to cline_mcp_settings.json:

json
{  "mcpServers": {    "synter": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server@latest"],      "env": {        "SYNTER_API_KEY": "syn_your_api_key_here"      },      "disabled": false,      "autoApprove": [        "pull_google_ads_performance",        "pull_meta_ads_performance",        "pull_linkedin_ads_performance",        "get_spend_reconciliation"      ]    }  }}

For Windsurf (Codeium): Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "synter": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server@latest"],      "env": {        "SYNTER_API_KEY": "syn_your_api_key_here"      }    }  }}

For Amp: Add under amp.mcpServers in ~/.config/amp/settings.json (or .amp/settings.json):

json
{  "amp.mcpServers": {    "synter": {      "command": "npx",      "args": ["-y", "@synterai/mcp-server@latest"],      "env": {        "SYNTER_API_KEY": "syn_your_api_key_here"      }    }  }}

HTTP clients that need a header instead of OAuth (n8n, Zapier, scripts, other headless clients):

URL: https://mcp.synterai.comHeader: X-Synter-Key: syn_your_api_key_here

Hosted MCP (mcp.synterai.com) authenticates with OAuth or the X-Synter-Key: syn_... header. Do not send Authorization: Bearer syn_... to the hosted MCP yet; REST/SDKs use Bearer.

The header is optional; browser OAuth is the default. Works with any MCP client that supports Streamable HTTP transport.

3. Start Using It

Restart your AI client and start chatting.


Prefer a full plugin? (Claude Code / Claude Desktop)

This package is the raw MCP server. If you use Claude Code or Claude Desktop, the Synter plugin wraps this same server with ready-made skills (/synter:launch, /synter:audience, /synter:optimize, …), specialized agents, and workflow guidance:

text
/plugin marketplace add Synter-Media-AI/plugin/plugin install synter@synter

It also ships a headless Claude Agent SDK runner for automation. See the plugin repo or the Claude Plugin guide. Use this MCP package directly when you want just the tools, or are wiring another client.


What Can Your Agent Do?

📊 Campaign Management

ToolDescription
list_campaignsList campaigns for one ad platform (platform is required)
create_search_campaignCreate a Google Search campaign with keywords and ads
create_display_campaignCreate a Google Display campaign with images
create_pmax_campaignCreate a Performance Max campaign
create_meta_campaignCreate a Facebook/Instagram campaign
create_linkedin_campaignCreate a LinkedIn campaign for B2B
create_reddit_campaignCreate a Reddit campaign
pause_campaignPause any campaign
update_campaign_budgetChange daily budget

📈 Performance & Analytics

ToolDescription
get_performanceGet impressions, clicks, spend, conversions, ROAS
get_daily_spendDaily spend breakdown by platform

🎯 Keywords & Targeting

ToolDescription
add_keywordsAdd keywords to a campaign or ad group
add_negative_keywordsBlock unwanted search terms

🔄 Conversion Tracking

ToolDescription
create_conversionSet up a conversion action
list_conversionsList existing conversion actions
diagnose_trackingCheck if tracking is installed correctly

🎨 Creative Generation

ToolDescription
generate_imageAI-generate ad images
generate_videoAI-generate video ads
upload_imageUpload images as ad assets

🔧 Utility

ToolDescription
list_ad_accountsList all connected ad accounts
run_toolRun any of 140+ Synter tools directly

Tool names: stdio package vs hosted server

The npx package and the hosted server at https://mcp.synterai.com name a few equivalent tools differently:

stdio (@synterai/mcp-server)Hosted (https://mcp.synterai.com)
get_performance (with platform)pull_<platform>_ads_performance, e.g. pull_google_ads_performance, pull_meta_ads_performance
get_daily_spendNo single hosted tool; use pull_<platform>_ads_performance (Google supports segment: "date" for per-day rows)
list_ad_accountslist_connected_accounts

As of the next hosted release, the hosted server also accepts the stdio names above as aliases, so the same tool calls work against either transport.


No Ads Experience? No Problem.

If you've never run ads before, here's what you need to know:

What is a Campaign?

A campaign is like a project folder. It contains your ads, who sees them, and how much you spend.

Campaign: "Q1 Lead Generation"├── Budget: $50/day├── Targeting: USA, people searching "project management"└── Ads: Headlines, descriptions, images

What Platforms Can I Use?

PlatformBest ForMin Budget
Google AdsPeople actively searching for your product$10/day
Meta (Facebook/Instagram)Visual products, broad audiences$5/day
LinkedInB2B, enterprise, job seekers$25/day
RedditNiche communities, tech-savvy users$5/day
Microsoft (Bing)Older demographics, B2B$10/day
TikTokGen Z, entertainment, e-commerce$20/day

Campaign Types Explained

Search Campaigns: Your ad shows when someone Googles specific keywords.

  • Example: Someone searches "best CRM software" → Your ad appears

Display Campaigns: Image ads shown across websites and apps.

  • Example: Banner ad on a news site

Performance Max (PMax): Google's AI shows your ads everywhere (Search, YouTube, Display, Gmail, Maps).

  • Example: Google figures out the best placements for you

Video Campaigns: Video ads on YouTube and partner sites.

  • Example: 15-second ad before a YouTube video

Common Terms

TermWhat It Means
ImpressionsHow many times your ad was shown
ClicksHow many people clicked your ad
CTRClick-through rate (clicks ÷ impressions × 100)
CPCCost per click
ConversionsDesired actions (signups, purchases, etc.)
ROASReturn on ad spend (revenue ÷ spend)

First Campaign Checklist

Before creating your first campaign, you'll need:

  1. ✅ A landing page URL where people will go when they click
  2. ✅ An idea of who you want to reach (location, interests)
  3. ✅ A daily budget you're comfortable with ($10-50 to start)
  4. ✅ Some headlines and descriptions for your ad

Pro tip: Start with a Search campaign on Google. It's the easiest to understand and shows ads to people already looking for what you offer.


Example Conversations

Create Your First Campaign

You: Create a Google Search campaign for my SaaS product. Target people searching for "team collaboration software" and "project management tools". Budget is $25/day. Landing page is https://myapp.com/signup

Agent: I'll create a Search campaign with those keywords. What headlines should I use? Here are some suggestions:

  • "Team Collaboration Made Simple"
  • "Project Management for Modern Teams"
  • "Book a Demo Today"

Check Performance

You: How are my campaigns doing this week?

Agent: Here's your performance for the last 7 days:

CampaignSpendClicksConversionsROAS
Brand Search$14289124.2x
Competitor Keywords$984531.5x
Display Retargeting$6723482.8x

The "Competitor Keywords" campaign is underperforming. Want me to pause it or adjust the targeting?

Add Negative Keywords

You: I'm getting clicks for "project management jobs" but we're not hiring. Block those.

Agent: Added "jobs" as a negative keyword to your campaign. This will stop your ads from showing for any search containing "jobs".

Generate Ad Creative

You: I need a display ad image for a marketing automation product. Dark theme, professional, 1200x628.

Agent: Generating your image...

Created: "Marketing automation dashboard with data visualization on dark background" Asset saved and ready to use in your next Display campaign.


Connect Your Ad Accounts

To manage ads on each platform, you'll need to connect your accounts in Synter:

  1. Go to synterai.com/integrations
  2. Click "Connect" next to each platform
  3. Complete the OAuth flow
  4. Your agent can now manage that platform

See Supported ad platforms for platforms with verified write and create. Write/create depth varies by platform API.


Advanced: Direct Tool Access

For power users, you can call any of 140+ Synter tools directly:

> Use run_tool to call google_ads_list_audiences

See the full tool list at docs.synterai.com/mcp/tools or ask your agent:

> What tools are available for LinkedIn Ads?

Safety and live writes

Client confirmations depend on the client's handling of tool annotations and its settings. Use launch preflight, check workspace spend limits, and verify live changes with readback and the audit log. Use dry_run: true where the tool schema supports it to preview a request before execution.


Environment Variables

VariableRequiredDescription
SYNTER_API_KEYYes (stdio)Your Synter API key, from synterai.com/developer
SYNTER_API_URLNoAPI base URL override (default https://synterai.com)
SYNTER_ARTIFACT_API_URLNoArtifact API override used by stage_audience_artifact (default https://api.synterai.com)

These apply to the local npx server only. The hosted server at https://mcp.synterai.com uses browser OAuth and needs no environment variables.


Local Development

bash
# Clone and installgit clone https://github.com/Synter-Media-AI/mcp-server.gitcd mcp-servernpm install
# Buildnpm run build
# Run locallySYNTER_API_KEY=syn_your_key_here node dist/index.js

Troubleshooting

Browser sign-in didn't open (hosted server)

Most clients open the sign-in page the first time a Synter tool is used. In Codex, run codex mcp login synter-ads. If your client can't do a browser sign-in at all, use the X-Synter-Key header fallback described in Local stdio (npx) / API-key fallback.

"SYNTER_API_KEY not set"

Make sure your API key is in the env section of your MCP config. The key should start with syn_.

"Invalid or expired API key"

  1. Check that you copied the full key (they're long!)
  2. Verify the key is active at synterai.com/developer
  3. Make sure the key has tools:write scope

"No ad accounts connected"

You need to connect at least one ad platform:

  1. Go to synterai.com/integrations
  2. Click "Connect" next to Google Ads (or another platform)
  3. Complete the OAuth authorization

Tools aren't showing in Claude/Cursor

  1. Restart your AI client completely (not just refresh)
  2. Check the MCP server logs for errors
  3. Verify the config file path and JSON syntax

FAQ

Is there an MCP server for Google Ads?

Yes. Synter supports Google Ads reporting, Search, Display, and Performance Max campaign creation, keywords, budget updates, audience management, and conversion tracking. Google Ads is one of the platforms with verified write and create; write/create depth varies by platform API.

Can Claude or ChatGPT manage my ad campaigns?

Yes. Add https://mcp.synterai.com as a custom connector (Claude: Settings → Connectors → Add custom connector; ChatGPT: enable Developer mode first under Settings → Apps & Connectors → Advanced) and complete OAuth 2.1 browser sign-in. Synter supports ad operations across 30+ ad platforms, with write/create depth varying by platform API. No API key is needed for hosted access. Clients that only support stdio can use npx -y @synterai/mcp-server with SYNTER_API_KEY.


Resources


About

Synter builds tools for ad operations. Visit synterai.com/mcp for hosted MCP access and setup documentation.


License

MIT License - see LICENSE for details.


[Synter]
Open source. MIT licensed. Built for agents that run ads.
Review what your agent proposes before anything spends.

来源:README.md,提交 7329259

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v1.0.7最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式必需10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分