Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MUZE_API_KEYYesYour mz_live_ API key
MUZE_BASE_URLNoOverride API URL (default: https://backend.muzecmo.com/api/v1)https://backend.muzecmo.com/api/v1
MUZE_DEFAULT_ACCOUNT_IDNoSkip get_my_accounts if you always use one Meta account
MUZE_DEFAULT_CUSTOMER_IDNoSkip get_my_accounts if you always use one Google account

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_my_accountsA

Get the user's connected Meta ad account IDs and Google Ads customer IDs. Call this first before any other tool — never ask the user for account IDs. If MUZE_DEFAULT_ACCOUNT_ID is set, this is skipped and defaults are returned. If multiple accounts exist, list them so the user can choose.

get_meta_performanceA

Get Meta Ads performance metrics (spend, impressions, clicks, CTR, CPC, ROAS, conversions). account_id comes from get_my_accounts. Dates in YYYY-MM-DD format; default = last 30 days.

get_google_performanceA

Get Google Ads performance metrics (spend, impressions, clicks, CTR, CPC, conversions, ROAS). customer_id comes from get_my_accounts. Dates in YYYY-MM-DD format; default = last 30 days.

list_campaignsA

List all campaigns for a Meta ad account with their IDs, names, status, and budget. account_id comes from get_my_accounts. Use campaign IDs from this response in analyze_campaign_ads.

analyze_campaign_adsB

Run AI analysis on all ads in a campaign. Returns performance scores and recommendations. campaign_id comes from list_campaigns. Dates in YYYY-MM-DD format.

analyze_single_adC

Run AI analysis on a single ad. Returns detailed analysis, performance score, and recommendations. Dates in YYYY-MM-DD format.

get_account_analysisA

Fetch the most recent stored AI analysis for all ads in an account. Fast — reads from the database without re-running analysis. Use this before analyze_account_ads.

analyze_account_adsA

Re-run a full AI analysis of ALL ads in the account. WARNING: This is expensive and takes 30-60 seconds. Individual ads must have been analyzed in the same date range first. Use get_account_analysis to fetch existing results instead. Only call with confirmed=True after the user explicitly requests a fresh re-analysis.

generate_ad_from_urlB

Generate an ad creative concept from a product URL. Only ask the user for product_url — all other params have smart defaults. Brand guidelines are resolved server-side.

list_productsA

List products in the user's account with internal IDs, names, URLs, and selling propositions. Call this before generate_ad_concepts to resolve product_id — never ask the user for IDs directly.

generate_ad_conceptsA

Generate multiple ad creative concepts for an existing product in the system. product_id must come from list_products — match the product name the user mentions, then pass the corresponding internal ID. Never ask the user to provide a product ID.

list_competitorsA

List all tracked competitor brands with their internal IDs. account_id comes from get_my_accounts. Use competitor IDs from this response for get_competitor_ads and scrape_competitor_ads.

get_competitor_adsA

Get scraped ads for a specific competitor including creative previews and copy. competitor_id must come from list_competitors — match by brand name, then use the internal ID.

scrape_competitor_adsA

Start an async scrape job to fetch fresh competitor ads. Returns a run_id (integer). Then call get_scrape_status with that run_id and poll every few seconds until status is 'completed', then call get_competitor_ads.

get_scrape_statusA

Poll the status of a competitor scrape job started by scrape_competitor_ads. Status values: 'pending', 'running', 'completed', 'failed'. Poll every few seconds until status is 'completed', then call get_competitor_ads.

pause_adA

Pause a live Meta ad. The ad will stop spending immediately. IMPORTANT: Only call with confirm=True after the user has explicitly confirmed they want to pause this specific ad. If confirm is False, return the confirmation message.

resume_adA

Resume a paused Meta ad. The ad will start spending again. IMPORTANT: Only call with confirm=True after the user has explicitly confirmed they want to resume this specific ad. If confirm is False, return the confirmation message.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/Agent-Prod/muze-mcp'

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