by pipeboard-co
Provides a standardized interface for AI models to retrieve performance data, visualize creatives, and manage Meta advertising campaigns across Facebook, Instagram, and other Meta platforms.
Meta Ads MCP enables AI‑driven interaction with the Meta Ads API, allowing large language models to read, analyze, and manipulate ad accounts, campaigns, ad sets, ads, and creatives without writing custom API code.
https://mcp.pipeboard.co/meta-ads-mcp) to your AI client (Claude, Cursor, etc.).uvx meta-ads-mcp), set the PIPEBOARD_API_TOKEN environment variable, and point your MCP client to the local endpoint.mcp_meta_ads_get_campaigns, mcp_meta_ads_create_ad_creative) from your LLM prompt. The server handles token caching, OAuth flow, and error handling.mcp_meta_ads_get_insights) and generate a summary report.mcp_meta_ads_create_ad_creative with dynamic‑creative specs to test multiple headlines/descriptions automatically.mcp_meta_ads_update_adset to shift budgets based on AI‑suggested ROI.Q: Do I need a Meta developer account? A: No. Authentication is handled via OAuth through Pipeboard (remote) or by providing a valid Meta access token (local).
Q: Which LLM clients are supported? A: Any MCP‑compatible client – Claude, Cursor, Cherry Studio, custom MCP implementations, etc.
Q: How is security managed? A: Remote MCP stores tokens securely in the cloud. Local installations cache tokens on the host machine; never hard‑code them in code.
Q: Can I run the server on Windows/macOS/Linux?
A: Yes. The uvx installer works across all major OSes.
Q: What licensing terms apply? A: Business Source License 1.1 (free for use, becomes Apache 2.0 on 2029‑01‑01). Hosting the service as a competing offering is prohibited.
A Model Context Protocol (MCP) server for interacting with Meta Ads API. This tool enables AI models to access, analyze, and manage Meta advertising campaigns through a standardized interface, allowing LLMs to retrieve performance data, visualize ad creatives, and provide strategic insights for Facebook, Instagram, and other Meta platforms.
DISCLAIMER: This is an unofficial third-party tool and is not associated with, endorsed by, or affiliated with Meta in any way. This project is maintained independently and uses Meta's public APIs according to their terms of service. Meta, Facebook, Instagram, and other Meta brand names are trademarks of their respective owners.
mcp-name: co.pipeboard/meta-ads-mcp
The fastest and most reliable way to get started is to 🚀 Get started with our Meta Ads Remote MCP. Our cloud service uses streamable HTTP transport for reliable, scalable access to Meta Ads data. No technical setup required - just connect and start analyzing your ad campaigns with AI!
https://mcp.pipeboard.co/meta-ads-mcpThat's it! You can now ask Claude to analyze your Meta ad campaigns, get performance insights, and manage your advertising.
Add the following to your ~/.cursor/mcp.json. Once you enable the remote MCP, click on "Needs login" to finish the login process.
{
"mcpServers": {
"meta-ads-remote": {
"url": "https://mcp.pipeboard.co/meta-ads-mcp"
}
}
}
Use the Remote MCP URL: https://mcp.pipeboard.co/meta-ads-mcp
📖 Get detailed setup instructions for your AI client here
If you're a developer or need to customize the installation, you can run Meta Ads MCP locally. Most marketers should use the Remote MCP above instead! For complete technical setup instructions, see our Local Installation Guide.
Meta Ads MCP also supports streamable HTTP transport, allowing you to run it as a standalone HTTP API for web applications and custom integrations. See Streamable HTTP Setup Guide for complete instructions.
# Install via uvx (recommended)
uvx meta-ads-mcp
# Set your Pipeboard token
export PIPEBOARD_API_TOKEN=your_pipeboard_token
# Add to your MCP client configuration
For detailed step-by-step instructions, authentication setup, debugging, and troubleshooting, visit LOCAL_INSTALLATION.md.
✨ Get started with Remote MCP here - no technical setup required! Just connect your Facebook Ads account and start asking AI to analyze your campaigns.
For local installation configuration, authentication options, and advanced technical setup, see our Local Installation Guide.
mcp_meta_ads_get_ad_accounts
access_token (optional): Meta API access token (will use cached token if not provided)user_id: Meta user ID or "me" for the current userlimit: Maximum number of accounts to return (default: 200)mcp_meta_ads_get_account_info
access_token (optional): Meta API access token (will use cached token if not provided)account_id: Meta Ads account ID (format: act_XXXXXXXXX)mcp_meta_ads_get_account_pages
access_token (optional): Meta API access token (will use cached token if not provided)account_id: Meta Ads account ID (format: act_XXXXXXXXX) or "me" for the current user's pagesmcp_meta_ads_get_campaigns
access_token (optional): Meta API access token (will use cached token if not provided)account_id: Meta Ads account ID (format: act_XXXXXXXXX)limit: Maximum number of campaigns to return (default: 10)status_filter: Filter by status (empty for all, or 'ACTIVE', 'PAUSED', etc.)mcp_meta_ads_get_campaign_details
access_token (optional): Meta API access token (will use cached token if not provided)campaign_id: Meta Ads campaign IDmcp_meta_ads_create_campaign
Create a new campaign in a Meta Ads account
Inputs:
access_token (optional): Meta API access token (will use cached token if not provided)
account_id: Meta Ads account ID (format: act_XXXXXXXXX)
name: Campaign name
objective: Campaign objective (ODAX, outcome-based). Must be one of:
OUTCOME_AWARENESSOUTCOME_TRAFFICOUTCOME_ENGAGEMENTOUTCOME_LEADSOUTCOME_SALESOUTCOME_APP_PROMOTIONNote: Legacy objectives such as BRAND_AWARENESS, LINK_CLICKS, CONVERSIONS, APP_INSTALLS, etc. are no longer valid for new campaigns and will cause a 400 error. Use the outcome-based values above. Common mappings:
BRAND_AWARENESS → OUTCOME_AWARENESSREACH → OUTCOME_AWARENESSLINK_CLICKS, TRAFFIC → OUTCOME_TRAFFICPOST_ENGAGEMENT, PAGE_LIKES, EVENT_RESPONSES, VIDEO_VIEWS → OUTCOME_ENGAGEMENTLEAD_GENERATION → OUTCOME_LEADSCONVERSIONS, CATALOG_SALES, MESSAGES (sales-focused flows) → OUTCOME_SALESAPP_INSTALLS → OUTCOME_APP_PROMOTIONstatus: Initial campaign status (default: PAUSED)
special_ad_categories: List of special ad categories if applicable
daily_budget: Daily budget in account currency (in cents)
lifetime_budget: Lifetime budget in account currency (in cents)
bid_strategy: Bid strategy. Must be one of: LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP, LOWEST_COST_WITH_MIN_ROAS.
Returns: Confirmation with new campaign details
Example:
{
"name": "2025 - Bedroom Furniture - Awareness",
"account_id": "act_123456789012345",
"objective": "OUTCOME_AWARENESS",
"special_ad_categories": [],
"status": "PAUSED",
"buying_type": "AUCTION",
"bid_strategy": "LOWEST_COST_WITHOUT_CAP",
"daily_budget": 10000
}
mcp_meta_ads_get_adsets
access_token (optional): Meta API access token (will use cached token if not provided)account_id: Meta Ads account ID (format: act_XXXXXXXXX)limit: Maximum number of ad sets to return (default: 10)campaign_id: Optional campaign ID to filter bymcp_meta_ads_get_adset_details
access_token (optional): Meta API access token (will use cached token if not provided)adset_id: Meta Ads ad set IDmcp_meta_ads_create_adset
account_id: Meta Ads account ID (format: act_XXXXXXXXX)campaign_id: Meta Ads campaign ID this ad set belongs toname: Ad set namestatus: Initial ad set status (default: PAUSED)daily_budget: Daily budget in account currency (in cents) as a stringlifetime_budget: Lifetime budget in account currency (in cents) as a stringtargeting: Targeting specifications (e.g., age, location, interests)optimization_goal: Conversion optimization goal (e.g., 'LINK_CLICKS')billing_event: How you're charged (e.g., 'IMPRESSIONS')bid_amount: Bid amount in account currency (in cents)bid_strategy: Bid strategy (e.g., 'LOWEST_COST')start_time, end_time: Optional start/end times (ISO 8601)access_token (optional): Meta API access tokenmcp_meta_ads_get_ads
access_token (optional): Meta API access token (will use cached token if not provided)account_id: Meta Ads account ID (format: act_XXXXXXXXX)limit: Maximum number of ads to return (default: 10)campaign_id: Optional campaign ID to filter byadset_id: Optional ad set ID to filter bymcp_meta_ads_create_ad
account_id: Meta Ads account ID (format: act_XXXXXXXXX)name: Ad nameadset_id: Ad set ID where this ad will be placedcreative_id: ID of an existing creative to usestatus: Initial ad status (default: PAUSED)bid_amount: Optional bid amount (in cents)tracking_specs: Optional tracking specificationsaccess_token (optional): Meta API access tokenmcp_meta_ads_get_ad_details
access_token (optional): Meta API access token (will use cached token if not provided)ad_id: Meta Ads ad IDmcp_meta_ads_get_ad_creatives
access_token (optional): Meta API access token (will use cached token if not provided)ad_id: Meta Ads ad IDmcp_meta_ads_create_ad_creative
account_id: Meta Ads account ID (format: act_XXXXXXXXX)name: Creative nameimage_hash: Hash of the uploaded imagepage_id: Facebook Page ID for the adlink_url: Destination URLmessage: Ad copy/textheadline: Single headline for simple ads (cannot be used with headlines)headlines: List of headlines for dynamic creative testing (cannot be used with headline)description: Single description for simple ads (cannot be used with descriptions)descriptions: List of descriptions for dynamic creative testing (cannot be used with description)dynamic_creative_spec: Dynamic creative optimization settingscall_to_action_type: CTA button type (e.g., 'LEARN_MORE')instagram_actor_id: Optional Instagram account IDaccess_token (optional): Meta API access tokenmcp_meta_ads_update_ad_creative
creative_id: Meta Ads creative ID to updatename: New creative namemessage: New ad copy/textheadline: Single headline for simple ads (cannot be used with headlines)headlines: New list of headlines for dynamic creative testing (cannot be used with headline)description: Single description for simple ads (cannot be used with descriptions)descriptions: New list of descriptions for dynamic creative testing (cannot be used with description)dynamic_creative_spec: New dynamic creative optimization settingscall_to_action_type: New call to action button typeaccess_token (optional): Meta API access token (will use cached token if not provided)mcp_meta_ads_upload_ad_image
account_id: Meta Ads account ID (format: act_XXXXXXXXX)image_path: Path to the image file to uploadname: Optional name for the imageaccess_token (optional): Meta API access tokenmcp_meta_ads_get_ad_image
access_token (optional): Meta API access token (will use cached token if not provided)ad_id: Meta Ads ad IDmcp_meta_ads_update_ad
ad_id: Meta Ads ad IDstatus: Update ad status (ACTIVE, PAUSED, etc.)bid_amount: Bid amount in account currency (in cents for USD)access_token (optional): Meta API access token (will use cached token if not provided)mcp_meta_ads_update_adset
adset_id: Meta Ads ad set IDfrequency_control_specs: List of frequency control specificationsbid_strategy: Bid strategy (e.g., 'LOWEST_COST_WITH_BID_CAP')bid_amount: Bid amount in account currency (in cents for USD)status: Update ad set status (ACTIVE, PAUSED, etc.)targeting: Targeting specifications including targeting_automationaccess_token (optional): Meta API access token (will use cached token if not provided)mcp_meta_ads_get_insights
access_token (optional): Meta API access token (will use cached token if not provided)object_id: ID of the campaign, ad set, ad or accounttime_range: Time range for insights (default: maximum)breakdown: Optional breakdown dimension (e.g., age, gender, country)level: Level of aggregation (ad, adset, campaign, account)mcp_meta_ads_get_login_link
access_token (optional): Meta API access token (will use cached token if not provided)mcp_meta_ads_create_budget_schedule
campaign_id: Meta Ads campaign IDbudget_value: Amount of budget increasebudget_value_type: Type of budget value ("ABSOLUTE" or "MULTIPLIER")time_start: Unix timestamp for when the high demand period should starttime_end: Unix timestamp for when the high demand period should endaccess_token (optional): Meta API access tokenmcp_meta_ads_search_interests
access_token (optional): Meta API access token (will use cached token if not provided)query: Search term for interests (e.g., "baseball", "cooking", "travel")limit: Maximum number of results to return (default: 25)mcp_meta_ads_get_interest_suggestions
access_token (optional): Meta API access token (will use cached token if not provided)interest_list: List of interest names to get suggestions for (e.g., ["Basketball", "Soccer"])limit: Maximum number of suggestions to return (default: 25)mcp_meta_ads_validate_interests
access_token (optional): Meta API access token (will use cached token if not provided)interest_list: List of interest names to validate (e.g., ["Japan", "Basketball"])interest_fbid_list: List of interest IDs to validate (e.g., ["6003700426513"])mcp_meta_ads_search_behaviors
access_token (optional): Meta API access token (will use cached token if not provided)limit: Maximum number of results to return (default: 50)mcp_meta_ads_search_demographics
access_token (optional): Meta API access token (will use cached token if not provided)demographic_class: Type of demographics ('demographics', 'life_events', 'industries', 'income', 'family_statuses', 'user_device', 'user_os')limit: Maximum number of results to return (default: 50)mcp_meta_ads_search_geo_locations
access_token (optional): Meta API access token (will use cached token if not provided)query: Search term for locations (e.g., "New York", "California", "Japan")location_types: Types of locations to search (['country', 'region', 'city', 'zip', 'geo_market', 'electoral_district'])limit: Maximum number of results to return (default: 25)mcp_meta_ads_search (Enhanced)
access_token (optional): Meta API access token (will use cached token if not provided)query: Search query string (e.g., "Injury Payouts pages", "active campaigns")Meta Ads MCP is licensed under the Business Source License 1.1, which means:
The only restriction is that you cannot offer this as a competing hosted service. For questions about commercial licensing, please contact us.
Meta Ads MCP follows security best practices with secure token management and automatic authentication handling.
Test your Meta Ads MCP connection with any MCP client:
mcp_meta_ads_get_ad_accountsmcp_meta_ads_get_account_info with your account IDmcp_meta_ads_get_campaigns to see your ad campaignsFor detailed local installation testing, see Local Installation Guide.
The easiest way to avoid any setup issues is to 🎯 use our Remote MCP instead. No downloads, no configuration - just connect your ads account and start getting AI insights on your campaigns immediately!
For comprehensive troubleshooting, debugging, and local installation issues, see our Local Installation Guide which includes:
Please log in to share your review and rating for this MCP.
{
"mcpServers": {
"meta-ads-mcp": {
"command": "uvx",
"args": [
"meta-ads-mcp"
],
"env": {
"PIPEBOARD_API_TOKEN": "<YOUR_PIPEBOARD_API_TOKEN>"
}
}
}
}claude mcp add meta-ads-mcp uvx meta-ads-mcpExplore related MCPs that share similar capabilities and solve comparable challenges
by lharries
Enables searching, reading, and sending personal WhatsApp messages and media through a Model Context Protocol (MCP) server, storing all data locally in SQLite and exposing controlled tools for LLMs like Claude.
by iFurySt
Provides authenticated access to XiaoHongShu (RedNote) notes, supporting keyword search, note retrieval by URL, and cookie persistence via a Model Context Protocol server.
by korotovsky
Provides a powerful Model Context Protocol interface for Slack workspaces, enabling message retrieval, search, and optional posting via Stdio or SSE transports without requiring bot permissions.
by line
Integrates the LINE Messaging API with a Model Context Protocol server, enabling AI agents to send text, flex, broadcast messages, retrieve user profiles, and manage rich menus on a LINE Official Account.
by ZubeidHendricks
Provides a standardized interface for interacting with YouTube content, enabling video retrieval, transcript access, channel and playlist management, and advanced analytics through the Model Context Protocol.
by InditexTech
Provides Microsoft Teams integration via the Model Context Protocol, enabling reading, creating, replying to messages and mentioning members.
by chigwell
Provides a full‑featured Telegram integration for MCP‑compatible clients, enabling programmatic access to chats, messages, contacts, profile management, and group administration.
by EnesCinr
Interact with Twitter to post tweets and search tweets programmatically via an MCP server.
by chaindead
Manages Telegram dialogs, messages, drafts, and read statuses via the Model Context Protocol, enabling AI assistants to query and interact with Telegram accounts.