
How to add Meta Ads MCP to Windsurf
Run Facebook & Instagram (Meta) Ads end to end from your AI client — launch campaigns, upload creatives, edit budgets, analyze performance. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 1.0k★ · http · oauth
Windsurf config for Meta Ads MCP
{
"mcpServers": {
"meta-ads-mcp": {
"serverUrl": "https://meta-ads.mcp.pipeboard.co/"
}
}
}Remote server — no local install needed. Restart the client after saving the config.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Meta Ads MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Meta Ads MCP's tools become available to Cascade.
Before you start
- A Pipeboard account (pipeboard.co) with a connected Facebook/Meta Ads account
- For remote MCP: an MCP-compatible client (Claude Pro/Max integrations, Cursor, or other) — no local setup
- For Claude integrations: a Claude Pro or Max plan
- Optional: a Pipeboard API token (pipeboard.co/api-tokens) for direct-token authentication
- For local self-hosting (advanced): your own Meta Developer App — see STREAMABLE_HTTP_SETUP.md
What Meta Ads MCP can do in Windsurf
mcp_meta_ads_get_ad_accountsGet ad accounts accessible by a user (by user_id or 'me'), with details.
mcp_meta_ads_get_account_infoGet detailed information about a specific ad account (act_XXXXXXXXX).
mcp_meta_ads_get_account_pagesGet Facebook Pages associated with a Meta Ads account, useful for ad creation.
mcp_meta_ads_get_campaignsGet campaigns for an account with optional limit and status filter.
mcp_meta_ads_get_campaign_detailsGet detailed information about a specific campaign.
mcp_meta_ads_create_campaignCreate a new campaign with an outcome-based (ODAX) objective, budget, status, and bid strategy.
mcp_meta_ads_get_adsetsGet ad sets for an account, optionally filtered by campaign.
mcp_meta_ads_get_adset_detailsGet detailed information about a specific ad set.
Security
Remote MCP handles auth securely in the cloud with no local token storage; OAuth login to Pipeboard then connect your Facebook Ads account. A direct-token variant appends ?token=YOUR_PIPEBOARD_TOKEN to the URL (get a token at pipeboard.co/api-tokens) — keep that token secret. All write operations require explicit confirmation and new campaigns default to PAUSED. Licensed under Business Source License 1.1 (free for individual/business use; no competing hosted service; converts to Apache 2.0 on 2029-01-01).
Meta Ads MCP + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Meta Ads MCP config there under the "mcpServers" key and restart the client.
Is Meta Ads MCP safe to use with Windsurf?
Remote MCP handles auth securely in the cloud with no local token storage; OAuth login to Pipeboard then connect your Facebook Ads account. A direct-token variant appends ?token=YOUR_PIPEBOARD_TOKEN to the URL (get a token at pipeboard.co/api-tokens) — keep that token secret. All write operations require explicit confirmation and new campaigns default to PAUSED. Licensed under Business Source License 1.1 (free for individual/business use; no competing hosted service; converts to Apache 2.0 on 2029-01-01).
Is this an official Meta product?
No. It is an independent open-source project that uses Meta's public APIs. Meta, Facebook, and Instagram are trademarks of their respective owners. For an officially approved Meta app, see Pipeboard.
What is the easiest way to set it up?
Use the remote MCP. In Claude (Pro/Max) add an integration with URL https://meta-ads.mcp.pipeboard.co/, or in Cursor add an mcpServers entry with that url, then log in to Pipeboard and connect your Facebook Ads account.
Can I authenticate without the interactive login?
Yes — append ?token=YOUR_PIPEBOARD_TOKEN to the MCP URL. Get a token at pipeboard.co/api-tokens. Keep it secret.