Meta Marketing API MCP Server with fixed insights for lead generation and cost per lead analysis
npm install @xcelerate_digital_systems/meta-ads-mcp-fixedA comprehensive Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Facebook/Instagram advertising data through the Meta Marketing API. This server provides full campaign lifecycle management, analytics, audience targeting, and creative optimization capabilities.
bash
npm install -g meta-ads-mcp
`$3
`bash
git clone https://github.com/your-org/meta-ads-mcp.git
cd meta-ads-mcp
npm install
npm run build
`$3
`bash
Clone the repository first
git clone https://github.com/your-org/meta-ads-mcp.git
cd meta-ads-mcpRun the interactive setup
npm run setup
`The setup script will:
- โ
Check system requirements
- โ
Validate your Meta access token
- โ
Create Claude Desktop configuration
- โ
Install dependencies
- โ
Test the connection
๐ง Configuration Guide
$3
1. Create a Meta App at developers.facebook.com
2. Add Marketing API product
3. Generate an access token with ads_read and ads_management permissions
4. (Optional) Set up OAuth for automatic token refresh!CleanShot 2025-06-17 at 15 52 35@2x
$3
#### Find your configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.jsonIf the file doesn't exist, create it with the following content:
#### Basic Configuration (Token-based):
`json
{
"mcpServers": {
"meta-ads": {
"command": "npx",
"args": ["-y", "meta-ads-mcp"],
"env": {
"META_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
`#### Advanced Configuration (with OAuth):
`json
{
"mcpServers": {
"meta-ads": {
"command": "npx",
"args": ["-y", "meta-ads-mcp"],
"env": {
"META_ACCESS_TOKEN": "your_access_token_here",
"META_APP_ID": "your_app_id",
"META_APP_SECRET": "your_app_secret",
"META_AUTO_REFRESH": "true",
"META_BUSINESS_ID": "your_business_id"
}
}
}
}
`#### Local Development Configuration:
If you've cloned the repository locally:
`json
{
"mcpServers": {
"meta-ads": {
"command": "node",
"args": ["/absolute/path/to/meta-ads-mcp/build/index.js"],
"env": {
"META_ACCESS_TOKEN": "your_access_token_here"
}
}
}
}
`$3
Cursor uses the same MCP configuration as Claude Desktop. Add the configuration to your Cursor settings:
1. Open Cursor Settings
2. Go to "Extensions" > "Claude"
3. Add the MCP server configuration in the JSON settings
$3
- Claude Desktop: Completely quit and restart the application
- Cursor: Restart the IDE$3
`bash
Run health check to verify everything is working
npm run health-checkOr if installed globally
npx meta-ads-mcp --health-check
`๐ Troubleshooting
$3
#### 1. "Command not found" or "npx" errors
`bash
Install Node.js if not installed
macOS: brew install node
Windows: Download from nodejs.org
Linux: Use your package manager
Verify installation
node --version
npm --version
npx --version
`#### 2. Permission errors
`bash
Fix npm permissions (macOS/Linux)
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}Or install without sudo
npm config set prefix ~/.npm-global
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
`#### 3. Meta API connection issues
`bash
Test your token manually
curl -G \
-d "access_token=YOUR_ACCESS_TOKEN" \
"https://graph.facebook.com/v23.0/me/adaccounts"
`#### 4. Check Claude Desktop logs
- macOS:
~/Library/Logs/Claude/mcp*.log
- Windows: %APPDATA%\Claude\logs\mcp*.log`bash
macOS/Linux - View logs
tail -f ~/Library/Logs/Claude/mcp*.logWindows - View logs
type "%APPDATA%\Claude\logs\mcp*.log"
`#### 5. Test the server manually
`bash
Test the MCP server directly
npx -y meta-ads-mcpOr if installed locally
node build/index.js
`$3
Enable debug logging by adding to your environment:
`json
{
"mcpServers": {
"meta-ads": {
"command": "npx",
"args": ["-y", "meta-ads-mcp"],
"env": {
"META_ACCESS_TOKEN": "your_access_token_here",
"DEBUG": "mcp:*",
"NODE_ENV": "development"
}
}
}
}
`๐ Web Deployment (Vercel)
For web applications, this server is also available as a Vercel deployment with OAuth authentication:
$3
1. Deploy to Vercel or use our hosted version
2. Set environment variables in Vercel dashboard
3. Configure OAuth app in Meta Developer Console
4. Use the web endpoint: https://your-project.vercel.app/api/mcp$3
`json
{
"mcpServers": {
"meta-ads-remote": {
"url": "https://mcp.offerarc.com/api/mcp",
"headers": {
"Authorization": "Bearer your_session_token"
}
}
}
}
`Note: You need to authenticate first at
https://mcp.offerarc.com/api/auth/login to get your session token.$3
For Vercel deployments, use mcp-remote to bridge HTTP to stdio:
`json
{
"mcpServers": {
"meta-ads": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.offerarc.com/api/mcp",
"--header",
"Authorization:${META_AUTH_HEADER}"
],
"env": {
"META_AUTH_HEADER": "Bearer your_session_token_here"
}
}
}
}
`๐ ๏ธ Available Tools
This MCP server provides 25 comprehensive tools across all major Meta advertising categories:
$3
- get_insights - Get detailed performance metrics (impressions, clicks, ROAS, CTR, CPC, etc.)
- compare_performance - Side-by-side performance comparison of multiple campaigns/ads
- export_insights - Export performance data in JSON or CSV formats$3
- create_campaign - Create new advertising campaigns with full configuration (includes special_ad_categories)
- update_campaign - Modify existing campaigns (name, budget, status, etc.)
- pause_campaign - Pause active campaigns
- resume_campaign - Resume/activate paused campaigns$3
- create_ad_set - Create ad sets with detailed targeting, budgets, and optimization goals
- list_ad_sets - List and filter ad sets within campaigns$3
- create_ad - Create individual ads within ad sets using creative IDs
- list_ads - List and filter ads by ad set, campaign, or account$3
- list_audiences - List all custom audiences for an account
- create_custom_audience - Create custom audiences from various sources
- create_lookalike_audience - Generate lookalike audiences from source audiences
- get_audience_info - Get detailed information about specific audiences$3
- list_ad_creatives - List all ad creatives for an account
- create_ad_creative - Create new ad creatives with rich specifications (supports external image URLs)$3
- health_check - Comprehensive authentication and server status check
- get_ad_accounts - List accessible Meta ad accounts
- get_campaigns - List campaigns with filtering options$3
- get_token_info - Token validation and information retrieval$3
- diagnose_campaign_readiness - Check campaign status and identify ad set creation issues
- check_account_setup - Comprehensive account validation and setup verification๐ ๏ธ Usage Examples
$3
`
Check the health of the Meta Marketing API server and authentication status
`$3
`
Get detailed performance insights for my Deal Draft campaign including impressions, clicks, ROAS, and CTR for the last 30 days
`
`
Compare the performance of my top 3 campaigns side-by-side for the last quarter
`
`
Export campaign performance data for all my campaigns last month in CSV format
`$3
`
Create a new traffic campaign named "Holiday Sale 2024" with a $50 daily budget and OUTCOME_TRAFFIC objective
`
`
Update my existing campaign budget to $100 daily and change the name to "Black Friday Special"
`
`
Pause all campaigns that have a CPC above $2.00
`
`
Resume my paused "Summer Collection" campaign
`$3
`
Create a complete "Test 3" campaign setup: 1) Create the campaign with OUTCOME_LEADS objective, 2) Create an ad set targeting US users aged 25-45 interested in entrepreneurship, 3) Create 4 different ads using my existing creatives
`
`
Create an ad set for my existing campaign targeting women aged 30-50 in major US cities with interests in business and personal development
`
`
Create a new ad in my ad set using creative ID 123456 and name it "Headline Test A"
`$3
`
Diagnose my "Test 3" campaign to see if it's ready for ad set creation and identify any potential issues
`
`
Check my account setup to verify payment methods, business verification, and ad account permissions
`
`
Check why my ad set creation failed and get specific recommendations for my account setup
`$3
`
List all my custom audiences and show their sizes and status
`
`
Create a custom audience named "Website Visitors" from people who visited my site
`
`
Create a 5% lookalike audience based on my "High Value Customers" audience targeting the US
`
`
Get detailed information about my "Newsletter Subscribers" audience including health status
`$3
`
List all my ad creatives and show their performance data
`
`
Create a new ad creative for my holiday campaign with external image URL from my website and specific messaging
`$3
`
Show me all my accessible Meta ad accounts with their currencies and time zones
`
`
Get my current access token information including permissions and expiration
`๐ Resources Access
The server provides rich contextual data through MCP resources:
-
meta://campaigns/{account_id} - Campaign overview
- meta://insights/account/{account_id} - Performance dashboard
- meta://audiences/{account_id} - Audience insights
- meta://audience-health/{account_id} - Audience health report๐ง Environment Variables
$3
`bash
META_ACCESS_TOKEN=your_access_token_here
`$3
`bash
META_APP_ID=your_app_id # For OAuth
META_APP_SECRET=your_app_secret # For OAuth
META_BUSINESS_ID=your_business_id # For business-specific operations
META_API_VERSION=v23.0 # API version (default: v23.0)
META_API_TIER=standard # 'development' or 'standard'
META_AUTO_REFRESH=true # Enable automatic token refresh
META_REFRESH_TOKEN=your_refresh_token # For token refresh
`๐ Documentation
- Quick Setup Guide - 5-minute setup instructions
- Setup Guide - Complete installation and configuration
- Tools Reference - All available tools and resources
- Example Configuration - Sample configuration file
๐๏ธ Architecture
`
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Claude AI โโโโโบโ MCP Server โโโโโบโ Meta Marketing โ
โ โ โ โ โ API โ
โ - Natural โ โ - Authentication โ โ โ
โ Language โ โ - Rate Limiting โ โ - Campaigns โ
โ - Tool Calls โ โ - Error Handling โ โ - Analytics โ
โ - Resource โ โ - Data Transform โ โ - Audiences โ
โ Access โ โ - Pagination โ โ - Creatives โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
`$3
- Meta API Client: Handles authentication, rate limiting, and API communication
- Tool Handlers: 25 tools covering analytics, campaigns, ad sets, ads, audiences, creatives, and diagnostics
- Resource Providers: Contextual data access for AI understanding
- Error Management: Robust error handling with automatic retries
- Rate Limiter: Intelligent rate limiting with per-account tracking
๐ Security & Best Practices
$3
- โ
Environment variable configuration
- โ
No token logging or exposure
- โ
Automatic token validation
- โ
Secure credential management$3
- โ
Rate limit compliance
- โ
Exponential backoff retries
- โ
Request validation
- โ
Error boundary protection$3
- โ
Meta data use policy compliance
- โ
No persistent data storage
- โ
Secure API communication
- โ
Audit trail supportโก Performance
$3
- Development Tier: 60 API calls per 5 minutes
- Standard Tier: 9000 API calls per 5 minutes
- Automatic Management: Built-in rate limiting and retry logic$3
- ๐ Concurrent request processing
- ๐ฆ Efficient pagination handling
- ๐ฏ Smart data caching
- โก Minimal memory footprint๐งช Testing
Run the test suite:
`bash
npm test
`Test with example client:
`bash
npx tsx examples/client-example.ts
`Health check:
`bash
In Claude:
Check the health of the Meta Marketing API server
`๐ค Contributing
1. Fork the repository
2. Create a feature branch:
git checkout -b feature/new-feature
3. Make your changes and add tests
4. Run the test suite: npm test`MIT License - see LICENSE for details.
- Documentation: Check the docs/ directory
- Issues: Open an issue on GitHub
- Meta API: Refer to Meta Marketing API docs
- MCP Protocol: See Model Context Protocol specification
---
Built with โค๏ธ for the AI-powered advertising future