
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.
概覽
面向廣告投放的 MCP 伺服器,讓助理在 30 多個廣告平台上查看成效資料,並建立、暫停廣告活動或調整預算。
- 可以做什麼
- 依平台列出廣告活動與已連結的廣告帳戶
- 建立搜尋、多媒體、最高成效、Meta、LinkedIn 與 Reddit 廣告活動,暫停廣告活動並調整每日預算
- 取得曝光、點擊、花費、轉換與 ROAS 等成效指標及每日花費明細
- 新增關鍵字與排除關鍵字,建立或診斷轉換追蹤
- 生成廣告圖片與影片,上傳圖片素材
- 透過通用工具呼叫直接執行 140 多個 Synter 工具
- 適用情境
- 適合想在同一個對話中跨多個廣告平台檢視並調整付費投放的情境,例如檢視花費、暫停超支的廣告活動或推出新的廣告活動。提供含模擬資料的示範模式,無需帳戶即可試用。
- 執行需求
- 可使用託管的 Streamable HTTP 端點並以 OAuth 瀏覽器登入,或在本地以 npx 執行 npm 套件(需要 Node.js)。本地伺服器需要 SYNTER_API_KEY,使用標頭的用戶端則使用 X-Synter-Key。需在服務商的整合頁面連結各廣告帳戶。示範模式無需帳戶或金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Synter Ads,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
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
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/pluginis 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.
Auth: Hosted MCP (mcp.synterai.com) authenticates with OAuth or the
X-Synter-Key: syn_...header. Do not sendAuthorization: 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 setSYNTER_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, PyPIsynter, crates.iosynter, and Mavenai.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:
Codex:
Amp: built in — see Add Synter to Amp.
Gemini CLI: install this repo as an extension (it ships a gemini-extension.json):
Or add it to settings.json:
Windsurf: add to ~/.codeium/windsurf/mcp_config.json:
Cline:
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 sendAuthorization: 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):
Local read-only (npm package):
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.
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.
3. Cursor & Claude Code Agent Rules
Add this to your project's .cursor/rules/ads.mdc or CLAUDE.md:
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.
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:
- 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 withSYNTER_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.
- Create and manage isolated tenant workspaces via REST (
- Server-Side Scoped API Keys (
tools:read,budget:decrease,tools:write):- In addition to client-side
--read-onlymode, Synter enforces server-side API key scopes minted viaPOST /api/v1/workspaces/{id}/keysor synterai.com/developer:tools:read— server-enforced read-only access (reporting, search term audits, attribution, diagnostics; all mutations rejected server-side with403).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.
- In addition to client-side
- 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}/authorizewithworkspace_idand customredirect_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).
- Embedded / White-Label OAuth: Generate per-tenant authorization URLs (
- REST API & Official Multi-Language SDKs:
- Call any tool over HTTP (
POST https://synterai.com/api/v1/tools/runwithAuthorization: Bearer syn_...) or via the official typed SDKs. (The hosted MCP atmcp.synterai.comis different: it takes OAuth orX-Synter-Key, not Bearer, for now.)- TypeScript / Node.js (
@synterai/sdk-js): - Python (
pip install synter): - Rust (
cargo add synter, crates.iosynter) & Java (ai.syntermedia:synter-sdkon Maven Central).
- TypeScript / Node.js (
- Call any tool over HTTP (
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:
Or run directly from your terminal:
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:
For Cursor: Add to .cursor/mcp.json in your project:
For VS Code / Cline: Add to cline_mcp_settings.json:
For Windsurf (Codeium): Add to ~/.codeium/windsurf/mcp_config.json:
For Amp: Add under amp.mcpServers in ~/.config/amp/settings.json (or .amp/settings.json):
HTTP clients that need a header instead of OAuth (n8n, Zapier, scripts, other headless clients):
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:
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
📈 Performance & Analytics
🎯 Keywords & Targeting
🔄 Conversion Tracking
🎨 Creative Generation
🔧 Utility
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:
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.
What Platforms Can I Use?
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
First Campaign Checklist
Before creating your first campaign, you'll need:
- ✅ A landing page URL where people will go when they click
- ✅ An idea of who you want to reach (location, interests)
- ✅ A daily budget you're comfortable with ($10-50 to start)
- ✅ 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:
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:
- Go to synterai.com/integrations
- Click "Connect" next to each platform
- Complete the OAuth flow
- 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:
See the full tool list at docs.synterai.com/mcp/tools or ask your agent:
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
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
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"
- Check that you copied the full key (they're long!)
- Verify the key is active at synterai.com/developer
- Make sure the key has
tools:writescope
"No ad accounts connected"
You need to connect at least one ad platform:
- Go to synterai.com/integrations
- Click "Connect" next to Google Ads (or another platform)
- Complete the OAuth authorization
Tools aren't showing in Claude/Cursor
- Restart your AI client completely (not just refresh)
- Check the MCP server logs for errors
- 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
- Sign up: synterai.com/sign-up
- Synter Manual: synterai.com/manual
- Documentation: MCP overview
- Claude Plugin: github.com/Synter-Media-AI/plugin (skills, agents & this MCP for Claude Code / Desktop)
- Tool Reference: docs.synterai.com/mcp/tools
- Integrations: synterai.com/integrations
- Pricing: synterai.com/pricing
- Support: synterai.com/support or GitHub issues
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版本歷史
1- v1.0.7最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式必需10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分