{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-meta-ads-remote-mcp","slug":"meta-ads-remote-mcp","name":"Meta Ads Remote MCP","type":"mcp","url":"https://github.com/pipeboard-co/meta-ads-mcp","page_url":"https://unfragile.ai/meta-ads-remote-mcp","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-meta-ads-remote-mcp__cap_0","uri":"capability://tool.use.integration.multi.transport.mcp.server.instantiation.with.fastmcp.framework","name":"multi-transport mcp server instantiation with fastmcp framework","description":"Instantiates a FastMCP server that routes all entry points (CLI, Python module, library import, remote HTTP) through a unified server.py core, configuring transport mechanisms (stdio for local clients, streamable-http for remote cloud deployment) based on deployment context. Uses FastMCP's decorator-based tool registration pattern to expose 29+ specialized tools as MCP resources without manual protocol serialization.","intents":["Deploy Meta Ads integration as both local stdio MCP server and remote HTTP endpoint","Enable Claude Desktop and other MCP clients to access Meta Ads tools via stdio transport","Host Meta Ads MCP on cloud infrastructure with HTTP-based client communication","Programmatically instantiate MCP server within Python applications without CLI overhead"],"best_for":["AI application developers integrating Meta Ads management into Claude or other MCP-compatible clients","DevOps teams deploying MCP servers to cloud infrastructure (Vercel, AWS Lambda, etc.)","Teams building custom MCP client applications that need local or remote server flexibility"],"limitations":["stdio transport limited to single synchronous client connection at a time","streamable-http transport requires external reverse proxy for production TLS/SSL termination","No built-in load balancing or horizontal scaling for high-concurrency remote deployments","Transport abstraction adds ~50-100ms latency per request due to protocol serialization overhead"],"requires":["Python 3.9+","FastMCP framework (specified in pyproject.toml dependencies)","For remote deployment: HTTP server infrastructure (Node.js, Docker, or cloud runtime)","For local deployment: MCP client supporting stdio transport (Claude Desktop 0.1+)"],"input_types":["MCP tool call requests (JSON-RPC 2.0 format)","Environment variables for transport configuration","HTTP POST requests (for streamable-http transport)"],"output_types":["MCP tool response messages (JSON-RPC 2.0 format)","HTTP response bodies with tool results","Structured JSON containing campaign/ad data or operation status"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_1","uri":"capability://tool.use.integration.meta.oauth.token.acquisition.and.caching.with.platform.specific.storage","name":"meta oauth token acquisition and caching with platform-specific storage","description":"Implements MetaAuthManager class that handles OAuth 2.0 token exchange with Meta's Graph API, caching tokens in platform-specific storage (filesystem for local deployment, environment variables for remote). Supports token refresh logic with expiration tracking, enabling seamless re-authentication without user intervention. Integrates with Meta's OAuth endpoints to exchange authorization codes for long-lived access tokens scoped to advertising permissions.","intents":["Authenticate MCP server with Meta Ads API using OAuth 2.0 without hardcoding credentials","Automatically refresh expired tokens to maintain uninterrupted API access","Store authentication tokens securely in deployment-appropriate locations (local filesystem vs cloud environment)","Support multiple Meta ad accounts through token-per-account management"],"best_for":["Teams deploying Meta Ads MCP to production requiring secure credential management","Multi-tenant SaaS applications managing tokens for multiple Meta ad accounts","Local development environments needing persistent OAuth token storage across CLI invocations"],"limitations":["Token storage in environment variables (remote mode) exposes tokens to process inspection if not properly isolated","No built-in token rotation strategy — relies on Meta's refresh token expiration (typically 60 days)","Filesystem-based token caching (local mode) vulnerable if file permissions misconfigured","Single token per deployment — does not support concurrent multi-account token management within same process"],"requires":["Meta App ID and App Secret from Meta Developers console","OAuth redirect URI registered in Meta App settings","Python 3.9+ with requests library for HTTP token exchange","For local deployment: writable filesystem directory for token cache","For remote deployment: environment variable injection mechanism (e.g., GitHub Secrets, AWS Secrets Manager)"],"input_types":["OAuth authorization code (from Meta login flow)","Meta App ID and App Secret","Cached token data (JSON format)"],"output_types":["Access token (string, valid for ~60 days)","Token metadata (expiration timestamp, scope)","Refresh token (for long-lived token renewal)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_10","uri":"capability://tool.use.integration.account.and.ad.account.management.with.multi.account.support","name":"account and ad account management with multi-account support","description":"Exposes tools for retrieving ad account information, listing accessible ad accounts, and managing account-level settings. Implements account discovery through Meta's Account API, returning account IDs, names, currencies, timezones, and account status. Supports multi-account workflows where single MCP client can operate across multiple ad accounts by specifying account ID in tool parameters. Enables account switching and account-level configuration management.","intents":["Discover and list all accessible ad accounts for authenticated user/organization","Retrieve account-level configuration (currency, timezone, spending limits) for account setup","Switch between multiple ad accounts when managing campaigns for multiple clients/brands","Validate account access and permissions before executing account-level operations","Manage account-level settings (timezone, currency) for proper campaign configuration"],"best_for":["Agencies managing campaigns across multiple client ad accounts","Multi-brand organizations managing separate ad accounts per brand","Teams building multi-account campaign management dashboards","Developers implementing account selection/switching in MCP clients"],"limitations":["Account list limited to accounts accessible by authenticated user — cannot access accounts outside organization","Account-level settings (timezone, currency) cannot be modified through MCP — requires Meta Ads Manager","Account switching requires explicit account ID specification in each tool call — no session-level account context","Account permissions determined by Meta's role-based access control — cannot override permissions through MCP","Account discovery takes 2-5 seconds due to API latency — not suitable for real-time account switching UI"],"requires":["Meta OAuth token with ads_management scope","Account ID (for account-specific operations)","User must have appropriate role/permissions in target account"],"input_types":["Optional account ID filter (string)","Optional account status filter (enum: ACTIVE, DISABLED, CLOSED)"],"output_types":["Account list array: {account_id, account_name, currency, timezone, account_status, spending_limit}","Account details object: {account_id, account_name, business_name, currency, timezone, created_time}","Account permissions (array of permission strings: ADMIN, ANALYST, ADVERTISER)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_11","uri":"capability://tool.use.integration.centralized.http.api.layer.with.automatic.error.translation.and.retry.logic","name":"centralized http api layer with automatic error translation and retry logic","description":"Implements centralized API class (meta_ads_mcp/core/api.py) that handles all HTTP communication with Meta Graph API, providing automatic error translation, retry logic with exponential backoff, request logging, and response parsing. Abstracts HTTP complexity from tool implementations, enabling tool functions to focus on business logic rather than HTTP handling. Supports rate limit handling with automatic backoff when approaching API quotas.","intents":["Provide reliable HTTP communication to Meta Graph API with automatic retry on transient failures","Translate Meta API errors into human-readable messages for AI assistant interpretation","Handle rate limiting gracefully by backing off and retrying when approaching API quotas","Log all API requests/responses for debugging and audit purposes","Support multiple authentication methods (OAuth tokens, Pipeboard tokens) through unified interface"],"best_for":["Developers building MCP tools that need reliable Meta API communication","Teams requiring detailed API request/response logging for debugging","Systems operating under strict rate limits requiring intelligent backoff strategies","Organizations needing audit trails of all API operations"],"limitations":["Retry logic adds 1-30 seconds latency for failed requests (exponential backoff)","Rate limit handling is reactive (backs off after hitting limit) rather than proactive (predicts limits)","Error translation limited to common Meta API errors — novel error types may not be handled","Request logging increases memory usage for high-volume operations — may require log rotation","Centralized API layer adds ~50-100ms overhead per request for abstraction"],"requires":["Python 3.9+ with requests library","Meta OAuth token or Pipeboard token for authentication","Network connectivity to Meta Graph API (api.facebook.com)"],"input_types":["HTTP method (GET, POST, PUT, DELETE)","API endpoint path (string, e.g., '/v18.0/act_123/campaigns')","Request parameters (dict)","Authentication token (string)"],"output_types":["Parsed JSON response (dict)","HTTP status code (integer)","Error message (if request failed)","Retry metadata (attempt count, backoff duration)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_2","uri":"capability://tool.use.integration.pipeboard.cloud.authentication.with.token.based.access.control","name":"pipeboard cloud authentication with token-based access control","description":"Implements PipeboardAuthManager class that validates incoming requests against Pipeboard-issued tokens, enabling secure remote access to the MCP server without exposing Meta credentials. Tokens can be provided via environment variables or URL query parameters, with validation occurring at request entry point before tool execution. Enables multi-tenant access control where different users/teams receive different tokens with isolated access.","intents":["Secure remote MCP server access without requiring clients to manage Meta OAuth tokens","Implement multi-tenant access control where different API tokens grant access to different Meta ad accounts","Enable non-technical users to access Meta Ads MCP through Pipeboard's hosted cloud service","Revoke access to MCP server by invalidating Pipeboard tokens without changing Meta credentials"],"best_for":["SaaS platforms offering Meta Ads management as a service to non-technical users","Teams using Pipeboard's hosted Meta Ads MCP endpoint (mcp.pipeboard.co/meta-ads-mcp)","Organizations requiring token-based access control with per-user/team isolation"],"limitations":["Tokens transmitted in URL query parameters (if not using POST body) are logged in server access logs and browser history","No built-in token expiration — relies on Pipeboard's token management infrastructure","Token validation adds ~10-20ms latency per request for cryptographic verification","Requires trust in Pipeboard's token issuance and revocation infrastructure"],"requires":["Pipeboard account with Meta Ads MCP integration enabled","Valid Pipeboard API token issued by Pipeboard platform","HTTPS transport for secure token transmission (enforced by Pipeboard)","Environment variable or request parameter injection mechanism for token passing"],"input_types":["Pipeboard API token (string, 32+ characters)","MCP tool call requests with embedded token","HTTP headers or query parameters containing token"],"output_types":["Token validation result (boolean)","User/team context associated with token (for access control)","Tool execution result (if token valid)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_3","uri":"capability://tool.use.integration.campaign.crud.operations.with.budget.and.status.management","name":"campaign crud operations with budget and status management","description":"Exposes tools for creating, reading, updating, and deleting Meta advertising campaigns through decorated Python functions that map to Meta Graph API endpoints. Supports campaign lifecycle management including budget allocation, daily/lifetime spend limits, campaign status transitions (ACTIVE/PAUSED/ARCHIVED), and campaign objective selection (REACH, CONVERSIONS, TRAFFIC, etc.). Uses centralized API layer for HTTP request handling with automatic error translation and retry logic.","intents":["Create new advertising campaigns with specified objectives, budgets, and targeting parameters","Retrieve campaign performance metrics and configuration details across multiple accounts","Update campaign budgets, daily spend limits, and status (pause/resume/archive campaigns)","Delete or archive campaigns to clean up old or underperforming campaigns","Bulk manage campaigns across multiple ad accounts through single MCP interface"],"best_for":["Marketing teams automating campaign lifecycle management through AI assistants","Agencies managing campaigns for multiple client accounts","Performance marketers building custom campaign optimization workflows","Developers building campaign management dashboards or automation tools"],"limitations":["Campaign creation requires pre-existing ad account with billing setup — cannot create accounts through MCP","Budget updates take effect immediately without scheduling — no gradual budget rollout capability","Campaign status transitions have 15-minute propagation delay in Meta's system before fully reflected","Cannot modify campaign objective after creation — requires campaign deletion and recreation","API rate limits (200 requests/hour per ad account) may throttle bulk campaign operations"],"requires":["Valid Meta ad account with active billing","Meta OAuth token with ads_management scope","Campaign ID (for read/update/delete operations)","Budget amount in account currency (for create/update operations)"],"input_types":["Campaign name (string)","Campaign objective (enum: REACH, CONVERSIONS, TRAFFIC, ENGAGEMENT, etc.)","Daily budget or lifetime budget (numeric, in cents)","Campaign status (enum: ACTIVE, PAUSED, ARCHIVED)","Ad account ID (string)"],"output_types":["Campaign ID (string)","Campaign configuration object (name, objective, budget, status, dates)","Campaign performance metrics (impressions, clicks, spend, conversions)","Operation status (success/failure with error details)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_4","uri":"capability://automation.workflow.budget.scheduling.with.time.based.spend.allocation","name":"budget scheduling with time-based spend allocation","description":"Provides specialized tools for scheduling campaign budget changes at specific times or dates, enabling time-based budget optimization strategies. Implements scheduling logic that queues budget update requests to execute at specified timestamps, supporting use cases like increasing budgets before peak shopping hours or reducing spend during low-performance periods. Integrates with campaign update tools to apply scheduled budget changes without manual intervention.","intents":["Schedule budget increases before peak shopping hours (e.g., 6 PM daily) to maximize conversion volume","Reduce campaign budgets during low-performance periods to minimize wasted spend","Implement day-of-week budget strategies (higher budgets on weekends, lower on weekdays)","Automate budget allocation across multiple campaigns based on time-based performance patterns"],"best_for":["E-commerce businesses with predictable peak shopping hours wanting to optimize budget allocation","Performance marketers implementing time-based bidding strategies","Agencies managing campaigns across multiple time zones requiring coordinated budget scheduling","Teams building AI-driven budget optimization systems"],"limitations":["Scheduling requires persistent job queue infrastructure — no built-in scheduler in MCP server itself","Scheduled budget changes execute with ~5-15 minute delay due to job queue processing latency","Cannot schedule budget changes more than 30 days in advance (Meta API limitation)","Timezone handling requires explicit specification — no automatic client timezone detection","Budget changes apply to entire campaign, not individual ad sets — cannot schedule granular budget allocation"],"requires":["Campaign ID for budget scheduling","Target budget amount (numeric, in cents)","Scheduled execution time (ISO 8601 timestamp)","External job queue infrastructure (e.g., Celery, AWS Lambda scheduled events, or similar)","Timezone specification for time-based scheduling"],"input_types":["Campaign ID (string)","New budget amount (numeric)","Scheduled execution timestamp (ISO 8601 format)","Timezone (IANA timezone identifier, e.g., 'America/New_York')"],"output_types":["Scheduled job ID (string)","Scheduled execution time (ISO 8601 timestamp)","Confirmation of budget change (amount, effective date)","Job status (SCHEDULED, EXECUTING, COMPLETED, FAILED)"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_5","uri":"capability://tool.use.integration.ad.set.creation.and.targeting.configuration.with.audience.segmentation","name":"ad set creation and targeting configuration with audience segmentation","description":"Exposes tools for creating and managing ad sets (campaign sub-units) with sophisticated audience targeting including demographic filters, interest-based targeting, custom audiences, lookalike audiences, and behavioral targeting. Implements targeting configuration through structured parameters that map to Meta's Targeting API, supporting age ranges, genders, locations, interests, and custom audience IDs. Ad sets define budget allocation and bidding strategy within campaigns.","intents":["Create ad sets with specific audience targeting to segment campaign budget across different audience segments","Configure demographic targeting (age, gender, location) to reach specific customer profiles","Apply interest-based targeting to reach users interested in specific topics or products","Use custom audiences (email lists, website visitors) for retargeting campaigns","Create lookalike audiences based on existing customer lists to expand reach to similar users"],"best_for":["Performance marketers building multi-segment campaigns with different targeting strategies","E-commerce businesses retargeting website visitors and email subscribers","Agencies managing audience segmentation for multiple client campaigns","Teams implementing lookalike audience strategies for customer acquisition"],"limitations":["Audience size estimation requires separate API call — not returned during ad set creation","Custom audience targeting requires pre-uploaded audience data (email lists, website pixel data)","Lookalike audiences require minimum 100 conversions or 1,000 website visitors in source audience","Targeting changes take 15-30 minutes to propagate through Meta's system","Cannot modify targeting after ad set creation — requires ad set deletion and recreation","Interest-based targeting limited to Meta's predefined interest taxonomy (~10,000 interests)"],"requires":["Campaign ID (ad sets must belong to existing campaign)","Ad set name (string)","Daily or lifetime budget (numeric, in cents)","Targeting parameters (age range, gender, location, interests, or audience IDs)","Meta OAuth token with ads_management scope"],"input_types":["Campaign ID (string)","Ad set name (string)","Budget (numeric, in cents)","Targeting object: {age_min, age_max, genders, geo_locations, interests, custom_audiences, lookalike_audiences}","Bidding strategy (enum: LOWEST_COST, TARGET_COST, LOWEST_ROAS)"],"output_types":["Ad set ID (string)","Targeting configuration (echoed back with validation)","Estimated audience size (numeric, approximate)","Budget allocation (daily or lifetime)","Operation status (success/failure)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_6","uri":"capability://tool.use.integration.individual.ad.creation.and.creative.asset.management","name":"individual ad creation and creative asset management","description":"Exposes tools for creating individual ads within ad sets, managing creative assets (images, videos, text), and configuring ad-level settings like headlines, descriptions, call-to-action buttons, and landing page URLs. Implements creative management through asset upload/reference mechanisms, supporting image URLs, video URLs, and text content. Ads represent the actual promotional content shown to users and inherit budget/targeting from parent ad set.","intents":["Create ads with specific creative assets (images, videos) and copy to test different messaging","Upload and manage creative assets (images, videos) for use across multiple ads","Configure ad-level settings (headlines, descriptions, CTAs, landing URLs) without modifying ad set targeting","Test multiple creative variations within same ad set to identify highest-performing creatives","Manage ad status (ACTIVE, PAUSED, ARCHIVED) independently from campaign/ad set status"],"best_for":["Performance marketers running creative testing campaigns with multiple ad variations","E-commerce teams managing product ads with different images and copy","Agencies creating ads for multiple clients with brand-specific creative guidelines","Teams implementing A/B testing frameworks for creative optimization"],"limitations":["Creative assets must be pre-uploaded to Meta or referenced via URL — no direct file upload from MCP","Ad copy character limits vary by placement (headlines 25 chars, descriptions 90 chars) — requires manual validation","Video ads require video processing time (5-30 minutes) before becoming eligible for delivery","Cannot modify ad creative after creation — requires ad deletion and recreation","Ad-level performance metrics available only after 24+ hours of delivery","Landing page URL must pass Meta's domain verification — unverified domains may face delivery restrictions"],"requires":["Ad set ID (ads must belong to existing ad set)","Creative asset (image URL, video URL, or text content)","Ad headline (string, max 25 characters)","Ad description (string, max 90 characters)","Landing page URL (must be valid, HTTPS-preferred)","Call-to-action button type (enum: LEARN_MORE, SHOP_NOW, SIGN_UP, etc.)"],"input_types":["Ad set ID (string)","Creative asset reference (image URL, video URL, or asset ID)","Ad copy (headline, description, body text)","Landing page URL (string)","Call-to-action button type (enum)","Ad status (enum: ACTIVE, PAUSED)"],"output_types":["Ad ID (string)","Creative asset ID (for future reference)","Ad preview URL (for visual verification)","Delivery status (ACTIVE, PENDING_REVIEW, DISAPPROVED)","Operation status (success/failure with validation errors)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_7","uri":"capability://automation.workflow.campaign.and.ad.set.duplication.with.configuration.cloning","name":"campaign and ad set duplication with configuration cloning","description":"Provides specialized tools for duplicating existing campaigns or ad sets, automatically cloning all configuration (budget, targeting, creative assets) to create new instances. Supports optional parameter overrides (e.g., duplicate campaign but with different budget or name), enabling rapid campaign scaling and A/B testing setup. Duplication logic handles nested relationships (campaign → ad sets → ads) to ensure complete configuration cloning.","intents":["Quickly scale successful campaigns by duplicating them with increased budgets","Set up A/B tests by duplicating campaigns and modifying specific parameters (targeting, creative, budget)","Clone campaigns across different ad accounts without manual reconfiguration","Create campaign templates by duplicating and modifying baseline campaigns","Duplicate ad sets within campaigns to test different audience segments"],"best_for":["Performance marketers rapidly scaling successful campaigns","Agencies creating campaign templates for multiple clients","Teams implementing systematic A/B testing frameworks","E-commerce businesses duplicating seasonal campaigns with updated budgets"],"limitations":["Duplication creates new campaign/ad set IDs — existing performance history not transferred","Custom audiences and lookalike audiences must exist in target account — cannot clone across accounts with different audience data","Duplication takes 30-60 seconds per campaign due to nested object creation","Cannot duplicate campaigns with custom conversion events — requires manual event reconfiguration","Duplicated ads inherit creative assets by reference — modifying original creative affects duplicates"],"requires":["Source campaign/ad set ID to duplicate","Target ad account ID (can be same as source)","Optional override parameters (name, budget, targeting modifications)","Meta OAuth token with ads_management scope"],"input_types":["Source campaign/ad set ID (string)","Target ad account ID (string)","Optional overrides object: {name, daily_budget, targeting_modifications}","Duplication scope (enum: CAMPAIGN_ONLY, CAMPAIGN_WITH_AD_SETS, AD_SET_ONLY)"],"output_types":["New campaign/ad set ID (string)","Duplication status (COMPLETED, IN_PROGRESS, FAILED)","Configuration summary (budget, targeting, creative count)","Warnings (e.g., custom audiences not found in target account)"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_8","uri":"capability://data.processing.analysis.campaign.and.ad.performance.analytics.with.multi.dimensional.insights","name":"campaign and ad performance analytics with multi-dimensional insights","description":"Exposes tools for retrieving campaign, ad set, and ad performance metrics including impressions, clicks, spend, conversions, cost-per-action, ROAS, and engagement metrics. Supports filtering by date range, breakdown dimensions (age, gender, location, placement, device), and custom metrics. Implements analytics through Meta's Insights API with automatic metric aggregation and time-series data retrieval. Returns structured JSON with performance data suitable for AI analysis and optimization recommendations.","intents":["Retrieve campaign performance metrics to assess ROI and identify underperforming campaigns","Analyze performance by demographic segment (age, gender, location) to identify highest-value audiences","Compare performance across placements (Facebook, Instagram, Audience Network) to optimize placement mix","Track conversion metrics and ROAS to measure campaign effectiveness","Generate performance reports for stakeholder communication and optimization recommendations"],"best_for":["Performance marketers analyzing campaign effectiveness and identifying optimization opportunities","Agencies generating performance reports for client stakeholders","Teams building AI-driven campaign optimization systems that analyze metrics to make recommendations","Finance teams tracking advertising spend and ROI across campaigns"],"limitations":["Metrics available only after 24+ hours of campaign delivery — real-time metrics not available","Conversion metrics require conversion pixel/event setup — not available without proper tracking","Breakdown by custom dimensions (e.g., by product category) requires custom conversion events","API returns aggregated metrics only — cannot retrieve individual user-level data (privacy restriction)","Historical data retention limited to 2-3 years — older data not accessible","Metrics for paused campaigns stop updating after 90 days of inactivity"],"requires":["Campaign/ad set/ad ID (string)","Date range (start_date, end_date in YYYY-MM-DD format)","Metric fields (array of metric names: impressions, clicks, spend, conversions, etc.)","Optional breakdown dimensions (age, gender, location, placement, device)","Meta OAuth token with ads_read scope"],"input_types":["Campaign/ad set/ad ID (string)","Date range (start_date, end_date)","Metric fields (array of strings)","Breakdown dimensions (array of strings)","Time granularity (enum: DAY, WEEK, MONTH, ALL)"],"output_types":["Performance metrics object: {impressions, clicks, spend, conversions, cpc, cpa, roas, etc.}","Time-series data (if granularity specified)","Breakdown data (if dimensions specified)","Metadata (date range, currency, data freshness timestamp)"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-meta-ads-remote-mcp__cap_9","uri":"capability://search.retrieval.audience.research.and.targeting.capability.discovery.with.interest.taxonomy","name":"audience research and targeting capability discovery with interest taxonomy","description":"Provides tools for researching available targeting options including interest categories, demographic ranges, location targeting, and audience size estimation. Implements audience research through Meta's Targeting Search API, returning available interests, locations, and demographic segments with estimated audience sizes. Enables AI assistants to discover targeting capabilities and estimate reach before creating ad sets, supporting informed audience selection decisions.","intents":["Research available interest categories to identify relevant targeting options for specific products/services","Estimate audience size for specific targeting combinations before creating ad sets","Discover demographic targeting capabilities (age ranges, genders, locations) available in target market","Validate targeting parameters before ad set creation to avoid invalid configurations","Identify lookalike audience source requirements (minimum conversions/events) for specific campaigns"],"best_for":["Performance marketers researching audience segments before campaign creation","Agencies advising clients on available targeting options for their products","Teams building audience selection interfaces or recommendation systems","Marketers unfamiliar with Meta's targeting taxonomy seeking guidance"],"limitations":["Audience size estimates are approximate (±10-20% variance) due to privacy aggregation","Interest taxonomy limited to Meta's predefined interests (~10,000 total) — cannot create custom interests","Location targeting limited to country/region/city level — no postal code or neighborhood targeting","Audience size estimates require separate API call per targeting combination — cannot batch estimate multiple combinations","Interest popularity changes over time — estimates may become stale within weeks"],"requires":["Interest search query (string, e.g., 'fitness', 'yoga')","Location targeting (country code or location ID)","Optional demographic filters (age range, gender)","Meta OAuth token with ads_read scope"],"input_types":["Interest search query (string)","Location (country code or location ID)","Optional demographic filters: {age_min, age_max, genders}","Audience type (enum: INTERESTS, BEHAVIORS, DEMOGRAPHICS)"],"output_types":["Interest results array: {interest_id, name, category, audience_size}","Location results array: {location_id, name, type, audience_size}","Demographic ranges (available age ranges, genders)","Audience size estimates (numeric, with confidence interval)"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":31,"verified":false,"data_access_risk":"high","permissions":["Python 3.9+","FastMCP framework (specified in pyproject.toml dependencies)","For remote deployment: HTTP server infrastructure (Node.js, Docker, or cloud runtime)","For local deployment: MCP client supporting stdio transport (Claude Desktop 0.1+)","Meta App ID and App Secret from Meta Developers console","OAuth redirect URI registered in Meta App settings","Python 3.9+ with requests library for HTTP token exchange","For local deployment: writable filesystem directory for token cache","For remote deployment: environment variable injection mechanism (e.g., GitHub Secrets, AWS Secrets Manager)","Meta OAuth token with ads_management scope"],"failure_modes":["stdio transport limited to single synchronous client connection at a time","streamable-http transport requires external reverse proxy for production TLS/SSL termination","No built-in load balancing or horizontal scaling for high-concurrency remote deployments","Transport abstraction adds ~50-100ms latency per request due to protocol serialization overhead","Token storage in environment variables (remote mode) exposes tokens to process inspection if not properly isolated","No built-in token rotation strategy — relies on Meta's refresh token expiration (typically 60 days)","Filesystem-based token caching (local mode) vulnerable if file permissions misconfigured","Single token per deployment — does not support concurrent multi-account token management within same process","Account list limited to accounts accessible by authenticated user — cannot access accounts outside organization","Account-level settings (timezone, currency) cannot be modified through MCP — requires Meta Ads Manager","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.49,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:03.578Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=meta-ads-remote-mcp","compare_url":"https://unfragile.ai/compare?artifact=meta-ads-remote-mcp"}},"signature":"ZFeU9vbq5uEP6SBcskc69+RHbWdLufBhj5RPbfAsV6z9Lvktgc3bzyRSqk7phi1xdvyxLES0rS0PxTp2djHCDg==","signedAt":"2026-06-21T11:20:10.723Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/meta-ads-remote-mcp","artifact":"https://unfragile.ai/meta-ads-remote-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=meta-ads-remote-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}