Skip to main content
Glama
gudlab

ads-mcp

by gudlab

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
META_APP_IDYesMeta App ID from the Meta developer app.
META_APP_SECRETYesMeta App Secret from the Meta developer app.
META_ACCESS_TOKENYesLong-lived Meta System User access token with ads_management scope.
META_AD_ACCOUNT_IDYesNumeric Meta ad account ID (the client adds the act_ prefix).
GOOGLE_ADS_CLIENT_IDYesGoogle Cloud OAuth client ID (from a Desktop app OAuth client).
GOOGLE_ADS_CUSTOMER_IDYes10-digit Google Ads customer ID (no dashes).
GOOGLE_ADS_CLIENT_SECRETYesGoogle Cloud OAuth client secret (from a Desktop app OAuth client).
GOOGLE_ADS_REFRESH_TOKENYesGoogle Ads refresh token, generated by running the local OAuth flow.
GOOGLE_ADS_DEVELOPER_TOKENYesGoogle Ads API developer token, obtained from the Google Ads API Center.
GOOGLE_ADS_LOGIN_CUSTOMER_IDNoOptional MCC customer ID, only needed if the account is managed under an MCC account.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
google_ads_list_campaignsB

List campaigns with status and budget

google_ads_get_campaign_structureB

Get a campaign's ad groups, keywords, ads, and negatives

google_ads_create_search_campaignB

Create a new Search campaign with ad groups, keywords and RSAs. Always created PAUSED.

google_ads_add_keywordsC

Add keywords to an existing ad group

google_ads_set_keyword_statusB

Pause or enable keywords (reversible)

google_ads_remove_keywordsB

Permanently remove keywords. Requires confirm_delete: true.

google_ads_update_bid_strategyC

Change a campaign's bidding strategy

google_ads_add_negative_keywordsC

Add campaign-level negative keywords

google_ads_set_campaign_statusA

Enable or pause a campaign. The only tool that can turn spend on.

meta_ads_list_campaignsB

List Meta campaigns with status and budget

meta_ads_get_ad_statusB

Get an ad's review status and rejection reason if any

meta_ads_list_ads_by_statusA

List ads in an account filtered by effective_status (e.g. DISAPPROVED)

meta_ads_set_campaign_statusA

Enable or pause a Meta campaign. The only tool that can turn spend on.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 13 tools

Disambiguation5/5

Every tool targets a distinct platform-resource-action combination, with clear google_ads_ vs meta_ads_ prefixes separating the two domains. Even the two set_campaign_status tools are disambiguated by the platform prefix and description.

Naming Consistency5/5

Tool names consistently follow a {platform}_{verb}_{object} pattern in snake_case. Verbs like get, list, create, add, set, remove, update are applied uniformly, making the naming predictable across both platforms.

Tool Count5/5

13 tools is a reasonable scope for an ads management server covering two platforms. The count is neither bloated nor thin, and each tool covers a distinct operation.

Completeness2/5

The Google Ads side is fairly complete with campaign creation, keyword management, bid strategy updates, and status controls. However, the Meta Ads side lacks any create or edit operations beyond status changes, making the surface significantly incomplete for managing Meta campaigns.

Maintenance

ActivityMaintained
ResponsivenessNo issues