Madgicx
Connect directly to your Madgicx account and manage your Meta Ads through plain-English conversations.
От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение
Что умеет
- Whoiam: Get the authenticated user's identity, team, plan permissions, and Facebook token status. Call this first to verify authentication and get context.
- Get Campaign: Retrieve full configuration details for a single Facebook campaign by its ID, including objective, status, spending cap, and bid strategy. Use get_by_ids for multiple campaigns.
- Get Campaigns: Retrieve configuration details for up to 50 Facebook campaigns in a single request by their IDs. More efficient than calling get_by_id for each campaign individually.
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
Connect directly to your Madgicx account and manage your Meta Ads through plain-English conversations. Read campaign performance, analyze creative health, pause underperforming ads, adjust budgets, and bulk rename campaigns — all from a single chat interface. Unlike browser automation tools that risk violating Meta's policies, Madgicx MCP connects through a direct, secured API. As Meta's largest SMB and eCommerce partner, with visibility into $10B+ in annual ad spend, Madgicx brings that data advantage into every conversation.
Список инструментов сервера (49)
Технические названия из tools/list. Нужны только разработчикам.
| whoiam | Get the authenticated user's identity, team, plan permissions, and Facebook token status. Call this first to verify authentication and get context. |
| get_campaign | Retrieve full configuration details for a single Facebook campaign by its ID, including objective, status, spending cap, and bid strategy. Use get_by_ids for multiple campaigns. |
| get_campaigns | Retrieve configuration details for up to 50 Facebook campaigns in a single request by their IDs. More efficient than calling get_by_id for each campaign individually. |
| list_campaigns | List all Facebook campaigns in an ad account with optional filtering by status, objective, or date range. Returns campaign-level configuration including objective, buying type, and budget settings. |
| pause_campaign | Pause a currently active Facebook campaign, stopping delivery of all its ad sets and ads simultaneously. Only applicable to campaigns with ACTIVE status. Can be reactivated without recreating the campaign structure. |
| start_campaign | Activate an existing Facebook campaign by setting its status to ACTIVE. Use this tool when a paused campaign should resume delivery without changing its objective, budget strategy, or structure. Provide the ad account ID and the target entity ID. This is a write operation that updates Facebook delivery state and may return a provider error if the campaign is already ACTIVE or cannot be started because of account or policy restrictions. |
| set_campaign_budget | Set the exact budget value for an existing Facebook campaign in the ad account currency. Use this tool for campaign-level budgets, which are typically used in CBO (Campaign Budget Optimization). Provide account_id, entity_id, the final target budget value, and optionally apply_to. The value is the resulting budget amount, not a delta or percentage. This tool preserves the campaign's current budget type (daily or lifetime) and does not change campaign status, targeting, creative, or structure. If a campaign has both daily_budget and lifetime_budget unset, it is commonly an ABO setup with budgets managed at the ad set level, so this campaign-level tool may be inappropriate or rejected by the provider. entity_id must be numeric. value must be at least 0.01. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the campaign must already be ACTIVE. The backend also validates that the entity_id belongs to a campaign. The response contains the updated campaign entity only. Provider errors can occur if the campaign budget configuration is unsupported or cannot be updated through this path. |
| increase_campaign_budget | Increase the budget of an existing Facebook campaign by a positive delta. This tool does not set a final budget target; it only adds to the current campaign budget. Use it when the user wants to raise budget by a percentage or by a concrete increase amount. The value is interpreted through measuring_unit, which must be one of '%', 'currency', or 'fb_representation'. value must match the selected measuring_unit and must be at least 0.01. Provide account_id, entity_id, value, measuring_unit, and optionally apply_to. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the campaign must already be ACTIVE. entity_id must be numeric and the backend validates that it belongs to a campaign. This tool is for campaign-level budgets and is primarily relevant to CBO setups. If campaign-level budget is absent, the campaign is often ABO and this tool may be inappropriate or rejected. If the user's true intent is to reach an exact final budget, the increase amount must be computed first as target minus current budget. The tool does not change status, targeting, creative, or campaign structure. The response contains only the updated campaign entity. Provider errors can occur for unsupported budget setups, including cases where campaign budget is not directly editable. |
| decrease_campaign_budget | Decrease the budget of an existing Facebook campaign by a positive delta. This tool does not set a final budget target; it only subtracts from the current campaign budget. Use it when the user wants to reduce budget by a percentage or by a concrete decrease amount. The value is interpreted through measuring_unit, which must be one of '%', 'currency', or 'fb_representation'. value must match the selected measuring_unit and must be at least 0.01. Provide account_id, entity_id, value, measuring_unit, and optionally apply_to. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the campaign must already be ACTIVE. entity_id must be numeric and the backend validates that it belongs to a campaign. This tool is for campaign-level budgets and is primarily relevant to CBO setups. If campaign-level budget is absent, the campaign is often ABO and this tool may be inappropriate or rejected. If the user's true intent is to reach an exact final budget, the decrease amount must be computed first as current budget minus target. The tool does not change status, targeting, creative, or campaign structure. The response contains only the updated campaign entity. Provider errors can occur for unsupported budget setups, including cases where campaign budget is not directly editable or cannot be reduced through this path. |
| add_text_to_campaign_name | Add text to a Facebook campaign name. Use this tool when you need to prepend or append text to an existing campaign name, not when you need to remove or replace existing text. Provide account_id, entity_id, text, and optionally position and separator. This tool works only for campaigns. entity_id must be numeric. text must be non-empty after trimming and must be 1-100 characters long. position must be either 'prefix' or 'suffix'. separator is optional text placed between the inserted text and the original name and can be at most 5 characters long. The backend validates that entity_id belongs to a campaign. The tool changes only the campaign name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated campaign entity. |
| remove_text_from_campaign_name | Remove specific text from a Facebook campaign name. Use this tool when you need to delete existing text from the beginning, end, or any position in the name, not when you need to prepend new text or replace one substring with another. Provide account_id, entity_id, text, and optionally position and case_sensitive. This tool works only for campaigns. entity_id must be numeric. text must be non-empty after trimming and must be 1-100 characters long. position must be 'prefix', 'suffix', or 'anywhere'. case_sensitive controls whether matching must respect character case. The backend validates that entity_id belongs to a campaign. The tool changes only the campaign name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated campaign entity. |
| replace_text_in_campaign_name | Replace one substring with another inside a Facebook campaign name. Use this tool when you need a targeted rename operation, not when you only need to prepend, append, or remove text. Provide account_id, entity_id, text_name_from, and text_name_to. This tool works only for campaigns. entity_id must be numeric. text_name_from and text_name_to must both be non-blank. The backend validates that entity_id belongs to a campaign. The tool changes only the campaign name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated campaign entity. |
| get_adset | Retrieve full configuration details for a single Facebook ad set, including audience targeting, daily or lifetime budget, bid strategy, optimization goal, and schedule. Use get_by_ids for multiple ad sets. |
| get_adsets | Retrieve configuration details for up to 50 Facebook ad sets in a single request by their IDs. More efficient than calling get_by_id for each ad set individually. |
| list_adsets_by_account | List all Facebook ad sets in an ad account with optional filtering by status, date range, or custom conditions. Returns ad set configuration including targeting, budgets, and optimization settings. |
| list_adsets_by_campaign | List all Facebook ad sets within a specific campaign. Returns targeting, budget, and bidding configuration for each ad set. Use get_insights for performance data instead of configuration. |
| pause_adset | Pause a currently active Facebook ad set, stopping delivery of all ads within it. Only applicable to ad sets with ACTIVE status. Ads within the ad set are also paused. The ad set can be reactivated later. |
| get_adset_activities | Retrieve activity for a specific Facebook ad set. This tool queries the parent ad account activity log and filters it to the requested ad set, so use it to answer questions like what happened to this ad set, when it happened, and who triggered it. Prefer event_time as the true action timestamp. Each activity item may include event_type, translated_event_type, actor_name, object_id, object_name, and extra_data. An empty data array means no matching ad set activities were found for the provided filters. |
| start_adset | Activate an existing Facebook ad set by setting its status to ACTIVE. Use this tool to resume delivery for an ad set that already has its budget, schedule, and targeting configured. Provide the ad account ID and the target entity ID. This is a write operation that updates state in Facebook and may return a provider error if the ad set is already ACTIVE or blocked by campaign-level delivery constraints. |
| set_adset_budget | Set the exact budget value for an existing Facebook ad set in the ad account currency. Use this tool for ad set-level budgets, which are typically used in ABO (Ad Set Budget Optimization). Provide account_id, entity_id, the final target budget value, and optionally apply_to. The value is the resulting budget amount, not a delta or percentage. This tool preserves the ad set's current budget type (daily or lifetime) and does not change status, targeting, creative, or bidding strategy. In CBO campaigns, ad sets often do not own their own budgets, so attempts to set an ad set budget can be invalid or rejected by the provider. entity_id must be numeric. value must be at least 0.01. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. The backend also validates that the entity_id belongs to an ad set. The response contains the updated ad set entity only. Provider errors can occur if the ad set does not have a directly editable budget or if the current budget configuration is unsupported. |
| increase_adset_budget | Increase the budget of an existing Facebook ad set by a positive delta. This tool does not set a final budget target; it only adds to the current ad set budget. Use it when the user wants to raise budget by a percentage or by a concrete increase amount. The value is interpreted through measuring_unit, which must be one of '%', 'currency', or 'fb_representation'. value must match the selected measuring_unit and must be at least 0.01. Provide account_id, entity_id, value, measuring_unit, and optionally apply_to. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. entity_id must be numeric and the backend validates that it belongs to an ad set. This tool is for ad set-level budgets and is primarily relevant to ABO setups. In CBO campaigns, an ad set may not own its own budget, so this tool can be inappropriate or rejected. If the user's true intent is to reach an exact final budget, the increase amount must be computed first as target minus current budget. The tool does not change status, targeting, creative, or ad set structure. The response contains only the updated ad set entity. Provider errors can occur when the ad set budget is not directly editable or the current budget configuration is unsupported. |
| decrease_adset_budget | Decrease the budget of an existing Facebook ad set by a positive delta. This tool does not set a final budget target; it only subtracts from the current ad set budget. Use it when the user wants to reduce budget by a percentage or by a concrete decrease amount. The value is interpreted through measuring_unit, which must be one of '%', 'currency', or 'fb_representation'. value must match the selected measuring_unit and must be at least 0.01. Provide account_id, entity_id, value, measuring_unit, and optionally apply_to. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. entity_id must be numeric and the backend validates that it belongs to an ad set. This tool is for ad set-level budgets and is primarily relevant to ABO setups. In CBO campaigns, an ad set may not own its own budget, so this tool can be inappropriate or rejected. If the user's true intent is to reach an exact final budget, the decrease amount must be computed first as current budget minus target. The tool does not change status, targeting, creative, or ad set structure. The response contains only the updated ad set entity. Provider errors can occur when the ad set budget is not directly editable or the current budget configuration is unsupported. |
| set_adset_bid | Set an exact bid value for an existing Facebook ad set. Use this tool when you want to set the target bid directly, not adjust it by a delta. Provide account_id, entity_id, value, and optionally apply_to. This tool works only for ad sets. value is the final bid in account currency and must be at least 0.01. entity_id must be numeric. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. The backend validates that the entity_id belongs to an ad set. The tool does not change budget, bid strategy, targeting, creatives, status, or ad set structure. Manual bidding configuration is typically required; if the current ad set bid strategy does not support direct bid updates, the provider may reject the request. The response contains only the updated ad set entity. |
| decrease_adset_bid | Decrease the bid of an existing Facebook ad set by a positive delta. Use this tool when you want to lower the current bid by a percentage, currency amount, or Facebook bid representation, not when you want to set an exact final bid directly. Provide account_id, entity_id, value, measuring_unit, and optionally apply_to. This tool works only for ad sets. measuring_unit must be one of '%', 'currency', or 'fb_representation'. value must be at least 0.01. If you need an exact final bid target, first calculate the difference between the current bid and the target bid, then pass that delta here. entity_id must be numeric. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. The backend validates that the entity_id belongs to an ad set. The tool does not change bid strategy, budget, targeting, creatives, status, or ad set structure. The provider may reject the request if the current ad set bid configuration does not support bid decreases through this path. The response contains only the updated ad set entity. |
| increase_adset_spending_limit | Increase the spending limits of an existing Facebook ad set by delta amounts. This tool does not set final target limits; it adds to the current minimum and maximum spending limits. Provide account_id, entity_id, minimum_value, maximum_value, measuring_unit, and optionally apply_to. measuring_unit must be one of '%', 'currency', or 'fb_representation'. minimum_value and maximum_value cannot be negative and must match the chosen measuring_unit. If the user's real intent is to reach exact final limits, compute the difference from the current limits first. entity_id must be numeric. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. The backend validates that the entity_id belongs to an ad set. The tool does not change targeting, creatives, status, or ad set structure. The response contains only the updated ad set entity. |
| decrease_adset_spending_limit | Decrease the spending limits of an existing Facebook ad set by delta amounts. This tool does not set final target limits; it subtracts from the current minimum and maximum spending limits. Provide account_id, entity_id, minimum_decrease, maximum_decrease, measuring_unit, and optionally apply_to. measuring_unit must be one of '%', 'currency', or 'fb_representation'. minimum_decrease and maximum_decrease must each be at least 0.01 and must match the chosen measuring_unit. If the user's real intent is to reach exact final limits, compute the difference from the current limits first. entity_id must be numeric. apply_to supports only 'all' or 'active_only'; when 'active_only' is used, the ad set must already be ACTIVE. The backend validates that the entity_id belongs to an ad set. The tool does not change targeting, creatives, status, or ad set structure. The response contains only the updated ad set entity. |
| add_text_to_adset_name | Add text to a Facebook ad set name. Use this tool when you need to prepend or append text to an existing ad set name, not when you need to remove or replace existing text. Provide account_id, entity_id, text, and optionally position and separator. This tool works only for ad sets. entity_id must be numeric. text must be non-empty after trimming and must be 1-100 characters long. position must be either 'prefix' or 'suffix'. separator is optional text placed between the inserted text and the original name and can be at most 5 characters long. The backend validates that entity_id belongs to an ad set. The tool changes only the ad set name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated ad set entity. |
| remove_text_from_adset_name | Remove specific text from a Facebook ad set name. Use this tool when you need to delete existing text from the beginning, end, or any position in the name, not when you need to prepend new text or replace one substring with another. Provide account_id, entity_id, text, and optionally position and case_sensitive. This tool works only for ad sets. entity_id must be numeric. text must be non-empty after trimming and must be 1-100 characters long. position must be 'prefix', 'suffix', or 'anywhere'. case_sensitive controls whether matching must respect character case. The backend validates that entity_id belongs to an ad set. The tool changes only the ad set name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated ad set entity. |
| replace_text_in_adset_name | Replace one substring with another inside a Facebook ad set name. Use this tool when you need a targeted rename operation, not when you only need to prepend, append, or remove text. Provide account_id, entity_id, text_name_from, and text_name_to. This tool works only for ad sets. entity_id must be numeric. text_name_from and text_name_to must both be non-blank. The backend validates that entity_id belongs to an ad set. The tool changes only the ad set name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated ad set entity. |
| get_ad | Retrieve full configuration details for a single Facebook ad by its ID, including status, creative, bidding, and targeting inherited from its parent ad set. Use get_by_ids to fetch multiple ads at once. |
| get_ads | Retrieve configuration details for up to 50 Facebook ads in a single request by their IDs. More efficient than calling get_by_id for each ad individually. |
| list_ads_by_account | List all Facebook ads belonging to an ad account. Supports filtering by effective status, date range, and custom field conditions. Use get_by_adset or get_by_campaign when you need ads from a specific parent entity. |
| list_ads_by_campaign | List all Facebook ads across all ad sets within a specific campaign. Useful for getting a complete view of ads under a campaign without querying each ad set separately. |
| list_ads_by_adset | List all Facebook ads within a specific ad set. Returns ad configuration data including creative, status, and bidding. Use get_insights if you need performance metrics instead of configuration. |
| pause_ad | Pause a currently active Facebook ad to stop delivery immediately without deleting it. Only applicable to ads with ACTIVE status. The ad can be reactivated later. Use delete only if the ad is no longer needed. |
| start_ad | Activate an existing Facebook ad by setting its delivery status to ACTIVE. Use this tool when an ad already exists and should resume serving without changing its creative, budget, or targeting. Provide the ad account ID and the target entity ID. This is a write operation that changes delivery state in Facebook and may return a provider error if the ad is already ACTIVE or cannot be started because of parent campaign or ad set constraints. |
| add_text_to_ad_name | Add text to a Facebook ad name. Use this tool when you need to prepend or append text to an existing ad name, not when you need to remove or replace existing text. Provide account_id, entity_id, text, and optionally position and separator. This tool works only for ads. entity_id must be numeric. text must be non-empty after trimming and must be 1-100 characters long. position must be either 'prefix' or 'suffix'. separator is optional text placed between the inserted text and the original name and can be at most 5 characters long. The backend validates that entity_id belongs to an ad. The tool changes only the ad name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated ad entity. |
| remove_text_from_ad_name | Remove specific text from a Facebook ad name. Use this tool when you need to delete existing text from the beginning, end, or any position in the name, not when you need to prepend new text or replace one substring with another. Provide account_id, entity_id, text, and optionally position and case_sensitive. This tool works only for ads. entity_id must be numeric. text must be non-empty after trimming and must be 1-100 characters long. position must be 'prefix', 'suffix', or 'anywhere'. case_sensitive controls whether matching must respect character case. The backend validates that entity_id belongs to an ad. The tool changes only the ad name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated ad entity. |
| replace_text_in_ad_name | Replace one substring with another inside a Facebook ad name. Use this tool when you need a targeted rename operation, not when you only need to prepend, append, or remove text. Provide account_id, entity_id, text_name_from, and text_name_to. This tool works only for ads. entity_id must be numeric. text_name_from and text_name_to must both be non-blank. The backend validates that entity_id belongs to an ad. The tool changes only the ad name and does not modify budget, status, targeting, creatives, or structure. The response contains only the updated ad entity. |
| get_campaign_insights | Retrieve aggregated performance metrics for a Facebook campaign, combining data from all its ad sets and ads. Includes spend, ROAS, reach, impressions, and conversions. Supports time breakdowns and date presets. |
| get_adset_insights | Retrieve performance metrics for a specific Facebook ad set, including spend, reach, impressions, and conversions. Aggregates data from all ads within the ad set. Supports breakdowns and date presets. |
| get_ad_insights | Retrieve performance metrics for a specific Facebook ad, including spend, impressions, clicks, CTR, CPM, and ROAS. Supports breakdown dimensions (age, gender, placement) and custom date ranges or presets like last_7d. |
| get_ad_account_insights | Retrieve aggregated performance metrics across all campaigns for a Facebook ad account over a specified date range. Supports level parameter (account, campaign, adset, ad) and breakdown dimensions for granular analysis. |
| list_ad_accounts | List all Facebook ad accounts accessible to the authenticated user. Returns each account's ID, name, status, and currency. Use this tool first to discover available accounts before making account-specific API calls. |
| get_ad_account | Retrieve comprehensive details for a Facebook ad account, including its current status (ACTIVE, DISABLED, etc.), currency, timezone, billing information, spending limits, and business ownership. Useful for account health checks. |
| get_ad_account_activities | Retrieve the Facebook ad account activity log. Use this tool to answer questions like what changed, when it changed, and who performed the action. Prefer event_time as the actual action timestamp. Each activity item may include event_type, translated_event_type, actor_name, object_id, object_name, and extra_data. Use time_range to narrow the search when looking for recent events. An empty data array means no matching activities were returned for the requested account and filters. |
| get_creative | Retrieve full configuration details for a single Facebook ad creative by its ID, including all media assets, text elements, call-to-action, and tracking parameters. Use get_by_ids for multiple creatives. |
| get_creatives | Retrieve configuration details for up to 50 Facebook ad creatives in a single batch request. Uses Facebook's multi-ID lookup endpoint, which is more efficient than individual requests. |
| list_creatives_by_ad | Retrieve the ad creative linked to a specific Facebook ad. Provide account_id and ad_id to fetch the single creative object attached to that ad, including media asset references and copy fields when available. |