#!/bin/bash
echo "Starting Meta Ads MCP with Pipeboard authentication..."
# Set the Pipeboard API token as an environment variable
export PIPEBOARD_API_TOKEN="pk_8ee8c727644d4d32b646ddcf16f2385e"
# Check if the Pipeboard server is running and can handle meta auth
echo "Checking if Pipeboard meta auth endpoint is available..."
curl -s -o /dev/null -w "%{http_code}" "http://localhost:3000/api/meta" > /dev/null
if [ $? -ne 0 ]; then
echo "Warning: Could not connect to Pipeboard meta endpoint"
echo "Please make sure the Pipeboard server is running before proceeding."
echo "You can start it with: cd /path/to/pipeboard && npm run dev"
echo ""
echo "As a test, you can try running this command separately:"
echo "curl -X POST \"http://localhost:3000/api/meta/auth?api_token=pk_8ee8c727644d4d32b646ddcf16f2385e\" -H \"Content-Type: application/json\""
echo ""
read -p "Press Enter to continue anyway or Ctrl+C to abort..."
fi
# Try direct auth to test the endpoint
echo "Testing direct authentication with Pipeboard..."
AUTH_RESPONSE=$(curl -s -X POST "http://localhost:3000/api/meta/auth?api_token=pk_8ee8c727644d4d32b646ddcf16f2385e" -H "Content-Type: application/json")
if [[ $AUTH_RESPONSE == *"loginUrl"* ]]; then
echo "Authentication endpoint working correctly!"
LOGIN_URL=$(echo $AUTH_RESPONSE | grep -o 'https://[^"]*')
echo "Login URL: $LOGIN_URL"
# Open the browser directly as a fallback
echo "Opening browser to login URL (as a fallback)..."
if [ "$(uname)" == "Darwin" ]; then
# macOS
open "$LOGIN_URL"
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
# Linux
xdg-open "$LOGIN_URL" || firefox "$LOGIN_URL" || google-chrome "$LOGIN_URL" || echo "Could not open browser automatically"
else
# Windows or others
echo "Please open this URL in your browser manually: $LOGIN_URL"
fi
echo "After authorizing in your browser, the MCP script will retrieve the token."
else
echo "Warning: Authentication endpoint test failed!"
echo "Response: $AUTH_RESPONSE"
read -p "Press Enter to continue anyway or Ctrl+C to abort..."
fi
# Run the meta-ads-mcp package
echo "Running Meta Ads MCP..."
python -m meta_ads_mcp
echo "Meta Ads MCP server is now running."
echo "If you had to manually authenticate, the token should be cached now."
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pipeboard-co/meta-ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server