{"name":"io.github.gudlab/ads-mcp","slug":"gudlab-ads-mcp","title":null,"description":"MCP server for Google Ads and Meta Ads. Wraps both APIs directly to manage campaigns.","url":"https://mcp.market/server/gudlab-ads-mcp","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":15,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-22T17:15:21.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/gudlab/ads-mcp","website":null,"version":"0.1.1","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@gudlab/ads-mcp","version":"0.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"OAuth client ID from Google Cloud Console","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_CLIENT_ID"},{"description":"OAuth client secret from Google Cloud Console","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_CLIENT_SECRET"},{"description":"Developer token from Google Ads API Center","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_DEVELOPER_TOKEN"},{"description":"Refresh token minted via `pnpm google:auth`","isRequired":true,"isSecret":true,"name":"GOOGLE_ADS_REFRESH_TOKEN"},{"description":"Default Google Ads account ID, 10 digits, no dashes","isRequired":true,"name":"GOOGLE_ADS_CUSTOMER_ID"},{"description":"MCC account ID, only if the customer account is managed under one","name":"GOOGLE_ADS_LOGIN_CUSTOMER_ID"},{"description":"Meta App ID from developers.facebook.com","isRequired":true,"name":"META_APP_ID"},{"description":"Meta App secret","isRequired":true,"isSecret":true,"name":"META_APP_SECRET"},{"description":"Long-lived System User access token with ads_management scope","isRequired":true,"isSecret":true,"name":"META_ACCESS_TOKEN"},{"description":"Default Meta ad account ID, numeric, no act_ prefix","isRequired":true,"name":"META_AD_ACCOUNT_ID"}]}],"tools":[{"name":"google_ads_add_keywords","description":"Add keywords to an existing ad group","write_action":false,"price_micros":0,"input_schema":null},{"name":"google_ads_add_negative_keywords","description":"Add campaign-level negative keywords","write_action":false,"price_micros":0,"input_schema":null},{"name":"google_ads_create_search_campaign","description":"Create a new Search campaign with ad groups, keywords and RSAs. Always created PAUSED.","write_action":true,"price_micros":0,"input_schema":null},{"name":"google_ads_get_campaign_structure","description":"Get a campaign's ad groups, keywords, ads, and negatives","write_action":false,"price_micros":0,"input_schema":null},{"name":"google_ads_list_campaigns","description":"List campaigns with status and budget","write_action":false,"price_micros":0,"input_schema":null},{"name":"google_ads_remove_keywords","description":"Permanently remove keywords. Requires confirm_delete: true.","write_action":true,"price_micros":0,"input_schema":null},{"name":"google_ads_set_campaign_status","description":"Enable or pause a campaign. The only tool that can turn spend on.","write_action":false,"price_micros":0,"input_schema":null},{"name":"google_ads_set_keyword_status","description":"Pause or enable keywords (reversible)","write_action":false,"price_micros":0,"input_schema":null},{"name":"google_ads_update_bid_strategy","description":"Change a campaign's bidding strategy","write_action":true,"price_micros":0,"input_schema":null},{"name":"meta_ads_get_ad_status","description":"Get an ad's review status and rejection reason if any","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_ads_list_ads_by_status","description":"List ads in an account filtered by effective_status (e.g. DISAPPROVED)","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_ads_list_campaigns","description":"List Meta campaigns with status and budget","write_action":false,"price_micros":0,"input_schema":null},{"name":"meta_ads_set_campaign_status","description":"Enable or pause a Meta campaign. The only tool that can turn spend on.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-22T21:27:28.622Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-22T21:27:28.588Z","components":{"code":{"score":25,"max":25,"notes":["6 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@gudlab/ads-mcp","version":"0.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-22T17:20:10.384Z","repositoryUrl":"git+https://github.com/gudlab/ads-mcp.git"}],"repo":{"found":true,"owner":"gudlab","repo":"ads-mcp","archived":false,"pushedAt":"2026-09-22T17:15:21Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/262693379?v=4","ownerCreatedAt":"2026-02-19T23:57:17Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-22T17:15:21.000Z","score":15}}}},"grade_history":[],"reviews":[]}