A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/fortytwode/10xer below:

GitHub - fortytwode/10xer

A Model Context Protocol (MCP) server that provides Facebook Ads functionality for Claude and other MCP clients. Access your Facebook advertising data, insights, and account information directly through natural language conversations.

🚀 Quick Start for Claude Desktop Users
npm install -g facebook-ads-mcp-server
2. Create Facebook Developer App
  1. Go to Facebook Developers
  2. Create a new app or use existing one
  3. Add "Facebook Login" product
  4. Configure OAuth settings:
3. Configure Claude Desktop

Add this to your Claude Desktop MCP settings:

{
  "mcpServers": {
    "facebook-ads": {
      "command": "facebook-ads-mcp",
      "env": {
        "FACEBOOK_APP_ID": "your_facebook_app_id",
        "FACEBOOK_APP_SECRET": "your_facebook_app_secret",
        "FACEBOOK_REDIRECT_URI": "http://localhost:3002/auth/callback"
      }
    }
  }
}
4. Restart Claude Desktop

After adding the configuration, restart Claude Desktop and start asking about your Facebook ads!

💬 Example Conversations with Claude

Once configured, you can ask Claude things like:

  1. Clone and install dependencies:

    cd facebook-ads-mcp
    npm install
  2. Configure environment:

    cp .env.example .env
    # Edit .env with your Facebook access token
  3. Get Facebook Access Token:

# Development mode with auto-restart
npm run dev

# Production mode
npm start

Add to your MCP client configuration:

{
  "mcpServers": {
    "facebook-ads-mcp": {
      "command": "node",
      "args": ["src/index.js"],
      "cwd": "/path/to/facebook-ads-mcp",
      "env": {
        "FACEBOOK_ACCESS_TOKEN": "your_facebook_access_token"
      }
    }
  }
}
1. facebook_list_ad_accounts

Lists all Facebook ad accounts accessible with the provided credentials.

Parameters: None

Example:

// No parameters required
{}

Response:

{
  "adaccounts": {
    "data": [
      {
        "name": "My Ad Account",
        "id": "act_1234567890"
      }
    ]
  },
  "id": "user_id"
}
2. facebook_fetch_pagination_url

Fetches data from a Facebook Graph API pagination URL.

Parameters:

Example:

{
  "url": "https://graph.facebook.com/v18.0/act_123/insights?after=cursor_string&access_token=..."
}
3. facebook_get_details_of_ad_account

Gets details of a specific ad account based on requested fields.

Parameters:

Available Fields:

Example:

{
  "act_id": "act_1234567890",
  "fields": ["name", "account_status", "balance", "currency"]
}
4. facebook_get_adaccount_insights

Retrieves performance insights for a specified Facebook ad account.

Parameters:

Examples:

Basic Performance Data:

{
  "act_id": "act_1234567890",
  "fields": ["impressions", "clicks", "spend", "ctr"],
  "date_preset": "last_30d",
  "level": "campaign"
}

Performance by Placement with Conversions:

{
  "act_id": "act_1234567890", 
  "fields": ["spend", "actions", "conversions", "cost_per_action_type"],
  "breakdowns": ["placement"],
  "action_breakdowns": ["action_type"],
  "date_preset": "last_7d"
}

Demographic Analysis (Age/Gender):

{
  "act_id": "act_1234567890",
  "fields": ["spend", "actions", "conversions"],
  "breakdowns": ["age", "gender"], 
  "action_breakdowns": ["action_type"],
  "date_preset": "last_7d"
}

Daily Performance Breakdown:

{
  "act_id": "act_1234567890",
  "fields": ["spend", "actions", "conversions", "date_start", "date_stop"],
  "time_increment": 1,  // 1 = daily breakdown
  "date_preset": "last_30d"
}
🎯 Enhanced Conversion Tracking

This tool automatically enhances conversion tracking by:

Problem Solved: Custom events like start_trial often don't appear in the Facebook API's actions field but are available in the conversions field. Previously, requests for only actions would miss conversion events, leading to incomplete data.

Solution: When you request the actions field, the system automatically includes conversions as well, then uses a priority system:

  1. Priority 1: Checks conversions field (higher fidelity data)
  2. Priority 2: Falls back to actions field if conversion data unavailable
  3. Priority 3: Reports no match found

Example with Auto-Enhancement:

// Your request:
{
  "fields": ["spend", "actions"]
}

// Automatically becomes:
{
  "fields": ["spend", "actions", "conversions"]  // conversions auto-added
}

This ensures you capture conversion events like start_trial, purchase, and custom events that might only exist in the conversions field.

5. facebook_get_activities_by_adaccount

Retrieves activities for a Facebook ad account.

Parameters:

Example:

{
  "act_id": "act_1234567890",
  "fields": ["event_type", "event_time", "actor_name"],
  "since": "2024-01-01",
  "until": "2024-01-31"
}

The server provides detailed error responses with appropriate error codes:

# Required
FACEBOOK_ACCESS_TOKEN=your_facebook_access_token

# Optional
FACEBOOK_API_VERSION=v18.0
FACEBOOK_BASE_URL=https://graph.facebook.com
MCP_SERVER_NAME=facebook-ads-mcp
MCP_SERVER_VERSION=1.0.0
DEBUG=true
LOG_LEVEL=info
# Run test script
npm test

Ensure your access token has the following permissions:

  1. Invalid Access Token

  2. API Rate Limiting

  3. Permission Errors

Enable debug logging:

facebook-ads-mcp/
├── src/
│   ├── index.js                 # Main MCP server
│   ├── tools/                   # Tool implementations
│   │   ├── list-ad-accounts.js
│   │   ├── fetch-pagination.js
│   │   ├── get-account-details.js
│   │   ├── get-account-insights.js
│   │   └── get-account-activities.js
│   ├── utils/                   # Utilities
│   │   ├── facebook-api.js      # Facebook API client
│   │   ├── validation.js        # Parameter validation
│   │   └── error-handler.js     # Error handling
│   └── schemas/
│       └── tool-schemas.js      # JSON schemas
├── package.json
├── mcp.json                     # MCP configuration
└── README.md
📋 Claude Desktop Setup Guide Finding Your MCP Settings File

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%/Claude/claude_desktop_config.json
Complete Configuration Example
{
  "mcpServers": {
    "facebook-ads": {
      "command": "facebook-ads-mcp",
      "env": {
        "FACEBOOK_ACCESS_TOKEN": "EAAxxxxxxxxxxxxx",
        "FACEBOOK_API_VERSION": "v23.0"
      }
    }
  }
}

Server not starting?

No data returned?

Permission errors?

For developers who want to modify or extend this server:

# Clone the repository
git clone https://github.com/fortytwode/10xer.git
cd 10xer

# Install dependencies
npm install

# Copy environment template
cp .env.example .env
# Edit .env with your Facebook access token

# Run in development mode
npm run dev

# Run tests
npm test

Contributions are welcome! Please feel free to submit a Pull Request.

✅ COMPLETED: Creative Insights & Thumbnails 🖼️

Status: ✅ Released in v1.2.0

Live Use Cases:

Priority 1: Pre-formatted Notion Reports 📊

Timeline: Current priority
Status: Next Up

Use Cases:

Priority 2: Multi-Platform Tool Calling 🌐

Timeline: 1-2 months
Status: Research phase

Technical Approach:

Enhanced Media Support 🎥 📊 Development Priorities Feature Business Value Technical Complexity User Demand Priority Score Creative Thumbnails High Medium High 9.5/10 Notion Reports High Medium Medium 8.5/10 OpenAI/Gemini Medium High Medium 6.5/10 Video Support Medium High Low 5.0/10 For AI Assistants & Users

We welcome contributions to help build these features! Check our GitHub Issues for current development tasks.

MIT License


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4