
Research
/Security News
Toptal’s GitHub Organization Hijacked: 10 Malicious Packages Published
Threat actors hijacked Toptal’s GitHub org, publishing npm packages with malicious payloads that steal tokens and attempt to wipe victim systems.
Meta Ads MCP - originally created by Yves Junqueira. Forked, maintained, and published by Praveen Yadav. Huge thanks to Yves for the original work.
Originally created by Yves Junqueira. This fork is maintained and published by Praveen Yadav. Huge thanks to Yves for the original work and inspiration!
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.
The fastest and most reliable way to get started is to 🚀 Get started with our Meta Ads Remote MCP. No technical setup required - just connect and start analyzing your ad campaigns with AI!
https://mcp.pipeboard.co/meta-ads-mcp
That'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.
# 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: 10)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
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 nameobjective
: Campaign objective (AWARENESS, TRAFFIC, ENGAGEMENT, etc.)status
: Initial campaign status (default: PAUSED)special_ad_categories
: List of special ad categories if applicabledaily_budget
: Daily budget in account currency (in cents)lifetime_budget
: Lifetime budget in account currency (in cents)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
: Ad headlinedescription
: Ad descriptioncall_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_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 ID.budget_value
: Amount of budget increase.budget_value_type
: Type of budget value ("ABSOLUTE" or "MULTIPLIER").time_start
: Unix timestamp for when the high demand period should start.time_end
: Unix timestamp for when the high demand period should end.access_token
(optional): Meta API access token.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_accounts
mcp_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:
FAQs
Meta Ads MCP - originally created by Yves Junqueira. Forked, maintained, and published by Praveen Yadav. Huge thanks to Yves for the original work.
We found that rgo-meta-ads-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
Threat actors hijacked Toptal’s GitHub org, publishing npm packages with malicious payloads that steal tokens and attempt to wipe victim systems.
Research
/Security News
Socket researchers investigate 4 malicious npm and PyPI packages with 56,000+ downloads that install surveillance malware.
Security News
The ongoing npm phishing campaign escalates as attackers hijack the popular 'is' package, embedding malware in multiple versions.