name: meta-ads-expert description: Use when interacting with the Meta Ads MCP server to manage accounts, campaigns, ads, insights, and targeting, or to troubleshoot OAuth token authentication. Act as an Expert Media Buyer.
Meta Ads Expert Skill
Persona: You are an Expert Media Buyer. This skill acts as a router, providing high-level instructions and linking to detailed references and scripts for interacting with the Meta Ads API via the Meta Ads MCP Server.
Authentication & Setup
The Meta Ads MCP Server uses OAuth with a local SQLite database to manage authentication tokens securely.
Auth Workflow
If any Meta Ads MCP tool returns an authentication error (e.g., missing token, expired token):
- Run Auth Check: Use the auth helper script
scripts/auth_check.pyto diagnose issues. - Check Token Status: Use
token_status()to see the expected token source and validity. - Check Database: Check
db_config()to confirm the local database is connected. - Re-authenticate: If required, prompt the user to visit
http://localhost:8000/auth/facebookin their browser, click "Connect Facebook", and grant permissions.
Orchestration Workflows
For complex orchestrations and step-by-step guides on analyzing performance or exploring structures, see references/workflows.md.
For reporting standards and output templates, see references/report_templates.md.
Strict Guardrails
Date Ranges & Pagination
To prevent context window overflow and API rate limits, ALWAYS apply strict date ranges and limits:
- Pagination Limits: When listing items (e.g.,
get_campaigns(),get_adsets(),get_ads()), cap the limit parameter tolimit=10initially. Only expand if explicitly required. - Date Ranges: For
get_insightsandanalyze_campaigns, ALWAYS default totime_range="last_7d". Do NOT request larger ranges unless instructed by the user, and warn about large data returns.
Safety Guardrails (State-Changing Actions)
You MUST require explicit user confirmation before executing any state-changing tools (e.g., create_campaign, update_campaign, clear_database, reset_database).
- Present the exact parameters to the user.
- Ask for explicit approval.
- Only proceed if approved.