# Meta Ads — how to use (mcp.ai)

Connect your Meta Ads account and use 53 tools for ads and conversion straight from your AI agent. Connect with your own API key. Create, edit and get insights from ads across Meta technologies, including Facebook, Instagram, Messenger, WhatsApp and more.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_metaads?ms=1787295840000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `metaads_create_ad`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/metaads`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/metaads/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/metaads/create/ad` — Create a new ad within an ad set using the Meta Marketing API. Supports various ad formats including image, video, carousel, and collection ads.
  - body: { name: string, status?: string, creative: object, ad_set_id: string, bid_amount?: integer, ad_account_id: string, tracking_specs?: object[] }
- `POST https://api.mcp.ai/api/metaads/create/ad/creative` — Create a new ad creative using the Meta Marketing API. Ad creatives are reusable visual and interactive elements that define how your ad looks and behaves: - Can be used in multiple ads - Support vari
  - body: { name: string, creative: object, account_id: string }
- `POST https://api.mcp.ai/api/metaads/create/ad/set` — Create a new ad set within a campaign using the Meta Marketing API. Supports detailed targeting options, budgets, and optimization goals.
  - body: { name: string, status?: string, end_time?: string, targeting: object, account_id: string, bid_amount?: integer, start_time?: string, campaign_id: string, bid_strategy?: string, daily_budget?: number, billing_event: string, bid_constraints?: object, lifetime_budget?: number, promoted_object?: object, optimization_goal: string }
- `POST https://api.mcp.ai/api/metaads/create/campaign` — Create a new advertising campaign using the Meta Marketing API. Supports various campaign objectives, budgets, and bidding strategies.
  - body: { name: string, status?: string, objective: string, account_id: string, bid_strategy?: string, daily_budget?: number, lifetime_budget?: number, special_ad_categories?: string[], is_adset_budget_sharing_enabled?: boolean }
- `POST https://api.mcp.ai/api/metaads/create/custom/audience` — Create a new custom audience using the Meta Marketing API. Supports various types of custom audiences including customer lists, website visitors, and app users.
  - body: { name: string, rule?: object, prefill?: boolean, subtype: string, account_id: string, description?: string, content_type?: string, retention_days?: integer, customer_file_source?: string }
- `POST https://api.mcp.ai/api/metaads/delete/campaign` — Delete an advertising campaign using the Meta Marketing API. This marks the campaign as DELETED, which prevents it from delivering ads. Note that deleted campaigns are not permanently removed from Met
  - body: { campaign_id: string }
- `POST https://api.mcp.ai/api/metaads/get/ad/accounts` — Tool to retrieve all ad account IDs accessible to the authenticated user from Meta Ads. Use when you need to get a user's ad account information including account IDs, names, and other account details
  - body: { limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/get/ad/creative` — Get Ad Creative
  - body: { fields?: string[], creative_id: string }
- `POST https://api.mcp.ai/api/metaads/get/insights` — Get insights data for a Meta Ads object (ad account, campaign, ad set, or ad) using the Meta Marketing API. Supports various metrics, breakdowns, and filtering options with flexible date ranges. Resul
  - body: { sort?: string[], after?: string, level?: string, limit?: integer, before?: string, fields?: string[], filtering?: object[], object_id: string, breakdowns?: string[], time_range?: object, date_preset?: string, date_range_defaulted?: boolean, field_transformations?: string[], breakdown_transformations?: string[], action_attribution_windows?: string[] }
- `POST https://api.mcp.ai/api/metaads/get/object` — Tool to retrieve data for any Meta Marketing API object by its ID. Use when you need to get information about a specific ad account, campaign, ad set, ad, ad creative, page, user, or other Meta object
  - body: { fields?: string[], object_id: string, time_range?: object, date_preset?: string, updated_since?: integer }
- `POST https://api.mcp.ai/api/metaads/get/page/accounts` — Tool to retrieve permanent page access tokens for accounts managed by the user. Use when you need to get pages the user manages along with access tokens for each page.
  - body: { fields?: string }
- `POST https://api.mcp.ai/api/metaads/get/user` — Tool to retrieve information about the authenticated user from Meta (Facebook) Graph API. Use when you need to get the current user's profile information such as name, email, or other user details.
  - body: { fields?: string }
- `POST https://api.mcp.ai/api/metaads/get/video` — DEPRECATED: Use METAADS_GET_OBJECT instead. Tool to retrieve video information from Meta's Graph API by video ID. Use when you need to get video details such as the source URL for playback/download, p
  - body: { fields?: string, video_id: string }
- `POST https://api.mcp.ai/api/metaads/list/ad/creatives` — Tool to list all ad creatives under an ad account. Use when you need to retrieve multiple ad creatives from a Meta Ads account to view, analyze, or manage creative assets.
  - body: { limit?: integer, fields?: string, ad_account_id: string }
- `POST https://api.mcp.ai/api/metaads/list/ad/network/analytics` — Tool to retrieve ad network analytics for a Meta Business using the Meta Marketing API. Use when you need to get ad network performance metrics such as revenue or impressions.
  - body: { id: string, limit?: integer, metrics: string }
- `POST https://api.mcp.ai/api/metaads/list/ad/network/analytics/results` — Tool to retrieve ad network analytics results for Facebook Audience Network. Use when you need to get performance data from ads displayed through Facebook Audience Network on third-party apps and webs
  - body: { fields?: string, query_id?: string, object_id: string }
- `POST https://api.mcp.ai/api/metaads/list/ads` — Tool to list all ads under an ad account using the Meta Marketing API. Use when you need to retrieve ads from a specific ad account with optional filtering by fields.
  - body: { limit?: integer, fields?: string, ad_account_id: string }
- `POST https://api.mcp.ai/api/metaads/list/agencies` — Tool to retrieve agencies associated with a Meta Business or Ad Account. Use when you need to get the list of agencies that have access to manage a specific business or ad account.
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/assigned/pages` — Tool to retrieve Facebook Pages assigned to a business user via Meta Marketing API. Use when you need to get the list of pages a business user has access to.
  - body: { business_user_id: string }
- `POST https://api.mcp.ai/api/metaads/list/assigned/users` — Tool to list users assigned to a Facebook Page or Ad Account within a specific business context. Use when you need to retrieve the list of users who have access to a Page or Ad Account and their assoc
  - body: { id: string, after?: string, limit?: integer, before?: string, fields?: string, business: string }
- `POST https://api.mcp.ai/api/metaads/list/business/ad/accounts` — Tool to retrieve all ad accounts owned by a specific Business Manager. Use when you need to get ad account information for a business including account IDs, names, and status.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/business/invoices` — Tool to retrieve business invoices from Meta Marketing API. Use when you need to fetch invoice data for a business including amounts, due dates, and payment status.
  - body: { id: string, type?: string, after?: string, limit?: integer, before?: string, root_id?: string, end_date?: string, invoice_id?: string, start_date?: string, issue_end_date?: string, issue_start_date?: string }
- `POST https://api.mcp.ai/api/metaads/list/businesses` — Tool to discover every Business Manager the authenticated Meta principal can access, via `GET /me/businesses`. Use this first when you do not know a `business_id`: it works for both user and system-us
  - body: { after?: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/client/ad/accounts` — Tool to list all client ad accounts accessible to a business from Meta Ads. Use when you need to retrieve ad accounts that have been shared with a Business Manager as clients.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/client/apps` — Tool to retrieve client apps associated with a Meta Business using the Marketing API. Use when you need to get information about apps linked to a specific business.
  - body: { after?: string, limit?: integer, before?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/client/instagram/assets` — Tool to retrieve Instagram assets that are shared with a business as a client using the Meta Marketing API. Use when you need to fetch Instagram accounts or assets linked to a specific business ID.
  - body: { after?: string, limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/client/offsite/signal/containers` — Tool to retrieve client offsite signal container business objects for a business from Meta Marketing API. Use when you need to list all client offsite signal container business objects associated with
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/client/pages` — Tool to retrieve client pages associated with a Meta business. Use when you need to get the list of pages that a business manages on behalf of clients.
  - body: { id: string, limit?: integer, fields?: string[] }
- `POST https://api.mcp.ai/api/metaads/list/clients` — Tool to retrieve client businesses associated with a Meta Business Manager. Use when you need to get the list of businesses that are clients of a specific Business Manager.
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/collaborative/ads/collaboration/requests` — Tool to retrieve collaborative ads collaboration requests for a Meta Business using the Marketing API. Use when you need to get collaboration requests related to collaborative advertising partnerships
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/collaborative/ads/suggested/partners` — Tool to retrieve collaborative ads suggested partners for a business from Meta Marketing API. Use when you need to discover potential partnership opportunities for collaborative advertising campaigns.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/initiated/audience/sharing/requests` — Tool to retrieve initiated audience sharing requests for a business using the Meta Marketing API. Use when you need to get the list of audience sharing requests that have been initiated by a business.
  - body: { id: string, after?: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/managed/partner/ads/funding/source/details` — Tool to retrieve managed partner ads funding source details for a Meta Business. Use when you need to get funding source information for managed partner ads associated with a specific business.
  - body: { id: string, limit?: integer }
- `POST https://api.mcp.ai/api/metaads/list/owned/apps` — Tool to retrieve apps owned by a business from Meta Marketing API. Use when you need to get information about apps associated with a business account.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/owned/businesses` — Tool to retrieve businesses owned by a parent Business Manager from Meta Marketing API. Use when you need to list child businesses managed under a Business Manager account in a Tier-2 business hierarc
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/owned/instagram/assets` — Tool to list Instagram accounts/assets owned by a Meta Business. Use when you need to retrieve the Instagram Business Accounts associated with a specific Meta Business.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/owned/offsite/signal/container/business/objects` — Tool to retrieve owned offsite signal container business objects for a business from Meta Marketing API. Use when you need to list all owned offsite signal container business objects associated with a
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/owned/pages` — Tool to retrieve Pages owned by a Business Manager from Meta Marketing API. Use when you need to get a list of all Facebook Pages that a business owns or manages.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/client/ad/accounts` — Tool to retrieve pending client ad account access requests for a Business Manager from Meta Ads. Use when you need to get ad accounts that are awaiting approval to be added as clients to a business.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/client/apps` — Tool to retrieve pending client apps for a Meta Business. Use when you need to list apps that are pending approval or connection to a business account.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/client/pages` — Tool to retrieve pending client pages for a Business Manager using the Meta Marketing API. Use when you need to see which Facebook Pages have pending access requests from the business.
  - body: { limit?: integer, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/offsite/signal/containers` — Tool to retrieve pending shared offsite signal container business objects from Meta Marketing API. Use when you need to get information about pending shared offsite signal containers associated with a
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/owned/ad/accounts` — Tool to retrieve pending owned ad accounts for a Business Manager account from Meta Marketing API. Use when you need to list ad accounts with pending ownership status for a specific business.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/owned/pages` — Tool to retrieve Pages with pending ownership status for a Business Manager from Meta Marketing API. Use when you need to get a list of Facebook Pages that are pending approval or verification for a b
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/pending/users` — Tool to retrieve pending users from a Business Manager in Meta Marketing API. Use when you need to get information about users with pending invitations to a Business Manager.
  - body: { id: string, limit?: integer, fields?: string }
- `POST https://api.mcp.ai/api/metaads/list/received/audience/sharing/requests` — Tool to retrieve all received audience sharing requests for a business using the Meta Marketing API. Use when you need to see which other businesses have requested to share custom audiences with your 
  - body: { id: string, limit?: integer }
- `POST https://api.mcp.ai/api/metaads/list/system/users` — Tool to retrieve system users for a Meta Business Manager account. Use when you need to list all system users (non-human accounts used for API access) associated with a business.
  - body: { limit?: integer, fields?: string, business_id: string }
- `POST https://api.mcp.ai/api/metaads/list/targeting/search` — Tool to search for targeting options in Meta Ads Marketing API. Use when you need to find interests, locations, demographics, schools, or employers for ad targeting purposes.
  - body: { q: string, type: string, class?: string, limit?: integer, location_types?: string[] }
- `POST https://api.mcp.ai/api/metaads/preview/ad/creative` — Preview Ad Creative
  - body: { creative_id: string, thumbnail_width?: integer, thumbnail_height?: integer }
- `POST https://api.mcp.ai/api/metaads/read/adsets` — Retrieve ad sets from a Meta ad account using the Marketing API. Returns information about the ad sets including their status, targeting, and other properties.
  - body: { limit?: integer, fields?: string[], date_preset?: string, is_completed?: boolean, ad_account_id: string, updated_since?: integer, effective_status?: string[], time_range_since?: string, time_range_until?: string }
- `POST https://api.mcp.ai/api/metaads/update/ad/creative` — Update Ad Creative
  - body: { name?: string, status?: string, creative_id: string }
- `POST https://api.mcp.ai/api/metaads/update/campaign` — Update an existing advertising campaign using the Meta Marketing API. Allows modification of campaign properties like name, status, budget, and bidding strategy. Only the fields that need to be update
  - body: { name?: string, status?: string, spend_cap?: number, campaign_id: string, bid_strategy?: string, daily_budget?: number, lifetime_budget?: number, special_ad_categories?: string[] }
- `POST https://api.mcp.ai/api/metaads/upload/ad/image` — Upload an image for use in Meta ad creatives using the Marketing API. The image can later be referenced by its hash when creating ad creatives.
  - body: { name?: string, image: object, ad_account_id: string }

## Example prompts
- "What can I do in Meta Ads?"
- "Show me a summary of my Meta Ads account"

## More
- Page: https://mcp.ai/metaads
- Agent spec (llms.txt): https://mcp.ai/metaads/llms.txt
- Postman collection: https://mcp.ai/metaads/postman.json
