- Facebook
Tools
list_ad_accounts
List down the ad accounts and their names associated with your Facebook account.
CRITICAL: This function MUST automatically fetch **all** pages using pagination.
When the response contains a ``paging.next`` URL, it immediately and
automatically uses :func:`fetch_pagination_url` to retrieve the next page. This
continues until no ``next`` URL exists. It never asks the user for permission,
never stops after the first page, and always returns the complete consolidated
list of **all** ad accounts across every page in a single response.
get_details_of_ad_account
Get details of a specific ad account as per the fields provided
Args:
act_id: The act ID of the ad account, example: act_1234567890. If omitted,
the server automatically resolves the first accessible ad account for
the provided access token.
fields: The fields to get from the ad account. If None, defaults are used.
Available fields include: name, business_name, age, account_status,
balance, amount_spent, attribution_spec, account_id, business,
business_city, brand_safety_content_filter_levels, currency,
created_time, id.
Returns:
A dictionary containing the details of the ad account
get_adaccount_insights
Retrieves performance insights for a specified Facebook ad account.
This tool interfaces with the Facebook Graph API's Insights edge to fetch comprehensive performance data, such as impressions, reach, cost, conversions, and more. It supports various options for filtering, time breakdowns, and attribution settings. Note that some metrics returned might be estimated or in development CRITICAL: This function MUST automatically fetch **all** pages using pagination. When the response contains a ``paging.next`` URL, it immediately and automatically uses :func:`fetch_pagination_url` to retrieve the next page. This continues until no ``next`` URL exists. It never asks the user for permission, never stops after the first page, and always returns the complete consolidated list of **all** ad account insight rows across every page in a single response. This is a requirement, not optional behavior.Args:
act_id (str): The target ad account ID, prefixed with 'act_', e.g., 'act_1234567890'.
If omitted, the server automatically resolves the first accessible ad
account for the provided access token.
fields (Optional[List[str]]): A list of specific metrics and fields to retrieve.
If omitted, a default set is returned by the API. Common examples include:
- 'account_currency', 'account_id', 'account_name'
- 'actions', 'clicks', 'conversions'
- 'cpc', 'cpm', 'cpp', 'ctr'
- 'frequency', 'impressions', 'reach', 'spend'.
date_preset (str): A predefined relative time range for the report.
Options: 'today', 'yesterday', 'this_month', 'last_month', 'this_quarter',
'maximum', 'last_3d', 'last_7d', 'last_14d', 'last_28d', 'last_30d',
'last_90d', 'last_week_mon_sun', 'last_week_sun_sat', 'last_quarter',
'last_year', 'this_week_mon_today', 'this_week_sun_today', 'this_year'.
Default: 'last_30d'. This parameter is ignored if 'time_range', 'time_ranges',
'since', or 'until' is provided.
time_range (Optional[Dict[str, str]]): A specific time range defined by 'since' and 'until'
dates in 'YYYY-MM-DD' format, e.g., {'since': '2023-10-01', 'until': '2023-10-31'}.
Overrides 'date_preset'. Ignored if 'time_ranges' is provided.
time_ranges (Optional[List[Dict[str, str]]]): An array of time range objects
({'since': '...', 'until': '...'}) for comparing multiple periods. Overrides
'time_range' and 'date_preset'. Time ranges can overlap.
time_increment (str | int): Specifies the granularity of the time breakdown.
- An integer from 1 to 90 indicates the number of days per data point.
- 'monthly': Aggregates data by month.
- 'all_days': Provides a single summary row for the entire period.
Default: 'all_days'.
level (str): The level of aggregation for the insights.
Options: 'account', 'campaign', 'adset', 'ad'.
Default: 'account'.
action_attribution_windows (Optional[List[str]]): Specifies the attribution windows
to consider for actions (conversions). Examples: '1d_view', '7d_view',
'28d_view', '1d_click', '7d_click', '28d_click', 'dda', 'default'.
The API default may vary; ['7d_click', '1d_view'] is common.
action_breakdowns (Optional[List[str]]): Segments the 'actions' results based on
specific dimensions. Examples: 'action_device', 'action_type',
'conversion_destination', 'action_destination'. Default: ['action_type'].
action_report_time (Optional[str]): Determines when actions are counted.
- 'impression': Actions are attributed to the time of the ad impression.
- 'conversion': Actions are attributed to the time the conversion occurred.
- 'mixed': Uses 'impression' time for paid metrics, 'conversion' time for organic.
Default: 'mixed'.
breakdowns (Optional[List[str]]): Segments the results by dimensions like demographics
or placement. Examples: 'age', 'gender', 'country', 'region', 'dma',
'impression_device', 'publisher_platform', 'platform_position', 'device_platform'.
Note: Not all breakdowns can be combined.
default_summary (bool): If True, includes an additional summary row in the response.
Default: False.
use_account_attribution_setting (bool): If True, forces the report to use the
attribution settings defined at the ad account level. Default: False.
use_unified_attribution_setting (bool): If True, uses the unified attribution
settings defined at the ad set level. This is generally recommended for
consistency with Ads Manager reporting. Default: True.
filtering (Optional[List[dict]]): A list of filter objects to apply to the data.
Each object should have 'field', 'operator', and 'value' keys.
Example: [{'field': 'spend', 'operator': 'GREATER_THAN', 'value': 50}].
sort (Optional[str]): Specifies the field and direction for sorting the results.
Format: '{field_name}_ascending' or '{field_name}_descending'.
Example: 'impressions_descending'.
limit (Optional[int]): The maximum number of results to return in one API response page.
after (Optional[str]): A pagination cursor pointing to the next page of results.
Obtained from the 'paging.cursors.after' field of a previous response.
before (Optional[str]): A pagination cursor pointing to the previous page of results.
Obtained from the 'paging.cursors.before' field of a previous response.
offset (Optional[int]): An alternative pagination method; skips the specified
number of results. Use cursor-based pagination ('after'/'before') when possible.
since (Optional[str]): For time-based pagination (used if 'time_range' and 'time_ranges'
are not set), the start timestamp (Unix or strtotime value).
until (Optional[str]): For time-based pagination (used if 'time_range' and 'time_ranges'
are not set), the end timestamp (Unix or strtotime value).
locale (Optional[str]): The locale for text responses (e.g., 'en_US'). This controls
language and formatting of text fields in the response.
Returns:
Dict: A dictionary containing the requested ad account insights. The main results
are in the 'data' list, and pagination info is in the 'paging' object.
Example:
```python
# Get basic ad account performance for the last 30 days
insights = get_adaccount_insights(
act_id="act_123456789",
fields=["impressions", "clicks", "spend", "ctr"],
limit=25
)
# Fetch the next page if available using the pagination toolnext_page_url = insights.get("paging", {}).get("next")if next_page_url:next_page_results = fetch_pagination_url(url=next_page_url)print("Fetched next page results.")```
get_campaign_insights
Retrieves performance insights for a specific Facebook ad campaign.
Fetches statistics for a given campaign ID, allowing analysis of metrics like
impressions, clicks, conversions, spend, etc. Supports time range definitions,
breakdowns, and attribution settings.
Args:
campaign_id (str): The ID of the target Facebook ad campaign, e.g., '23843xxxxx'.
fields (Optional[List[str]]): A list of specific metrics and fields to retrieve.
Common examples: 'campaign_name', 'account_id', 'impressions', 'clicks',
'spend', 'ctr', 'reach', 'actions', 'objective', 'cost_per_action_type',
'conversions', 'cpc', 'cpm', 'cpp', 'frequency', 'date_start', 'date_stop'.
date_preset (str): A predefined relative time range for the report.
Options: 'today', 'yesterday', 'this_month', 'last_month', 'this_quarter',
'maximum', 'last_3d', 'last_7d', 'last_14d', 'last_28d', 'last_30d',
'last_90d', 'last_week_mon_sun', 'last_week_sun_sat', 'last_quarter',
'last_year', 'this_week_mon_today', 'this_week_sun_today', 'this_year'.
Default: 'last_30d'. Ignored if 'time_range', 'time_ranges', 'since', or 'until' is used.
time_range (Optional[Dict[str, str]]): A specific time range {'since':'YYYY-MM-DD','until':'YYYY-MM-DD'}.
Overrides 'date_preset'. Ignored if 'time_ranges' is provided.
time_ranges (Optional[List[Dict[str, str]]]): An array of time range objects for comparison.
Overrides 'time_range' and 'date_preset'.
time_increment (str | int): Specifies the granularity of the time breakdown.
- Integer (1-90): number of days per data point.
- 'monthly': Aggregates data by month.
- 'all_days': Single summary row for the period.
Default: 'all_days'.
action_attribution_windows (Optional[List[str]]): Specifies attribution windows for actions.
Examples: '1d_view', '7d_click', '28d_click', etc. Default depends on API/settings.
action_breakdowns (Optional[List[str]]): Segments 'actions' results. Examples: 'action_device', 'action_type'.
Default: ['action_type'].
action_report_time (Optional[str]): Determines when actions are counted ('impression', 'conversion', 'mixed').
Default: 'mixed'.
breakdowns (Optional[List[str]]): Segments results by dimensions. Examples: 'age', 'gender', 'country',
'publisher_platform', 'impression_device'.
default_summary (bool): If True, includes an additional summary row. Default: False.
use_account_attribution_setting (bool): If True, uses the ad account's attribution settings. Default: False.
use_unified_attribution_setting (bool): If True, uses unified attribution settings. Default: True.
level (Optional[str]): Level of aggregation ('campaign', 'adset', 'ad'). Default: 'campaign'.
filtering (Optional[List[dict]]): List of filter objects {'field': '...', 'operator': '...', 'value': '...'}.
sort (Optional[str]): Field and direction for sorting ('{field}_ascending'/'_descending').
limit (Optional[int]): Maximum number of results per page.
after (Optional[str]): Pagination cursor for the next page.
before (Optional[str]): Pagination cursor for the previous page.
offset (Optional[int]): Alternative pagination: skips N results.
since (Optional[str]): Start timestamp for time-based pagination (if time ranges absent).
until (Optional[str]): End timestamp for time-based pagination (if time ranges absent).
locale (Optional[str]): The locale for text responses (e.g., 'en_US'). This controls
language and formatting of text fields in the response.
Returns:
Dict: A dictionary containing the requested campaign insights, with 'data' and 'paging' keys.
Example:
```python
# Get basic campaign performance for the last 7 days
insights = get_campaign_insights(
campaign_id="23843xxxxx",
fields=["campaign_name", "impressions", "clicks", "spend"],
date_preset="last_7d",
limit=50
)
# Fetch the next page if available
next_page_url = insights.get("paging", {}).get("next")
if next_page_url:
next_page_results = fetch_pagination_url(url=next_page_url)
```
get_adset_insights
Retrieves performance insights for a specific Facebook ad set.
Provides advertising performance statistics for an ad set, allowing for analysis
of metrics across its child ads. Supports time range definitions, breakdowns,
filtering, sorting, and attribution settings. Some metrics may be estimated
or in development.
Args:
adset_id (str): The ID of the target ad set, e.g., '6123456789012'.
fields (Optional[List[str]]): A list of specific metrics and fields. Common examples:
'adset_name', 'campaign_name', 'account_id', 'impressions', 'clicks', 'spend',
'ctr', 'reach', 'frequency', 'actions', 'conversions', 'cpc', 'cpm', 'cpp',
'cost_per_action_type', 'video_p25_watched_actions', 'website_purchases'.
date_preset (str): A predefined relative time range ('last_30d', 'last_7d', etc.).
Default: 'last_30d'. Ignored if 'time_range', 'time_ranges', 'since', or 'until' is used.
time_range (Optional[Dict[str, str]]): Specific time range {'since':'YYYY-MM-DD','until':'YYYY-MM-DD'}.
Overrides 'date_preset'. Ignored if 'time_ranges' is provided.
time_ranges (Optional[List[Dict[str, str]]]): Array of time range objects for comparison.
Overrides 'time_range' and 'date_preset'.
time_increment (str | int): Granularity of the time breakdown ('all_days', 'monthly', 1-90 days).
Default: 'all_days'.
action_attribution_windows (Optional[List[str]]): Specifies attribution windows for actions.
Examples: '1d_view', '7d_click'. Default depends on API/settings.
action_breakdowns (Optional[List[str]]): Segments 'actions' results. Examples: 'action_device', 'action_type'.
Default: ['action_type'].
action_report_time (Optional[str]): Time basis for action stats ('impression', 'conversion', 'mixed').
Default: 'mixed'.
breakdowns (Optional[List[str]]): Segments results by dimensions. Examples: 'age', 'gender', 'country',
'publisher_platform', 'impression_device', 'platform_position'.
default_summary (bool): If True, includes an additional summary row. Default: False.
use_account_attribution_setting (bool): If True, uses the ad account's attribution settings. Default: False.
use_unified_attribution_setting (bool): If True, uses unified attribution settings. Default: True.
level (Optional[str]): Level of aggregation ('adset', 'ad'). Default: 'adset'.
filtering (Optional[List[dict]]): List of filter objects {'field': '...', 'operator': '...', 'value': '...'}.
sort (Optional[str]): Field and direction for sorting ('{field}_ascending'/'_descending').
limit (Optional[int]): Maximum number of results per page.
after (Optional[str]): Pagination cursor for the next page.
before (Optional[str]): Pagination cursor for the previous page.
offset (Optional[int]): Alternative pagination: skips N results.
since (Optional[str]): Start timestamp for time-based pagination (if time ranges absent).
until (Optional[str]): End timestamp for time-based pagination (if time ranges absent).
locale (Optional[str]): The locale for text responses (e.g., 'en_US'). This controls
language and formatting of text fields in the response.
Returns:
Dict: A dictionary containing the requested ad set insights, with 'data' and 'paging' keys.
Example:
```python
# Get ad set performance with breakdown by device for last 14 days
insights = get_adset_insights(
adset_id="6123456789012",
fields=["adset_name", "impressions", "spend"],
breakdowns=["impression_device"],
date_preset="last_14d"
)
# Fetch the next page if available
next_page_url = insights.get("paging", {}).get("next")
if next_page_url:
next_page_results = fetch_pagination_url(url=next_page_url)
```
Connect
Details
Or add to your client
paging.next URL, it immediately and\n automatically uses :func:fetch_pagination_url to retrieve the next page. This\n continues until no next URL exists. It never asks the user for permission,\n never stops after the first page, and always returns the complete consolidated\n list of all ad account insight rows across every page in a single\n response. This is a requirement, not optional behavior.\n\n Args:\n act_id (str): The target ad account ID, prefixed with 'act', e.g., 'act_1234567890'.\n If omitted, the server automatically resolves the first accessible ad\n account for the provided access token.\n fields (Optional[List[str]]): A list of specific metrics and fields to retrieve.\n If omitted, a default set is returned by the API. Common examples include:\n - 'account_currency', 'account_id', 'account_name'\n - 'actions', 'clicks', 'conversions'\n - 'cpc', 'cpm', 'cpp', 'ctr'\n - 'frequency', 'impressions', 'reach', 'spend'.\n date_preset (str): A predefined relative time range for the report.\n Options: 'today', 'yesterday', 'this_month', 'last_month', 'this_quarter',\n 'maximum', 'last_3d', 'last_7d', 'last_14d', 'last_28d', 'last_30d',\n 'last_90d', 'last_week_mon_sun', 'last_week_sun_sat', 'last_quarter',\n 'last_year', 'this_week_mon_today', 'this_week_sun_today', 'this_year'.\n Default: 'last_30d'. This parameter is ignored if 'time_range', 'time_ranges',\n 'since', or 'until' is provided.\n time_range (Optional[Dict[str, str]]): A specific time range defined by 'since' and 'until'\n dates in 'YYYY-MM-DD' format, e.g., {'since': '2023-10-01', 'until': '2023-10-31'}.\n Overrides 'date_preset'. Ignored if 'time_ranges' is provided.\n time_ranges (Optional[List[Dict[str, str]]]): An array of time range objects\n ({'since': '...', 'until': '...'}) for comparing multiple periods. Overrides\n 'time_range' and 'date_preset'. Time ranges can overlap.\n time_increment (str | int): Specifies the granularity of the time breakdown.\n - An integer from 1 to 90 indicates the number of days per data point.\n - 'monthly': Aggregates data by month.\n - 'all_days': Provides a single summary row for the entire period.\n Default: 'all_days'.\n level (str): The level of aggregation for the insights.\n Options: 'account', 'campaign', 'adset', 'ad'.\n Default: 'account'.\n action_attribution_windows (Optional[List[str]]): Specifies the attribution windows\n to consider for actions (conversions). Examples: '1d_view', '7d_view',\n '28d_view', '1d_click', '7d_click', '28d_click', 'dda', 'default'.\n The API default may vary; ['7d_click', '1d_view'] is common.\n action_breakdowns (Optional[List[str]]): Segments the 'actions' results based on\n specific dimensions. Examples: 'action_device', 'action_type',\n 'conversion_destination', 'action_destination'. Default: ['action_type'].\n action_report_time (Optional[str]): Determines when actions are counted.\n - 'impression': Actions are attributed to the time of the ad impression.\n - 'conversion': Actions are attributed to the time the conversion occurred.\n - 'mixed': Uses 'impression' time for paid metrics, 'conversion' time for organic.\n Default: 'mixed'.\n breakdowns (Optional[List[str]]): Segments the results by dimensions like demographics\n or placement. Examples: 'age', 'gender', 'country', 'region', 'dma',\n 'impression_device', 'publisher_platform', 'platform_position', 'device_platform'.\n Note: Not all breakdowns can be combined.\n default_summary (bool): If True, includes an additional summary row in the response.\n Default: False.\n use_account_attribution_setting (bool): If True, forces the report to use the\n attribution settings defined at the ad account level. Default: False.\n use_unified_attribution_setting (bool): If True, uses the unified attribution\n settings defined at the ad set level. This is generally recommended for\n consistency with Ads Manager reporting. Default: True.\n filtering (Optional[List[dict]]): A list of filter objects to apply to the data.\n Each object should have 'field', 'operator', and 'value' keys.\n Example: [{'field': 'spend', 'operator': 'GREATER_THAN', 'value': 50}].\n sort (Optional[str]): Specifies the field and direction for sorting the results.\n Format: '{field_name}_ascending' or '{field_name}_descending'.\n Example: 'impressions_descending'.\n limit (Optional[int]): The maximum number of results to return in one API response page.\n after (Optional[str]): A pagination cursor pointing to the next page of results.\n Obtained from the 'paging.cursors.after' field of a previous response.\n before (Optional[str]): A pagination cursor pointing to the previous page of results.\n Obtained from the 'paging.cursors.before' field of a previous response.\n offset (Optional[int]): An alternative pagination method; skips the specified\n number of results. Use cursor-based pagination ('after'/'before') when possible.\n since (Optional[str]): For time-based pagination (used if 'time_range' and 'time_ranges'\n are not set), the start timestamp (Unix or strtotime value).\n until (Optional[str]): For time-based pagination (used if 'time_range' and 'time_ranges'\n are not set), the end timestamp (Unix or strtotime value).\n locale (Optional[str]): The locale for text responses (e.g., 'en_US'). This controls \n language and formatting of text fields in the response.\n\n Returns:\n Dict: A dictionary containing the requested ad account insights. The main results\n are in the 'data' list, and pagination info is in the 'paging' object.\n\n Example:\n python\n # Get basic ad account performance for the last 30 days\n insights = get_adaccount_insights(\n act_id=\"act_123456789\",\n fields=[\"impressions\", \"clicks\", \"spend\", \"ctr\"],\n limit=25\n )\n\n # Fetch the next page if available using the pagination tool\n next_page_url = insights.get(\"paging\", {}).get(\"next\")\n if next_page_url:\n next_page_results = fetch_pagination_url(url=next_page_url)\n print(\"Fetched next page results.\")\n \n "])\n "])\n "])\n "])\n "])\n "])\n "])',\n e.g., 'act_1234567890'. If omitted, the server automatically\n resolves the first accessible ad account for the provided\n access token.\n fields (Optional[List[str]]): A list of specific fields to retrieve for each ad. \n If None, a default set of fields will be returned.\n Common fields include:\n - 'id': The ad's ID\n - 'name': The ad's name\n - 'adset_id': The ID of the ad set this ad belongs to\n - 'campaign_id': The ID of the campaign this ad belongs to\n - 'creative': The ad creative details\n - 'status': The current status of the ad\n - 'effective_status': The effective status including review status\n - 'bid_amount': The bid amount for this ad\n - 'configured_status': The configured status\n - 'created_time': When the ad was created\n - 'updated_time': When the ad was last updated\n - 'targeting': Targeting criteria\n - 'conversion_specs': Conversion specs\n - 'recommendations': Recommendations for improving the ad\n - 'preview_shareable_link': Link for previewing the ad\n filtering (Optional[List[dict]]): A list of filter objects to apply to the data.\n Each object should have 'field', 'operator', and 'value' keys.\n limit (Optional[int]): Maximum number of ads to return per page. Default is 25.\n after (Optional[str]): Pagination cursor for the next page. From response['paging']['cursors']['after'].\n before (Optional[str]): Pagination cursor for the previous page. From response['paging']['cursors']['before'].\n date_preset (Optional[str]): A predefined relative date range for selecting ads.\n Options include 'today', 'yesterday', 'this_week', etc.\n time_range (Optional[Dict[str, str]]): A custom time range with 'since' and 'until' \n dates in 'YYYY-MM-DD' format.\n updated_since (Optional[int]): Return ads that have been updated since this Unix timestamp.\n effective_status (Optional[List[str]]): Filter ads by their effective status. \n Options include: 'ACTIVE', 'PAUSED', 'DELETED', \n 'PENDING_REVIEW', 'DISAPPROVED', 'PREAPPROVED', \n 'PENDING_BILLING_INFO', 'CAMPAIGN_PAUSED', 'ARCHIVED', \n 'ADSET_PAUSED', 'IN_PROCESS', 'WITH_ISSUES'.\n \n Returns:\n Dict: A dictionary containing the requested ads. The main results are in the 'data'\n list, and pagination info is in the 'paging' object.\n \n Example:\n python\n # Get active ads from an ad account\n ads = get_ads_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"adset_id\", \"campaign_id\", \"effective_status\", \"created_time\"],\n effective_status=[\"ACTIVE\"],\n limit=50\n )\n \n # Fetch the next page if available using the pagination cursor\n next_page_cursor = ads.get(\"paging\", {}).get(\"cursors\", {}).get(\"after\")\n if next_page_cursor:\n next_page = get_ads_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"adset_id\", \"campaign_id\", \"effective_status\", \"created_time\"],\n effective_status=[\"ACTIVE\"],\n limit=50,\n after=next_page_cursor\n )\n \n "])\n "])\n "])\n "])\n "])',\n e.g., 'act_1234567890'. If omitted, the server automatically\n resolves the first accessible ad account for the provided\n access token.\n fields (Optional[List[str]]): A list of specific fields to retrieve for each ad set. \n If None, a default set of fields will be returned.\n See get_adset_by_id for a comprehensive list of available fields.\n filtering (Optional[List[dict]]): A list of filter objects to apply to the data.\n Each object should have 'field', 'operator', and 'value' keys.\n Operators include: 'EQUAL', 'NOT_EQUAL', 'GREATER_THAN',\n 'GREATER_THAN_OR_EQUAL', 'LESS_THAN', 'LESS_THAN_OR_EQUAL',\n 'IN_RANGE', 'NOT_IN_RANGE', 'CONTAIN', 'NOT_CONTAIN',\n 'IN', 'NOT_IN', 'EMPTY', 'NOT_EMPTY'.\n Example: [{'field': 'daily_budget', 'operator': 'GREATER_THAN', 'value': 1000}]\n limit (Optional[int]): Maximum number of ad sets to return per page. Default is 25, max is 100.\n after (Optional[str]): Pagination cursor for the next page. From response['paging']['cursors']['after'].\n before (Optional[str]): Pagination cursor for the previous page. From response['paging']['cursors']['before'].\n date_preset (Optional[str]): A predefined relative date range for selecting ad sets.\n Options include: 'today', 'yesterday', 'this_month', 'last_month', \n 'this_quarter', 'lifetime', 'last_3d', 'last_7d', 'last_14d', \n 'last_28d', 'last_30d', 'last_90d', 'last_quarter', 'last_year', \n 'this_week_mon_today', 'this_week_sun_today', 'this_year'.\n time_range (Optional[Dict[str, str]]): A custom time range with 'since' and 'until' \n dates in 'YYYY-MM-DD' format.\n Example: {'since': '2023-01-01', 'until': '2023-01-31'}\n updated_since (Optional[int]): Return ad sets that have been updated since this Unix timestamp.\n effective_status (Optional[List[str]]): Filter ad sets by their effective status. \n Options include: 'ACTIVE', 'PAUSED', 'DELETED', \n 'PENDING_REVIEW', 'DISAPPROVED', 'PREAPPROVED', \n 'PENDING_BILLING_INFO', 'CAMPAIGN_PAUSED', 'ARCHIVED', \n 'WITH_ISSUES'.\n date_format (Optional[str]): Format for date responses. Options:\n - 'U': Unix timestamp (seconds since epoch)\n - 'Y-m-d H:i:s': MySQL datetime format\n - None: ISO 8601 format (default)\n \n Returns:\n Dict: A dictionary containing the requested ad sets. The main results are in the 'data'\n list, and pagination info is in the 'paging' object.\n \n Example:\n python\n # Get active ad sets from an ad account\n adsets = get_adsets_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"campaign_id\", \"effective_status\", \"daily_budget\", \"targeting\"],\n effective_status=[\"ACTIVE\"],\n limit=50\n )\n \n # Get ad sets with daily budget above a certain amount\n high_budget_adsets = get_adsets_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"daily_budget\", \"lifetime_budget\"],\n filtering=[{'field': 'daily_budget', 'operator': 'GREATER_THAN', 'value': 5000}],\n limit=100\n )\n \n # Fetch the next page if available using the pagination cursor\n next_page_cursor = adsets.get(\"paging\", {}).get(\"cursors\", {}).get(\"after\")\n if next_page_cursor:\n next_page = get_adsets_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"campaign_id\", \"effective_status\", \"daily_budget\"],\n effective_status=[\"ACTIVE\"],\n limit=50,\n after=next_page_cursor\n )\n \n "])\n "])\n "])',\n e.g., 'act_1234567890'. If omitted, the server automatically\n resolves the first accessible ad account for the provided\n access token.\n fields (Optional[List[str]]): A list of specific fields to retrieve for each campaign.\n If None, a default set of fields will be returned.\n See get_campaign_by_id for a comprehensive list of available fields.\n filtering (Optional[List[dict]]): A list of filter objects to apply to the data.\n Each object should have 'field', 'operator', and 'value' keys.\n Operators include: 'EQUAL', 'NOT_EQUAL', 'GREATER_THAN',\n 'GREATER_THAN_OR_EQUAL', 'LESS_THAN', 'LESS_THAN_OR_EQUAL',\n 'IN_RANGE', 'NOT_IN_RANGE', 'CONTAIN', 'NOT_CONTAIN',\n 'IN', 'NOT_IN', 'EMPTY', 'NOT_EMPTY'.\n Example: [{'field': 'daily_budget', 'operator': 'GREATER_THAN', 'value': 1000}]\n limit (Optional[int]): Maximum number of campaigns to return per page. Default is 25, max is 100.\n after (Optional[str]): Pagination cursor for the next page. From response['paging']['cursors']['after'].\n before (Optional[str]): Pagination cursor for the previous page. From response['paging']['cursors']['before'].\n date_preset (Optional[str]): A predefined relative date range for selecting campaigns.\n Options include: 'today', 'yesterday', 'this_month', 'last_month', \n 'this_quarter', 'maximum', 'last_3d', 'last_7d', 'last_14d', \n 'last_28d', 'last_30d', 'last_90d', 'last_week_mon_sun', \n 'last_week_sun_sat', 'last_quarter', 'last_year', \n 'this_week_mon_today', 'this_week_sun_today', 'this_year'.\n time_range (Optional[Dict[str, str]]): A custom time range with 'since' and 'until' \n dates in 'YYYY-MM-DD' format.\n Example: {'since': '2023-01-01', 'until': '2023-01-31'}\n updated_since (Optional[int]): Return campaigns that have been updated since this Unix timestamp.\n effective_status (Optional[List[str]]): Filter campaigns by their effective status. \n Options include: 'ACTIVE', 'PAUSED', 'DELETED', \n 'PENDING_REVIEW', 'DISAPPROVED', 'PREAPPROVED', \n 'PENDING_BILLING_INFO', 'ARCHIVED', 'WITH_ISSUES'.\n is_completed (Optional[bool]): If True, returns only completed campaigns. If False, returns \n only active campaigns. If None, returns both.\n special_ad_categories (Optional[List[str]]): Filter campaigns by special ad categories.\n Options include: 'EMPLOYMENT', 'HOUSING', 'CREDIT', \n 'ISSUES_ELECTIONS_POLITICS', 'NONE'.\n objective (Optional[List[str]]): Filter campaigns by advertising objective.\n Options include: 'APP_INSTALLS', 'BRAND_AWARENESS', \n 'CONVERSIONS', 'EVENT_RESPONSES', 'LEAD_GENERATION', \n 'LINK_CLICKS', 'LOCAL_AWARENESS', 'MESSAGES', 'OFFER_CLAIMS', \n 'PAGE_LIKES', 'POST_ENGAGEMENT', 'PRODUCT_CATALOG_SALES', \n 'REACH', 'STORE_VISITS', 'VIDEO_VIEWS'.\n buyer_guarantee_agreement_status (Optional[List[str]]): Filter campaigns by buyer guarantee agreement status.\n Options include: 'APPROVED', 'NOT_APPROVED'.\n date_format (Optional[str]): Format for date responses. Options:\n - 'U': Unix timestamp (seconds since epoch)\n - 'Y-m-d H:i:s': MySQL datetime format\n - None: ISO 8601 format (default)\n include_drafts (Optional[bool]): If True, includes draft campaigns in the results.\n \n Returns:\n Dict: A dictionary containing the requested campaigns. The main results are in the 'data'\n list, and pagination info is in the 'paging' object.\n \n Example:\n python\n # Get active campaigns from an ad account\n campaigns = get_campaigns_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"objective\", \"effective_status\", \"created_time\"],\n effective_status=[\"ACTIVE\"],\n limit=50\n )\n \n # Get campaigns with specific objectives\n lead_gen_campaigns = get_campaigns_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"objective\", \"spend_cap\", \"daily_budget\"],\n objective=[\"LEAD_GENERATION\", \"CONVERSIONS\"],\n date_format=\"U\"\n )\n \n # Get campaigns created in a specific date range\n date_filtered_campaigns = get_campaigns_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"created_time\", \"objective\"],\n time_range={\"since\": \"2023-01-01\", \"until\": \"2023-01-31\"}\n )\n \n # Fetch the next page if available using the pagination cursor\n next_page_cursor = campaigns.get(\"paging\", {}).get(\"cursors\", {}).get(\"after\")\n if next_page_cursor:\n next_page = get_campaigns_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"name\", \"objective\", \"effective_status\", \"created_time\"],\n effective_status=[\"ACTIVE\"],\n limit=50,\n after=next_page_cursor\n )\n \n "])', e.g., 'act_1234567890'.\n If omitted, the server automatically resolves the first accessible ad\n account for the provided access token.\n fields (Optional[List[str]]): A list of specific fields to retrieve. If None,\n all available fields will be returned. Available fields include:\n - 'actor_id': ID of the user who made the change\n - 'actor_name': Name of the user who made the change\n - 'application_id': ID of the application used to make the change\n - 'application_name': Name of the application used to make the change\n - 'changed_data': Details about what was changed in JSON format\n - 'date_time_in_timezone': The timestamp in the account's timezone\n - 'event_time': The timestamp of when the event occurred\n - 'event_type': The specific type of change that was made (numeric code)\n - 'extra_data': Additional data related to the change in JSON format\n - 'object_id': ID of the object that was changed (ad, campaign, etc.)\n - 'object_name': Name of the object that was changed\n - 'object_type': Type of object being modified, values include:\n 'AD', 'ADSET', 'CAMPAIGN', 'ACCOUNT', 'IMAGE', 'REPORT', etc.\n - 'translated_event_type': Human-readable description of the change made,\n examples include: 'ad created', 'campaign budget updated', \n 'targeting updated', 'ad status changed', etc.\n limit (Optional[int]): Maximum number of activities to return per page.\n Default behavior returns a server-determined number of results.\n after (Optional[str]): Pagination cursor for the next page of results.\n Obtained from the 'paging.cursors.after' field in the previous response.\n before (Optional[str]): Pagination cursor for the previous page of results.\n Obtained from the 'paging.cursors.before' field in the previous response.\n time_range (Optional[Dict[str, str]]): A custom time range with 'since' and 'until'\n dates in 'YYYY-MM-DD' format. Example: {'since': '2023-01-01', 'until': '2023-01-31'}\n This parameter overrides the since/until parameters if both are provided.\n since (Optional[str]): Start date in YYYY-MM-DD format. Defines the beginning \n of the time range for returned activities. Ignored if 'time_range' is provided.\n until (Optional[str]): End date in YYYY-MM-DD format. Defines the end \n of the time range for returned activities. Ignored if 'time_range' is provided.\n \n Returns:\n Dict: A dictionary containing the requested activities. The main results are in the 'data'\n list, and pagination info is in the 'paging' object. Each activity object contains\n information about who made the change, what was changed, when it occurred, and\n the specific details of the change.\n \n Example:\n python\n # Get recent activities for an ad account with default one week of data\n activities = get_activities_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"event_time\", \"actor_name\", \"object_type\", \"translated_event_type\"]\n )\n \n # Get all activities from a specific date range\n dated_activities = get_activities_by_adaccount(\n act_id=\"act_123456789\",\n time_range={\"since\": \"2023-01-01\", \"until\": \"2023-01-31\"},\n fields=[\"event_time\", \"actor_name\", \"object_type\", \"translated_event_type\", \"extra_data\"]\n )\n \n # Paginate through activity results\n paginated_activities = get_activities_by_adaccount(\n act_id=\"act_123456789\",\n limit=50,\n fields=[\"event_time\", \"actor_name\", \"object_type\", \"translated_event_type\"]\n )\n \n # Get the next page using the cursor from the previous response\n next_page_cursor = paginated_activities.get(\"paging\", {}).get(\"cursors\", {}).get(\"after\")\n if next_page_cursor:\n next_page = get_activities_by_adaccount(\n act_id=\"act_123456789\",\n fields=[\"event_time\", \"actor_name\", \"object_type\", \"translated_event_type\"],\n after=next_page_cursor\n )\n \n "])\n "]) Session Configuration","$schema":"https://json-schema.org/draft/2020-12/schema","required":["fbToken"],"properties":{"fbToken":{"type":"string","description":"Facebook Access Token to be used with the server."}},"description":"Schema for the /mcp endpoint configuration","x-query-style":"dot+bracket"},"gatewayBaseUrl":"https://server.smithery.ai/@inventech-solution/facebook-ads-mcp-server"},"lastSucessfulDeployedAt":"2025-10-20 11:52:58.871014","securityScan":null,"lastDeployedAt":"2025-10-20 11:52:58.871014","gatewayBaseUrl":"https://server.smithery.ai/@inventech-solution/facebook-ads-mcp-server","tools":[{"name":"list_ad_accounts","description":"List down the ad accounts and their names associated with your Facebook account.\n\n CRITICAL: This function MUST automatically fetch all pages using pagination.\n When the response contains a paging.next URL, it immediately and\n automatically uses :func:fetch_pagination_url to retrieve the next page. This\n continues until no next URL exists. It never asks the user for permission,\n never stops after the first page, and always returns the complete consolidated\n list of all ad accounts across every page in a single response.","inputSchema":{"type":"object","title":"list_ad_accountsArguments","properties":{}},"outputSchema":{"type":"object","title":"list_ad_accountsOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_details_of_ad_account","description":"Get details of a specific ad account as per the fields provided\n Args:\n act_id: The act ID of the ad account, example: act_1234567890. If omitted,\n the server automatically resolves the first accessible ad account for\n the provided access token.\n fields: The fields to get from the ad account. If None, defaults are used.\n Available fields include: name, business_name, age, account_status,\n balance, amount_spent, attribution_spec, account_id, business,\n business_city, brand_safety_content_filter_levels, currency,\n created_time, id.\n Returns: \n A dictionary containing the details of the ad account\n ","inputSchema":{"type":"object","title":"get_details_of_ad_accountArguments","properties":{"act_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Act Id","default":null},"fields":{"type":"array","items":{"type":"string"},"title":"Fields","default":null}}},"outputSchema":{"type":"object","title":"get_details_of_ad_accountOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_adaccount_insights","description":"$3b","inputSchema":{"type":"object","title":"get_adaccount_insightsArguments","properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","default":null},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"level":{"type":"string","title":"Level","default":"account"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":null},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"act_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Act Id","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale","default":null},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Breakdowns","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"date_preset":{"type":"string","title":"Date Preset","default":"last_30d"},"time_ranges":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},{"type":"null"}],"title":"Time Ranges","default":null},"time_increment":{"type":"string","title":"Time Increment","default":"all_days"},"default_summary":{"type":"boolean","title":"Default Summary","default":false},"action_breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Breakdowns","default":null},"action_report_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Report Time","default":null},"action_attribution_windows":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Attribution Windows","default":null},"use_account_attribution_setting":{"type":"boolean","title":"Use Account Attribution Setting","default":false},"use_unified_attribution_setting":{"type":"boolean","title":"Use Unified Attribution Setting","default":true}}},"outputSchema":{"type":"object","title":"get_adaccount_insightsOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_campaign_insights","description":"$3c","inputSchema":{"type":"object","title":"get_campaign_insightsArguments","required":["campaign_id"],"properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","default":null},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":null},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale","default":null},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Breakdowns","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"campaign_id":{"type":"string","title":"Campaign Id"},"date_preset":{"type":"string","title":"Date Preset","default":"last_30d"},"time_ranges":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},{"type":"null"}],"title":"Time Ranges","default":null},"time_increment":{"type":"string","title":"Time Increment","default":"all_days"},"default_summary":{"type":"boolean","title":"Default Summary","default":false},"action_breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Breakdowns","default":null},"action_report_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Report Time","default":null},"action_attribution_windows":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Attribution Windows","default":null},"use_account_attribution_setting":{"type":"boolean","title":"Use Account Attribution Setting","default":false},"use_unified_attribution_setting":{"type":"boolean","title":"Use Unified Attribution Setting","default":true}}},"outputSchema":{"type":"object","title":"get_campaign_insightsOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_adset_insights","description":"$3d","inputSchema":{"type":"object","title":"get_adset_insightsArguments","required":["adset_id"],"properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","default":null},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":null},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale","default":null},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset","default":null},"adset_id":{"type":"string","title":"Adset Id"},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Breakdowns","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"date_preset":{"type":"string","title":"Date Preset","default":"last_30d"},"time_ranges":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},{"type":"null"}],"title":"Time Ranges","default":null},"time_increment":{"type":"string","title":"Time Increment","default":"all_days"},"default_summary":{"type":"boolean","title":"Default Summary","default":false},"action_breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Breakdowns","default":null},"action_report_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Report Time","default":null},"action_attribution_windows":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Attribution Windows","default":null},"use_account_attribution_setting":{"type":"boolean","title":"Use Account Attribution Setting","default":false},"use_unified_attribution_setting":{"type":"boolean","title":"Use Unified Attribution Setting","default":true}}},"outputSchema":{"type":"object","title":"get_adset_insightsOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ad_insights","description":"$3e","inputSchema":{"type":"object","title":"get_ad_insightsArguments","required":["ad_id"],"properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","default":null},"ad_id":{"type":"string","title":"Ad Id"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":null},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale","default":null},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Breakdowns","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"date_preset":{"type":"string","title":"Date Preset","default":"last_30d"},"time_ranges":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},{"type":"null"}],"title":"Time Ranges","default":null},"time_increment":{"type":"string","title":"Time Increment","default":"all_days"},"default_summary":{"type":"boolean","title":"Default Summary","default":false},"action_breakdowns":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Breakdowns","default":null},"action_report_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Report Time","default":null},"action_attribution_windows":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Action Attribution Windows","default":null},"use_account_attribution_setting":{"type":"boolean","title":"Use Account Attribution Setting","default":false},"use_unified_attribution_setting":{"type":"boolean","title":"Use Unified Attribution Setting","default":true}}},"outputSchema":{"type":"object","title":"get_ad_insightsOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"fetch_pagination_url","description":"Fetch data from a Facebook Graph API pagination URL\n \n Use this to get the next/previous page of results from an insights API call.\n \n Args:\n url: The complete pagination URL (e.g., from response['paging']['next'] or response['paging']['previous']).\n It includes the necessary token and parameters.\n \n Returns:\n The dictionary containing the next/previous page of results.\n \n Example:\n python\\n # Assuming 'initial_results' is the dict from a previous insights call\\n if \\\"paging\\\" in initial_results and \\\"next\\\" in initial_results[\\\"paging\\\"]:\\n next_page_data = fetch_pagination_url(url=initial_results[\\\"paging\\\"][\\\"next\\\"])\\n\\n if \\\"paging\\\" in initial_results and \\\"previous\\\" in initial_results[\\\"paging\\\"]:\\n prev_page_data = fetch_pagination_url(url=initial_results[\\\"paging\\\"][\\\"previous\\\"])\\n \n ","inputSchema":{"type":"object","title":"fetch_pagination_urlArguments","required":["url"],"properties":{"url":{"type":"string","title":"Url"}}},"outputSchema":{"type":"object","title":"fetch_pagination_urlOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ad_creative_by_id","description":"$3f","inputSchema":{"type":"object","title":"get_ad_creative_by_idArguments","required":["creative_id"],"properties":{"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"creative_id":{"type":"string","title":"Creative Id"},"thumbnail_width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Thumbnail Width","default":null},"thumbnail_height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Thumbnail Height","default":null}}},"outputSchema":{"type":"object","title":"get_ad_creative_by_idOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ad_creatives_by_ad_id","description":"$40","inputSchema":{"type":"object","title":"get_ad_creatives_by_ad_idArguments","required":["ad_id"],"properties":{"ad_id":{"type":"string","title":"Ad Id"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null}}},"outputSchema":{"type":"object","title":"get_ad_creatives_by_ad_idOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ad_by_id","description":"$41","inputSchema":{"type":"object","title":"get_ad_by_idArguments","required":["ad_id"],"properties":{"ad_id":{"type":"string","title":"Ad Id"},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null}}},"outputSchema":{"type":"object","title":"get_ad_by_idOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ads_by_adaccount","description":"$42","inputSchema":{"type":"object","title":"get_ads_by_adaccountArguments","properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"act_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Act Id","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"date_preset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Preset","default":null},"updated_since":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated Since","default":null},"effective_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Effective Status","default":null}}},"outputSchema":{"type":"object","title":"get_ads_by_adaccountOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ads_by_campaign","description":"$43","inputSchema":{"type":"object","title":"get_ads_by_campaignArguments","required":["campaign_id"],"properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"campaign_id":{"type":"string","title":"Campaign Id"},"effective_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Effective Status","default":null}}},"outputSchema":{"type":"object","title":"get_ads_by_campaignOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_ads_by_adset","description":"$44","inputSchema":{"type":"object","title":"get_ads_by_adsetArguments","required":["adset_id"],"properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"adset_id":{"type":"string","title":"Adset Id"},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null},"effective_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Effective Status","default":null}}},"outputSchema":{"type":"object","title":"get_ads_by_adsetOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_adset_by_id","description":"$45","inputSchema":{"type":"object","title":"get_adset_by_idArguments","required":["adset_id"],"properties":{"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"adset_id":{"type":"string","title":"Adset Id"}}},"outputSchema":{"type":"object","title":"get_adset_by_idOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_adsets_by_ids","description":"$46","inputSchema":{"type":"object","title":"get_adsets_by_idsArguments","required":["adset_ids"],"properties":{"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"adset_ids":{"type":"array","items":{"type":"string"},"title":"Adset Ids"},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null}}},"outputSchema":{"type":"object","title":"get_adsets_by_idsOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_adsets_by_adaccount","description":"$47","inputSchema":{"type":"object","title":"get_adsets_by_adaccountArguments","properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"act_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Act Id","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null},"date_preset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Preset","default":null},"updated_since":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated Since","default":null},"effective_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Effective Status","default":null}}},"outputSchema":{"type":"object","title":"get_adsets_by_adaccountOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_adsets_by_campaign","description":"$48","inputSchema":{"type":"object","title":"get_adsets_by_campaignArguments","required":["campaign_id"],"properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"campaign_id":{"type":"string","title":"Campaign Id"},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null},"effective_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Effective Status","default":null}}},"outputSchema":{"type":"object","title":"get_adsets_by_campaignOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_campaign_by_id","description":"$49","inputSchema":{"type":"object","title":"get_campaign_by_idArguments","required":["campaign_id"],"properties":{"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"campaign_id":{"type":"string","title":"Campaign Id"},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null}}},"outputSchema":{"type":"object","title":"get_campaign_by_idOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_campaigns_by_adaccount","description":"$4a","inputSchema":{"type":"object","title":"get_campaigns_by_adaccountArguments","properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":25},"act_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Act Id","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"filtering":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"title":"Filtering","default":null},"objective":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Objective","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null},"date_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Format","default":null},"date_preset":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date Preset","default":null},"is_completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Completed","default":null},"updated_since":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated Since","default":null},"include_drafts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Drafts","default":null},"effective_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Effective Status","default":null},"special_ad_categories":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Special Ad Categories","default":null},"buyer_guarantee_agreement_status":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Buyer Guarantee Agreement Status","default":null}}},"outputSchema":{"type":"object","title":"get_campaigns_by_adaccountOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_activities_by_adaccount","description":"$4b","inputSchema":{"type":"object","title":"get_activities_by_adaccountArguments","properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":null},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"act_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Act Id","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null}}},"outputSchema":{"type":"object","title":"get_activities_by_adaccountOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}},{"name":"get_activities_by_adset","description":"$4c","inputSchema":{"type":"object","title":"get_activities_by_adsetArguments","required":["adset_id"],"properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After","default":null},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit","default":null},"since":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since","default":null},"until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Until","default":null},"before":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before","default":null},"fields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Fields","default":null},"adset_id":{"type":"string","title":"Adset Id"},"time_range":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"type":"null"}],"title":"Time Range","default":null}}},"outputSchema":{"type":"object","title":"get_activities_by_adsetOutput","required":["result"],"properties":{"result":{"type":"object","title":"Result","additionalProperties":true}}}}],"prompts":[],"resources":[],"configSchema":{"$id":"/.well-known/mcp-config","type":"object","title":"MCP Session Configuration","$schema":"https://json-schema.org/draft/2020-12/schema","required":["fbToken"],"properties":{"fbToken":{"type":"string","description":"Facebook Access Token to be used with the server."}},"description":"Schema for the /mcp endpoint configuration","x-query-style":"dot+bracket"},"configAllowsEmpty":false,"useCount":883,"errorCount":84,"unavailableCount":84,"clientErrorCount":0,"serverErrorCount":0,"p95ResponseTimeMs":86058,"uptime":0.9048697621744054,"descriptionHtml":"\u003cp\u003eAnalyze performance across accounts, campaigns, ad sets, and ads with comprehensive insights. Retrieve account details, ads, ad sets, campaigns, and creatives in one place. Track changes with activity logs and streamline reporting over custom date ranges.\u003c/p\u003e\n"},"activeTab":"about"}]}],"$L4d","$L4e","$L4f","$L50"]}]}]}]}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-globe w-3 h-3 text-muted-foreground transition-colors group-hover:text-blue-500","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","13o1zl",{"d":"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["$","path","9i4pu4",{"d":"M2 12h20"}],"$undefined"]}],["$","span",null,{"children":"Remote"}]]}]}],["$","$L59",null,{"className":"bg-secondary/60 backdrop-blur-xl border border-border/50 rounded-xl text-secondary-foreground shadow-xl","side":"bottom","children":["$","p",null,{"children":"Runs remotely, no local installation needed"}]}]]}],["$","$L57","tools",{"delayDuration":300,"children":[["$","$L58",null,{"asChild":true,"children":["$","div",null,{"className":"group inline-flex items-center gap-1 px-2 py-1 rounded-full bg-muted text-xs font-medium text-muted-foreground select-none cursor-default","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-hammer w-3 h-3 text-muted-foreground transition-colors group-hover:text-orange-500 group-hover:fill-orange-500","aria-hidden":"true","children":[["$","path","eefl8a",{"d":"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9"}],["$","path","16gjal",{"d":"m18 15 4-4"}],["$","path","b7pghm",{"d":"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5"}],"$undefined"]}],["$","span",null,{"children":"21 tools"}]]}]}],["$","$L59",null,{"className":"bg-secondary/60 backdrop-blur-xl border border-border/50 rounded-xl text-secondary-foreground shadow-xl","side":"bottom","children":["$","p",null,{"children":"Provides 21 tools"}]}]]}],["$","$L57","open-source",{"delayDuration":300,"children":[["$","$L58",null,{"asChild":true,"children":["$","div",null,{"className":"group inline-flex items-center gap-1 px-2 py-1 rounded-full bg-muted text-xs font-medium text-muted-foreground select-none cursor-default","children":["$L5a","$L5b"]}]}],"$L5c"]}]]}]}]]}]}],"$L5d"]}],"$L5e","$L5f"]}]}]\n"]) Ads Data","iconUrl":"https://icons.duckduckgo.com/ip3/github.com.ico","className":"w-8 h-8 shrink-0","priority":true}],["$","div",null,{"className":"flex flex-col min-w-0 flex-1","children":[["$","h2",null,{"className":"text-lg font-semibold flex items-center gap-1.5 min-w-0","children":[["$","span",null,{"className":"truncate","children":"Facebook Ads Data"}],false]}],["$","div",null,{"className":"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-2 text-sm text-muted-foreground leading-tight","children":[["$","$L55",null,{"text":"@inventech-solution/facebook-ads-mcp-server","className":"hover:text-foreground","trackingEvent":"Qualified Name Copied","trackingProps":{"serverQualifiedName":"@inventech-solution/facebook-ads-mcp-server","source":"server-header-compact"},"children":"@inventech-solution/facebook-ads-mcp-server"}],[["$","span",null,{"className":"hidden sm:inline","children":"•"}],["$","span",null,{"children":["last deployed"," ","18 days ago"]}]]]}]]}]]}],["$","div",null,{"className":"relative my-4 h-px bg-linear-to-r from-border/70 to-transparent mt-6"}],false]}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-git-branch w-3 h-3 text-muted-foreground transition-colors group-hover:text-purple-500 group-hover:fill-purple-500","aria-hidden":"true","children":[["$","line","17qcm7",{"x1":"6","x2":"6","y1":"3","y2":"15"}],["$","circle","1h7g24",{"cx":"18","cy":"6","r":"3"}],["$","circle","fqmcym",{"cx":"6","cy":"18","r":"3"}],["$","path","n2h4wq",{"d":"M18 9a9 9 0 0 1-9 9"}],"$undefined"]}]\n5b:["$","span",null,{"children":"Open Source"}]\n5c:["$","$L59",null,{"className":"bg-secondary/60 backdrop-blur-xl border border-border/50 rounded-xl text-secondary-foreground shadow-xl","side":"bottom","children":["$","p",null,{"children":"Server has a public git repository"}]}]\n5d:["$","div",null,{"className":"mt-4 md:mt-0","children":["$","$L61",null,{"qualifiedName":"@inventech-solution/facebook-ads-mcp-server"}]}]\n5e:["$","div",null,{"className":"relative my-4 h-px bg-linear-to-r from-transparent to-transparent via-border/70"}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-5 w-5","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"About"]}],["$","$L62",null,{"description":"Analyze performance across accounts, campaigns, ad sets, and ads with comprehensive insights. Retrieve account details, ads, ad sets, campaigns, and creatives in one place. Track changes with activity logs and streamline reporting over custom date ranges.","descriptionHtml":"\u003cp\u003eAnalyze performance across accounts, campaigns, ad sets, and ads with comprehensive insights. Retrieve account details, ads, ad sets, campaigns, and creatives in one place. Track changes with activity logs and streamline reporting over custom date ranges.\u003c/p\u003e\n"}]]}],["$","$L63",null,{"tools":"$2e:props:children:props:children:props:children:props:children:0:props:children:props:server:tools","qualifiedName":"@inventech-solution/facebook-ads-mcp-server"}],["$","$L64",null,{"resources":"$2e:props:children:props:children:props:children:props:children:0:props:children:props:server:resources"}]]}],["$","div",null,{"className":"md:col-span-5","children":[["$","div",null,{"className":"mb-4","children":["$","div",null,{"className":"flex items-center justify-between mb-4","children":[["$","h2",null,{"className":"text-xl font-semibold flex items-center gap-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-link h-5 w-5","aria-hidden":"true","children":[["$","path","1cjeqo",{"d":"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["$","path","19qd67",{"d":"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}],"$undefined"]}],"Connect"]}],["$","$L65",null,{"server":"$2e:props:children:props:children:props:children:props:children:0:props:children:props:server"}]]}]}],["$","div",null,{"children":[["$","$b",null,{"children":["$","div",null,{"className":"space-y-4","children":["$","div",null,{"className":"space-y-4","children":[["$","div",null,{"className":"space-y-3","children":[["$","div",null,{"className":"flex items-center gap-2","children":[["$","div",null,{"className":"h-px bg-border/50 flex-1"}],["$","div",null,{"className":"flex items-center gap-1.5 px-3","children":[["$","h4",null,{"className":"text-sm font-medium text-muted-foreground/80","children":"Get connection URL"}],["$","$L56",null,{"delayDuration":100,"children":["$","$L57",null,{"children":[["$","$L58",null,{"asChild":true,"children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info w-3.5 h-3.5 text-muted-foreground/60 hover:text-muted-foreground","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}]}],["$","$L59",null,{"className":"bg-secondary/60 backdrop-blur-xl border border-border/50 rounded-xl text-secondary-foreground shadow-xl","children":["$","p",null,{"children":"Works with any streamable HTTP transport compatible client with OAuth support"}]}]]}]}]]}],["$","div",null,{"className":"h-px bg-border/50 flex-1"}]]}],["$","div",null,{"className":"mb-0","children":["$","div",null,{"className":"bg-card px-4 pt-4 pb-3 rounded-lg border border-border shadow-sm","children":[["$","$L66",null,{"content":"https://server.smithery.ai/@inventech-solution/facebook-ads-mcp-server/mcp"}],["$","div",null,{"className":"mt-2","children":["$","span",null,{"className":"text-[11px] text-muted-foreground/70","children":["Client doesn't support OAuth yet or link isn't working?"," ",["$","$L67",null,{"server":"$2e:props:children:props:children:props:children:props:children:0:props:children:props:server","fullUrl":"https://server.smithery.ai/@inventech-solution/facebook-ads-mcp-server/mcp","variant":"non-oauth-link"}]]}]}]]}]}]]}],false,["$","div",null,{"className":"space-y-3","children":["$L68","$L69"]}]]}]}]}],"$L6a","$L6b","$L6c"]}]]}]]}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-5 w-5","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}],"Details"]}]\n6b:["$","div",null,{"className":"border rounded-lg pt-0 pb-4 px-4","children":["$","$b",null,{"fallback":["$","div",null,{"className":"h-32 animate-pulse bg-muted rounded"}],"children":"$L6e"}]}]\n6c:["$","$b",null,{"children":["$","$L6f",null,{"server":"$2e:props:children:props:children:props:children:props:children:0:props:children:props:server"}]}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3.5 w-3.5 ml-1 text-muted-foreground","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}]}],["$","$L59",null,{"children":["$","p",null,{"className":"text-xs","children":"Measures MCP best practices, metadata completeness, and reliability."}]}]]}]}]]}],["$","div",null,{"className":"flex items-center text-sm text-foreground","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-award h-4 w-4 mr-1 text-green-500","aria-hidden":"true","children":[["$","path","1yiouv",{"d":"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"}],["$","circle","1vp47v",{"cx":"12","cy":"8","r":"6"}],"$undefined"]}],["$","span",null,{"className":"font-medium","children":[87,"/100"]}]]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-md font-medium text-muted-foreground mb-1","children":"Monthly Tool Calls"}],["$","div",null,{"className":"flex items-center text-sm text-foreground","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-activity h-3 w-3 mr-1","aria-hidden":"true","children":[["$","path","169zse",{"d":"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}],"$undefined"]}],["$","span",null,{"children":"883"}]]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-md font-medium text-muted-foreground mb-1","children":"Deployed from"}],["$","div",null,{"className":"flex items-center gap-2 text-sm text-foreground","children":[["$","a",null,{"href":"https://github.com/inventech-solution/facebook-ads-mcp-server/tree/main","target":"_blank","rel":"noopener noreferrer","className":"flex items-center hover:underline","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-git-branch h-3.5 w-3.5 mr-1","aria-hidden":"true","children":[["$","line","17qcm7",{"x1":"6","x2":"6","y1":"3","y2":"15"}],["$","circle","1h7g24",{"cx":"18","cy":"6","r":"3"}],["$","circle","fqmcym",{"cx":"6","cy":"18","r":"3"}],["$","path","n2h4wq",{"d":"M18 9a9 9 0 0 1-9 9"}],"$undefined"]}],["$","span",null,{"children":"main"}]]}],["$","a",null,{"href":"https://github.com/inventech-solution/facebook-ads-mcp-server/commit/41764dd18b36d08eb0b2fe7b22a48e523e0e8517","target":"_blank","rel":"noopener noreferrer","className":"flex items-center hover:underline","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-git-commit-horizontal h-3.5 w-3.5 mr-1","aria-hidden":"true","children":[["$","circle","1v7zrd",{"cx":"12","cy":"12","r":"3"}],["$","line","1dyftd",{"x1":"3","x2":"9","y1":"12","y2":"12"}],["$","line","oup4p8",{"x1":"15","x2":"21","y1":"12","y2":"12"}],"$undefined"]}],["$","span",null,{"children":"41764dd"}]]}]]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-md font-medium text-muted-foreground mb-1 flex items-center","children":["Uptime",["$","$L56",null,{"children":["$","$L57",null,{"children":[["$","$L58",null,{"children":["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3.5 w-3.5 ml-1 text-muted-foreground","aria-hidden":"true","children":["$L70","$L71","$L72","$undefined"]}]}],"$L73"]}]}]]}],"$L74"]}],"$L75",null,"$L76","$L77","$L78","$L79"]}]}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-info h-3.5 w-3.5 ml-1 text-muted-foreground","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","1dtifu",{"d":"M12 16v-4"}],["$","path","e9boi3",{"d":"M12 8h.01"}],"$undefined"]}]}],["$","$L59",null,{"children":["$","p",null,{"className":"text-xs","children":"95th percentile response time"}]}]]}]}]]}],["$","div",null,{"className":"flex items-center text-sm text-foreground","children":["$","span",null,{"children":["86.1s"," (P95)"]}]}]]}]\n"]) 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-globe w-4 h-4 mr-1","aria-hidden":"true","children":[["$","circle","1mglay",{"cx":"12","cy":"12","r":"10"}],["$","path","13o1zl",{"d":"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["$","path","9i4pu4",{"d":"M2 12h20"}],"$undefined"]}],"No"]}]]}]\n"]) noreferrer","className":"flex items-center text-sm text-foreground hover:text-primary max-w-full","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-github h-4 w-4 mr-1 shrink-0","aria-hidden":"true","children":[["$","path","tonef",{"d":"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}],["$","path","9comsn",{"d":"M9 18c-4.51 2-5-2-7-2"}],"$undefined"]}],["$","span",null,{"className":"truncate","children":"inventech-solution/facebook-ads-mcp-server"}]]}]]}]\n"]) noreferrer","className":"flex items-center text-sm text-foreground hover:text-primary","title":"https://github.com/inventech-solution/facebook-ads-mcp-server","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":24,"height":24,"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"lucide lucide-external-link h-4 w-4 mr-1 shrink-0","aria-hidden":"true","children":[["$","path","1q9fwt",{"d":"M15 3h6v6"}],["$","path","gplh6r",{"d":"M10 14 21 3"}],["$","path","a6xqqp",{"d":"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}],"$undefined"]}],["$","div",null,{"className":"max-w-[200px]","children":["$","span",null,{"className":"block truncate","children":"github.com/inventech-solution/facebook-ads-mcp-server"}]}]]}]]}]\n"])Quality Score
Monthly Tool Calls
Uptime
Latency
Local
NoPublished
10/18/2025Source Code
inventech-solution/facebook-ads-mcp-serverServer Config
{
"mcpServers": {
"facebook-ads-mcp-server": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@inventech-solution/facebook-ads-mcp-server",
"--key",
"6dce8044-3d00-45ff-a73a-ba245d41cd43",
"--profile",
"level-badger-f4gvFh"
]
}
}
}Recommend Servers
View AllWrite notes to Flomo
summarize chat message
高德地图官方 MCP Server
Playwright MCP server