Skip to main content
Glama
EfrainTorres

ArmaVita Meta Ads MCP

create_ad

Create and configure Meta ads by specifying ad account, name, ad set, creative, and settings like bid amount and tracking specifications.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ad_account_idYes
nameYes
ad_set_idYes
ad_creative_idYes
statusNoPAUSED
bid_amountNo
tracking_specsNo
meta_access_tokenNo

Implementation Reference

  • The 'create_ad' tool is implemented as an async function in 'src/armavita_meta_ads_mcp/core/ad_tools.py'. It takes several arguments like 'ad_account_id', 'name', 'ad_set_id', and 'ad_creative_id', validates them, constructs a payload, and sends a POST request to the Meta Graph API to create the ad.
    async def create_ad(
        ad_account_id: str,
        name: str,
        ad_set_id: str,
        ad_creative_id: str,
        status: str = "PAUSED",
        bid_amount: Optional[int] = None,
        tracking_specs: Optional[List[Dict[str, Any]]] = None,
        meta_access_token: Optional[str] = None,
    ) -> str:
        if not ad_account_id:
            return _json({"error": "No account ID provided"})
        if not name:
            return _json({"error": "No ad name provided"})
        if not ad_set_id:
            return _json({"error": "No ad set ID provided"})
        if not ad_creative_id:
            return _json({"error": "No creative ID provided"})
    
        payload: Dict[str, Any] = {
            "name": name,
            "ad_set_id": ad_set_id,
            "creative": {"ad_creative_id": ad_creative_id},
            "status": status,
        }
        if bid_amount is not None:
            payload["bid_amount"] = str(bid_amount)
    
        encoded_tracking = _build_tracking_specs(tracking_specs)
        if encoded_tracking is not None:
            payload["tracking_specs"] = encoded_tracking
    
        result = await make_api_request(f"{ad_account_id}/ads", meta_access_token, payload, method="POST")
        return _json(result)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EfrainTorres/armavita-meta-ads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server