# Madgicx

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, a…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add madgicx/meta-ads-mcp

# Browse available tools
npx -y @smithery/cli@latest tool list madgicx/meta-ads-mcp

# Get full schema for a tool
npx -y @smithery/cli@latest tool get madgicx/meta-ads-mcp whoiam

# Call a tool
npx -y @smithery/cli@latest tool call madgicx/meta-ads-mcp whoiam '{}'
```

## Direct MCP Connection

Endpoint: `https://madgicx-meta-ads.run.tools`

## Tools (49)

- `whoiam` — Get the authenticated user's identity, team, plan permissions, and Facebook token status. Call this first to verify aut…
- `get_campaign` — Retrieve full configuration details for a single Facebook campaign by its ID, including objective, status, spending cap…
- `get_campaigns` — Retrieve configuration details for up to 50 Facebook campaigns in a single request by their IDs. More efficient than ca…
- `list_campaigns` — List all Facebook campaigns in an ad account with optional filtering by status, objective, or date range. Returns campa…
- `pause_campaign` — Pause a currently active Facebook campaign, stopping delivery of all its ad sets and ads simultaneously. Only applicabl…
- `start_campaign` — Activate an existing Facebook campaign by setting its status to ACTIVE. Use this tool when a paused campaign should res…
- `set_campaign_budget` — Set the exact budget value for an existing Facebook campaign in the ad account currency. Use this tool for campaign-lev…
- `increase_campaign_budget` — Increase the budget of an existing Facebook campaign by a positive delta. This tool does not set a final budget target;…
- `decrease_campaign_budget` — Decrease the budget of an existing Facebook campaign by a positive delta. This tool does not set a final budget target;…
- `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 nam…
- `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 beginn…
- `replace_text_in_campaign_name` — Replace one substring with another inside a Facebook campaign name. Use this tool when you need a targeted rename opera…
- `get_adset` — Retrieve full configuration details for a single Facebook ad set, including audience targeting, daily or lifetime budge…
- `get_adsets` — Retrieve configuration details for up to 50 Facebook ad sets in a single request by their IDs. More efficient than call…
- `list_adsets_by_account` — List all Facebook ad sets in an ad account with optional filtering by status, date range, or custom conditions. Returns…
- `list_adsets_by_campaign` — List all Facebook ad sets within a specific campaign. Returns targeting, budget, and bidding configuration for each ad …
- `pause_adset` — Pause a currently active Facebook ad set, stopping delivery of all ads within it. Only applicable to ad sets with ACTIV…
- `get_adset_activities` — Retrieve activity for a specific Facebook ad set. This tool queries the parent ad account activity log and filters it t…
- `start_adset` — Activate an existing Facebook ad set by setting its status to ACTIVE. Use this tool to resume delivery for an ad set th…
- `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 b…
- `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; i…
- `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; i…
- `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…
- `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 b…
- `increase_adset_spending_limit` — Increase the spending limits of an existing Facebook ad set by delta amounts. This tool does not set final target limit…
- `decrease_adset_spending_limit` — Decrease the spending limits of an existing Facebook ad set by delta amounts. This tool does not set final target limit…
- `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, n…
- `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 beginnin…
- `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 operati…
- `get_ad` — Retrieve full configuration details for a single Facebook ad by its ID, including status, creative, bidding, and target…
- `get_ads` — Retrieve configuration details for up to 50 Facebook ads in a single request by their IDs. More efficient than calling …
- `list_ads_by_account` — List all Facebook ads belonging to an ad account. Supports filtering by effective status, date range, and custom field …
- `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 …
- `list_ads_by_adset` — List all Facebook ads within a specific ad set. Returns ad configuration data including creative, status, and bidding. …
- `pause_ad` — Pause a currently active Facebook ad to stop delivery immediately without deleting it. Only applicable to ads with ACTI…
- `start_ad` — Activate an existing Facebook ad by setting its delivery status to ACTIVE. Use this tool when an ad already exists and …
- `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 …
- `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, e…
- `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, …
- `get_campaign_insights` — Retrieve aggregated performance metrics for a Facebook campaign, combining data from all its ad sets and ads. Includes …
- `get_adset_insights` — Retrieve performance metrics for a specific Facebook ad set, including spend, reach, impressions, and conversions. Aggr…
- `get_ad_insights` — Retrieve performance metrics for a specific Facebook ad, including spend, impressions, clicks, CTR, CPM, and ROAS. Supp…
- `get_ad_account_insights` — Retrieve aggregated performance metrics across all campaigns for a Facebook ad account over a specified date range. Sup…
- `list_ad_accounts` — List all Facebook ad accounts accessible to the authenticated user. Returns each account's ID, name, status, and curren…
- `get_ad_account` — Retrieve comprehensive details for a Facebook ad account, including its current status (ACTIVE, DISABLED, etc.), curren…
- `get_ad_account_activities` — Retrieve the Facebook ad account activity log. Use this tool to answer questions like what changed, when it changed, an…
- `get_creative` — Retrieve full configuration details for a single Facebook ad creative by its ID, including all media assets, text eleme…
- `get_creatives` — Retrieve configuration details for up to 50 Facebook ad creatives in a single batch request. Uses Facebook's multi-ID l…
- `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 ob…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get madgicx/meta-ads-mcp <tool-name>
```
