# Synter Documentation for AI Agents # https://docs.synterai.com > Synter provides hosted advertising MCP and REST APIs for coding agents and > applications across 16 ad platforms. Operation support varies by > platform API, account permissions, and connection. This file is > an authoritative index, not a duplicated copy of the documentation. Each > linked `.md` page is generated from the corresponding live page so tool > names, schemas, pricing, and examples cannot drift between human and agent > documentation. Synter (synterai.com, formerly syntermedia.ai), the AI ad-operations company, is not affiliated with synter.ai (a spec-to-code tool), Synter Resource Group (synter.com), Synterra Media, or Synternet. ## Start here - Quickstart: https://docs.synterai.com/quickstart.md - MCP overview: https://docs.synterai.com/mcp/overview.md - MCP configuration: https://docs.synterai.com/mcp/configuration.md - Complete MCP tool catalog and parameter schemas: https://docs.synterai.com/mcp/tools.md - MCP scopes: https://docs.synterai.com/mcp/scopes.md - MCP rate limits: https://docs.synterai.com/mcp/rate-limits.md - MCP errors and troubleshooting: https://docs.synterai.com/mcp/errors.md - REST authentication: https://docs.synterai.com/api/authentication.md - REST run-tool endpoint: https://docs.synterai.com/api/run-script.md - Python SDK: https://docs.synterai.com/sdk/python.md - TypeScript SDK: https://docs.synterai.com/sdk/typescript.md - Rust SDK: https://docs.synterai.com/sdk/rust.md - Java SDK (Maven ai.syntermedia:synter-sdk 0.1.1): https://docs.synterai.com/sdk/java.md - Go SDK (not published yet): https://docs.synterai.com/sdk/go.md - Approval model and safety controls: https://docs.synterai.com/mcp/approval-model.md - Integrations: https://docs.synterai.com/integrations.md ## Install Synter is self-serve. There is no access review. One hosted endpoint for every client: `https://mcp.synterai.com` (server name `synter-ads`). Your MCP client signs you in with browser OAuth; you do not need an API key. The only official packages are @synterai/mcp-server, @synterai/sdk-js, PyPI synter, crates.io synter, Maven ai.syntermedia:synter-sdk. @iflow-mcp/* copies are unofficial and outdated. ### Quick start 1. Add the server with one of the one-click options below. 2. Your client opens browser sign-in (OAuth). If you don't have an account yet, create one at https://synterai.com/sign-up. 3. Connect your ad accounts in Synter. 4. Run a read-only first prompt, for example: "List my connected ad accounts and show last 7 days of spend by platform." Agents must never ask for, paste, or echo API keys or tokens in chat. Agents should get explicit user approval before any write (launching, pausing, changing budgets). What the server itself holds for approval, and who approves on each surface, is documented at https://docs.synterai.com/mcp/approval-model. ### Cursor (one click) - Install link: `cursor://anysphere.cursor-deeplink/mcp/install?name=synter-ads&config=eyJ1cmwiOiJodHRwczovL21jcC5zeW50ZXJhaS5jb20ifQ==` - Web fallback: https://cursor.com/en/install-mcp?name=synter-ads&config=eyJ1cmwiOiJodHRwczovL21jcC5zeW50ZXJhaS5jb20ifQ== - Manual `.cursor/mcp.json`: ```json {"mcpServers":{"synter-ads":{"url":"https://mcp.synterai.com"}}} ``` ### VS Code (one click) - Install link: `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` - Badge link (works from GitHub and Markdown): https://insiders.vscode.dev/redirect/mcp/install?name=synter-ads&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.synterai.com%22%7D (VS Code Insiders: append `&quality=insiders`) - Manual `.vscode/mcp.json`: ```json {"servers":{"synter-ads":{"type":"http","url":"https://mcp.synterai.com"}}} ``` ### Claude Code ```bash claude mcp add --transport http synter-ads https://mcp.synterai.com ``` Then run `/mcp`, select `synter-ads`, and choose Authenticate. ### Codex ```bash codex mcp add synter-ads --url https://mcp.synterai.com codex mcp login synter-ads ``` ### Gemini CLI ```bash gemini extensions install https://github.com/Synter-Media-AI/mcp-server ``` Or add to `~/.gemini/settings.json` (Gemini uses `httpUrl` for streamable HTTP; `url` means SSE): ```json {"mcpServers":{"synter-ads":{"httpUrl":"https://mcp.synterai.com"}}} ``` ### Windsurf `~/.codeium/windsurf/mcp_config.json`: ```json {"mcpServers":{"synter-ads":{"serverUrl":"https://mcp.synterai.com"}}} ``` ### Cline `cline_mcp_settings.json` (`type` must be camelCase `streamableHttp`, otherwise Cline falls back to SSE): ```json {"mcpServers":{"synter-ads":{"type":"streamableHttp","url":"https://mcp.synterai.com","disabled":false,"autoApprove":[]}}} ``` ### Claude.ai and ChatGPT Add a custom connector with URL `https://mcp.synterai.com` and complete the Synter sign-in. ### API-key fallback (headless and CI only) Clients that support custom headers can send `X-Synter-Key: ${SYNTER_API_KEY}` instead of OAuth. Create a key at https://synterai.com/developer (or Settings → API keys) after signing up. Read the key from an environment variable or secret store; never commit keys or paste them in chat. (`Authorization: Bearer syn_…` is not the fallback on the hosted endpoint; use the `X-Synter-Key` header.) Client-specific, copyable configurations are also maintained at https://docs.synterai.com/mcp/configuration.md. Prefer the hosted server for new integrations; it exposes the current tool catalog without installing or pinning a local server package. For unattended REST integrations, load a scoped API key from the `SYNTER_API_KEY` environment variable or a secret manager; never hardcode or commit it. ## Canonical REST execution Run Synter scripts through: ```text POST https://synterai.com/api/v1/tools/run Authorization: Bearer $SYNTER_API_KEY Content-Type: application/json ``` `/api/v1/tools/run` also accepts `X-Synter-Key` or `X-API-Key`; resource endpoints on `https://api.synterai.com/v1` accept `Authorization: Bearer` or `X-Synter-Key`. Every SDK and the CLI send `Authorization: Bearer`. The full table is at https://docs.synterai.com/api/authentication.md For Google Ads performance over REST, use the script name `pull_google_ads`. Do not substitute the MCP tool name `pull_google_ads_performance`. The canonical REST script is `pull_google_ads`; use it rather than relying on compatibility aliases. The current request and response contract is maintained at: https://docs.synterai.com/api/run-script.md ## Supported ad platforms Synter runs ads across 16 ad platforms (write-capable): 1. Google Ads 2. Microsoft Ads 3. Meta (Facebook & Instagram) 4. LinkedIn Ads 5. X Ads 6. Reddit Ads 7. TikTok Ads 8. Snapchat Ads 9. Pinterest Ads 10. Spotify Ads 11. Amazon Ads 12. Amazon DSP 13. The Trade Desk 14. OpenAI Ads 15. Display & Video 360 16. StackAdapt Reporting connectors also exist for some retail media networks. ## Subscription plans and credits Synter offers only these plans: - SOLO: $20/month or $200/year, with $20 in claimable monthly credits. - SCALE: $500/month or $5,000/year, with $500 in claimable monthly credits. - CUSTOM: sales-led pricing with a custom claimable monthly credit allowance. Monthly credits must be claimed during each billing period in the billing portal. Keep the credit balance replenished so autonomous monitoring and live campaign workflows do not halt. For current per-tool credit costs, use the live tool catalog and rate-limit documentation rather than copying costs from this index. ## Documentation integrity The `.md` endpoints above are rendered from the same TSX pages served to human readers. If a linked page and this index ever disagree, the linked page is the source of truth. Do not infer current tool schemas, credit costs, or supported parameters from old snippets, cached search results, or local package source.