Meta MCP vs Synter Ads

A side-by-side look at the Meta MCP and Synter Ads MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Meta MCP logoMeta MCPSocial Media · Local subprocess (stdio)Full-coverage MCP server for Instagram Graph API v25.0, Threads API & Meta platform — 57 tools for publishing, comments, insights, hashtags, DMs, and token management.68GreatAuth: api key requiredSynter Ads logoSynter AdsSocial Media · Local subprocess (stdio)Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok via AI agents64GoodAuth: not declared

Verdict: choose Meta MCP for social media work as a local process; choose Synter Ads for social media as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Meta MCP logoChoose Meta MCP when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: INSTAGRAM_ACCESS_TOKEN, INSTAGRAM_USER_ID, INSTAGRAM_MESSAGING_ACCESS_TOKEN, INSTAGRAM_PAGE_ID, THREADS_ACCESS_TOKEN, THREADS_USER_ID, META_APP_ID, META_APP_SECRET.
  • You want tools like meta_exchange_token, meta_refresh_token, meta_debug_token.
Explore Meta MCP

Synter Ads logoChoose Synter Ads when

  • You need dedicated capabilities in the Social Media domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: SYNTER_API_KEY.
  • You want tools like list_campaigns, create_search_campaign, create_display_campaign.
Explore Synter Ads

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMeta MCP logoMeta MCPSynter Ads logoSynter Ads
CategorySocial MediaSocial Media
Quality signal68/100 · Great64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredNot declared
PricingFreeNot declared
Required env varsINSTAGRAM_ACCESS_TOKENINSTAGRAM_USER_IDINSTAGRAM_MESSAGING_ACCESS_TOKENINSTAGRAM_PAGE_IDTHREADS_ACCESS_TOKENTHREADS_USER_IDMETA_APP_IDMETA_APP_SECRETSYNTER_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars3021
Directory activity 7 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools6656

Tools & capabilities

Meta MCP tools 66

  • meta_exchange_tokenExchange a short-lived token for a long-lived token (valid ~60 days). Requires META_APP_ID and META_APP_SECRET.
  • meta_refresh_tokenRefresh a long-lived token before it expires. Returns a new long-lived token.
  • meta_debug_tokenDebug/inspect an access token to check validity, expiration, scopes and associated user.
  • meta_get_app_infoGet Meta App basic information (name, category, namespace, etc.).
  • meta_subscribe_webhookSubscribe to webhook notifications for an object (e.g., 'instagram', 'page'). Requires META_APP_ID and META_APP_SECRET.
  • meta_get_webhook_subscriptionsList current webhook subscriptions for the Meta App.
  • ig_publish_photoPublish a photo to Instagram. Two-step process: creates container then publishes. Requires image_url (publicly accessible HTTPS URL).
  • ig_publish_videoPublish a video to Instagram feed. Waits for video processing before publishing.
  • ig_publish_carouselPublish a carousel (album) post with 2-10 images/videos. Each item needs an image_url or video_url.
  • ig_publish_reelPublish a Reel (short video). Waits for video processing.
  • ig_publish_storyPublish a Story (image or video). Stories disappear after 24 hours.
  • ig_get_container_statusCheck the processing status of a media container (useful for videos).
  • +54 more on the listing page

Synter Ads tools 56

  • list_campaignsList campaigns for ONE ad platform across all 16 ad platforms. `platform` is required -- this tool does not aggregate across platforms. Returns campaign name, status, budget, and performance metrics. 100% Free to Read ($0.00 / 0 credits — works out-of-the-box with zero configuration or API key; live write execution starts on the $20/month Solo plan).
  • create_search_campaignCreate a Google Ads Search campaign with an ad group, responsive search ad, and keywords — all in one atomic request. Supports `dry_run: true` ($0.00 / 0 credits, zero credentials required) to preview payload and policy checks. Live execution passes the server-side Agent Shield safety gate (daily spend caps, paused-on-create default, human approval mode, and immutable workspace audit log) on the $20/month Solo plan ($20.00 included monthly credits, 0% ad-spend markup). IMPORTANT — creative floor: supply 11-15 headlines (15 recommended, max 30 chars each) and 4 descriptions (max 90 chars each), echoing your target keywords across at least 5 headlines. The API accepts as few as 3 headlines / 2 descriptions, but ads built near that minimum score 'Poor' on Google Ad Strength, get throttled in the auction, and may be rejected by the platform — treat 11 headlines / 4 descriptions as the real minimum. Fewer than 3 headlines or fewer than 2 descriptions will cause the campaign to be rejected before any API call is made.
  • create_display_campaignCreate a Google Ads Display campaign with responsive display ads. Supports image uploads from URLs, `dry_run: true` ($0.00 / 0 credits, zero credentials required), and server-side safety gates (daily spend caps, paused-on-create default, approval mode, and audit log).
  • create_pmax_campaignCreate a Google Ads Performance Max campaign. Requires images, headlines, descriptions, and a business name. Supports `dry_run: true` ($0.00 / 0 credits, zero credentials required) and server-side safety gates (daily spend caps, paused-on-create default, approval mode, and audit log).
  • pause_campaignPause a campaign by ID across all 16 connected ad platforms. Supports `dry_run: true` ($0.00 / 0 credits, zero credentials required). Live execution is audited in the workspace audit log ($0.05 / 2 credits on Solo $20/mo plan).
  • update_campaign_budgetUpdate the daily budget for a campaign across all 16 connected ad platforms. Supports `dry_run: true` ($0.00 / 0 credits, zero credentials required). Live execution passes the server-side Agent Shield safety gate (daily spend ceiling, max 2x budget-change multiplier, approval mode, and immutable audit log).
  • get_performanceGet performance metrics (impressions, clicks, spend, conversions, ROAS) for campaigns across any of the 16 ad platforms. Free read-only tool ($0.00 / 0 credits).
  • get_daily_spendGet daily spend breakdown for ONE ad platform across any of the 16 ad platforms. `platform` is required -- this tool does not aggregate across platforms. Free read-only tool ($0.00 / 0 credits).
  • pacing_reportReturn a deterministic budget-pacing snapshot for the current workspace across every connected ad platform and the overall portfolio (month-to-date spend, today's spend, expected spend to date, pacing percent, projected end-of-period spend, on_track/underspending/overspending/critical status, and off-pace warnings). Free read-only tool ($0.00 / 0 credits).
  • user_budget_pacing_reportReturn a deterministic per-user/trader budget ownership and pacing snapshot from saved workspace assignments (target budget, actual spend, expected spend, projected spend, variance, and pacing status). Free read-only tool ($0.00 / 0 credits).
  • optimize_budgetRecommend a cross-channel budget allocation across connected ad platforms using diminishing-returns modeling. Recommend-only (dry_run defaults to true); apply approved changes with update_campaign_budget. Free read-only recommendation tool ($0.00 / 0 credits).
  • add_keywordsAdd keywords to a Google Ads campaign or ad group.
  • +44 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Meta MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mikusnuz-meta-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mikusnuz/meta-mcp"
      ],
      "env": {
        "INSTAGRAM_ACCESS_TOKEN": "YOUR_INSTAGRAM_ACCESS_TOKEN_HERE",
        "INSTAGRAM_USER_ID": "YOUR_INSTAGRAM_USER_ID_HERE",
        "INSTAGRAM_MESSAGING_ACCESS_TOKEN": "YOUR_INSTAGRAM_MESSAGING_ACCESS_TOKEN_HERE",
        "INSTAGRAM_PAGE_ID": "YOUR_INSTAGRAM_PAGE_ID_HERE",
        "THREADS_ACCESS_TOKEN": "YOUR_THREADS_ACCESS_TOKEN_HERE",
        "THREADS_USER_ID": "YOUR_THREADS_USER_ID_HERE",
        "META_APP_ID": "YOUR_META_APP_ID_HERE",
        "META_APP_SECRET": "YOUR_META_APP_SECRET_HERE"
      }
    }
  }
}

Synter Ads

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "synter-ads-2": {
      "command": "npx",
      "args": [
        "-y",
        "@synterai/mcp-server"
      ],
      "env": {
        "SYNTER_API_KEY": "YOUR_SYNTER_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Meta MCP is categorized under Social Media and uses a local stdio subprocess. Synter Ads belongs to Social Media and uses a local stdio subprocess. Pick Meta MCP for social media work and Synter Ads for social media.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Meta MCP is listed as free. Auth: api key required. Synter Ads has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add mikusnuz-meta-mcp and synter-ads-2 as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Meta MCP has a quality signal of 68/100 (Great) with 7 views, 0 installs and 30 GitHub stars. Synter Ads has 64/100 (Good) with 1 views, 0 installs and 21 GitHub stars.