Opus Growth | Ad Operations for Google, Meta, Microsoft, TikTok and LinkedIn Ads
Opus Growth turns Claude and ChatGPT into a full ad operator across Google Ads, Meta Ads, Microsoft Advertising, TikTok Ads and LinkedIn Ads, plus GA4, Search…
What it can do
- Get Billing Status: Shows your current plan, remaining monthly operation quota, trial dates, and payment links.
- Connect Google Ads: Generates a one-time authorization link to connect a Google Ads account. Once the user clicks the link and approves with Google, the refresh token is stored encrypted.
- Create Trial Site: Creates a FREE trial website on a xxx.kriptap.com subdomain — no plan or payment needed. You get your own isolated server; then just tell me what website you want and I'll build the
What data it sees
Do you need an account
No: the server works without sign-in
Opus Growth turns Claude and ChatGPT into a full ad operator across Google Ads, Meta Ads, Microsoft Advertising, TikTok Ads and LinkedIn Ads, plus GA4, Search Console, Google Business Profile, YouTube and Tag Manager. Audit accounts, cut wasted spend, build and optimize campaigns, manage audiences and bidding, and fix conversion tracking, all by chatting. Every write is previewed and applied only on your approval, a single change can never raise a budget by more than 50 percent, and every applied change lands in an audit log. Hosted and remote: paste one URL, with no install, no developer tokens and nothing to self-host. Works in Claude, ChatGPT, Cursor, Windsurf, Codex and Claude Code. Free trial with credits that never expire, no card required.
Server tool list (60)
Raw names from tools/list. Only developers need these.
| get_billing_status | Shows your current plan, remaining monthly operation quota, trial dates, and payment links. |
| connect_google_ads | Generates a one-time authorization link to connect a Google Ads account. Once the user clicks the link and approves with Google, the refresh token is stored encrypted. |
| create_trial_site | Creates a FREE trial website on a xxx.kriptap.com subdomain — no plan or payment needed. You get your own isolated server; then just tell me what website you want and I'll build the pages for you. The trial auto-deletes after 3 days. One free trial per account. To keep a site permanently, upgrade to a paid server. |
| list_servers | Lists the hosting servers on your Opus Growth account ('Sunucum'): name, address, status. These are isolated servers where your AI can build and publish a website by chatting. |
| site_info | Shows a hosting server's web address and status. Pass `server` (name) if you have more than one. |
| site_list_files | Lists files in your hosting server's website directory (/data/site). |
| site_read_file | Reads a file from your hosting server's website directory. |
| site_write_file | Writes a file to your hosting server's website (creates it, or overwrites if it exists). The change is live immediately at your server's address. |
| site_run_command | Runs a shell command inside your isolated hosting container (npm install, build, etc.). Runs sandboxed on your own server; ~10 min max. Use for building/publishing your site. |
| connect_linkedin_ads | Generates a one-time authorization link to connect a LinkedIn ad account. Once the user clicks the link and approves via LinkedIn, the access/refresh token is stored encrypted. |
| list_linkedin_ad_accounts | Lists the ad (sponsored) accounts the connected LinkedIn member can access. |
| list_linkedin_campaigns | Lists the campaigns in a LinkedIn ad account. account_id = numeric account ID. |
| list_linkedin_campaign_groups | Lists the campaign groups in a LinkedIn ad account (status, budget, objective). |
| list_linkedin_creatives | Lists the creatives (ads) in a LinkedIn account; if campaign_id is given, limits to that campaign. Also returns review status. |
| linkedin_campaign_analytics | LinkedIn performance report. pivot: CAMPAIGN | CREATIVE | CAMPAIGN_GROUP | ACCOUNT | MEMBER_JOB_FUNCTION | MEMBER_INDUSTRY | MEMBER_SENIORITY | MEMBER_COMPANY_SIZE ... time_granularity: ALL | DAILY | MONTHLY. fields: comma-separated metric list (empty = default set; up to 20). Demographic pivots have a 12-24h delay and privacy thresholds. |
| create_linkedin_campaign_group | Creates a LinkedIn campaign group. status: DRAFT | ACTIVE. If total_budget>0 is given, a total budget (USD) is assigned. objective_type: WEBSITE_VISIT | LEAD_GENERATION | BRAND_AWARENESS | ENGAGEMENT | VIDEO_VIEWS | WEBSITE_CONVERSIONS | JOB_APPLICANTS. If confirm=false, only a preview is returned; to apply, use confirm=true. |
| update_linkedin_campaign_group | Updates a LinkedIn campaign group (only the provided fields change). status: ACTIVE | PAUSED | DRAFT | ARCHIVED. Budget changes are subject to the safety cap (increases above +50% are blocked). confirm=false = preview. |
| delete_linkedin_campaign_group | Deletes a LinkedIn campaign group (permanent if DRAFT; otherwise marked for deletion). confirm=false = preview. |
| create_linkedin_campaign | Creates a LinkedIn campaign. campaign_type: TEXT_AD | SPONSORED_UPDATES | SPONSORED_INMAILS | DYNAMIC | EVENT_AD. cost_type: CPC | CPM | CPV | CPS. Targeting: country ('TR','US','DE'… 36 verified country codes) sets the geo target; for finer targeting pass comma-separated 'urn:li:geo:...' values to geo_urns (found via linkedin_targeting_search). language sets the interface language (en/tr/de/fr/es). Budget is processed in the account's own currency (TRY on a TRY account). If total_budget>0 the total budget is used, otherwise daily_budget. associated_entity: the Company Page URN required for SPONSORED_UPDATES / SPONSORED_INMAILS / DYNAMIC / EVENT_AD campaigns, e.g. 'urn:li:organization:1234567'; if left empty it is auto-filled from the account's organization reference, otherwise an error is returned. Not needed for TEXT_AD. NOTE: the 'I certify this is not a political ad' declaration (politicalIntent=NOT_POLITICAL) is sent automatically — political ads are not supported by this tool. confirm=false = preview. |
| update_linkedin_campaign | Updates a LinkedIn campaign (only the fields provided). status: ACTIVE | PAUSED | DRAFT | ARCHIVED | COMPLETED | CANCELED. Budget increases are subject to the safety limit. Use status=PAUSED to pause. confirm=false = preview. |
| delete_linkedin_campaign | Deletes a LinkedIn campaign (permanent if DRAFT; otherwise marked for deletion; reporting data is preserved). confirm=false = preview. |
| create_linkedin_text_ad | Creates a text ad (creative) for a TEXT_AD campaign — does not require an organization page. headline ≤25, description ≤75 characters. confirm=false = preview. |
| create_linkedin_post_ad | Turns an existing Company Page post into an ad (Sponsored Content) for a SPONSORED_UPDATES campaign. post_urn: 'urn:li:share:<id>' or 'urn:li:ugcPost:<id>' — the numeric id from the post's LinkedIn URL. The campaign must be tied to an organization (associatedEntity). confirm=false = preview. |
| update_linkedin_campaign_targeting | Updates a LinkedIn campaign's targeting (job title, function, seniority, industry, skill, company size, geography). Each parameter is a comma-separated list of URNs — found via linkedin_targeting_search (facet=titles/industries/skills/seniorities...). If geo_urns is empty, country ('TR','US'...) is used. At least one location is required. WARNING: this REPLACES the campaign's ENTIRE targeting with the given criteria. confirm=false = preview. |
| linkedin_targeting_search | Searches LinkedIn targeting entities by name → returns URNs. facet: locations | titles | industries | skills | seniorities | employers. E.g. facet=locations query='İstanbul' → urn:li:geo:... (use for the geo_urns of create_linkedin_campaign). |
| update_linkedin_creative_status | Changes a creative's (ad's) intended status: ACTIVE | PAUSED | DRAFT | ARCHIVED. Note: a creative that is UNDER_REVIEW cannot be paused. confirm=false = preview. |
| delete_linkedin_creative | Deletes a creative (ad) — permanent if DRAFT, otherwise marked for deletion. confirm=false = preview. |
| connect_microsoft_ads | Generates a one-time authorization link to connect a Microsoft Advertising (Bing Ads) ad account. After authorizing, you can query the accessible ad accounts. |
| list_microsoft_accounts | Lists the Microsoft Advertising ad accounts the connected Microsoft user can access. |
| list_microsoft_campaigns | Lists the campaigns in a Microsoft Advertising ad account (account_id). If customer_id is empty, it is resolved automatically from the connection record. |
| microsoft_performance_report | Microsoft Advertising campaign performance report (spend/impressions/clicks/CTR/conversions). Dates are YYYY-MM-DD; if empty, the last 30 days. customer_id is auto-detected if empty. |
| list_microsoft_ad_groups | Lists the ad groups in a Microsoft Advertising campaign. |
| list_microsoft_ads | Lists the ads in a Microsoft ad group. |
| list_microsoft_keywords | Lists the keywords in a Microsoft ad group. |
| create_microsoft_campaign | Creates a campaign in Microsoft Advertising (starts PAUSED — safe). campaign_type: Search | Audience | Shopping | DynamicSearchAds. daily_budget is in the account's currency. Subject to the absolute budget cap (parity with Google/Meta). confirm=false = preview, confirm=true applies. |
| update_microsoft_campaign_status | Changes campaign status. status: Active | Paused. confirm=false = preview, confirm=true applies. |
| update_microsoft_campaign_budget | Updates a campaign's daily budget. Subject to the +50% budget-increase cap (parity with Google/Meta/LinkedIn/TikTok). confirm=false = preview, confirm=true applies. |
| delete_microsoft_campaign | Deletes a Microsoft campaign (irreversible). confirm=false = preview, confirm=true applies. |
| create_microsoft_ad_group | Creates an ad group in a campaign (starts PAUSED by default). cpc_bid = default click bid. language = ad group language (e.g. English, Turkish) — required by Microsoft. confirm=false = preview, confirm=true applies. |
| update_microsoft_ad_group_status | Changes an ad group's status. status: Active | Paused. (campaign_id required.) confirm=false = preview, confirm=true applies. |
| create_microsoft_responsive_search_ad | Creates a Responsive Search Ad (RSA). headlines: 3-15 headlines, descriptions: 2-4 descriptions, final_url required. path1/path2 are optional display URL paths. confirm=false = preview, confirm=true applies. |
| update_microsoft_ad_status | Changes ad status. status: Active | Paused. ad_type is the ad type (default ResponsiveSearch). (ad_group_id required.) confirm=false = preview, confirm=true applies. |
| add_microsoft_keywords | Adds keywords to an ad group. match_type: Broad | Phrase | Exact. confirm=false = preview, confirm=true applies. |
| update_microsoft_keyword | Updates a keyword's bid (bid>0) and/or status (Active|Paused). confirm=false = preview, confirm=true applies. |
| add_microsoft_negative_keywords | Adds negative keywords to a campaign or ad group. entity_type: Campaign | AdGroup. match_type: Exact | Phrase (negatives support only these two). confirm=false = preview, confirm=true applies. |
| set_microsoft_bid_strategy | Sets a campaign's bid strategy. strategy: ManualCpc | EnhancedCpc | MaxClicks | MaxConversions | TargetCpa (conversion-based ones require conversion tracking). confirm=false = preview, confirm=true applies. |
| microsoft_location_search | Searches Microsoft/Bing Advertising GEOGRAPHIC LOCATIONS by name and returns the numeric LocationId(s) required by add_microsoft_location_target. Example: query='İstanbul' → [{location_id, name, type}]. Display names are '|'-separated most→least specific (e.g. 'Istanbul|Istanbul|Türkiye'). Optional location_type filter: Country | State | City | County | MetroArea | PostalCode. account_id optional (uses the first ad account if empty). READ-only. ALWAYS call this first to get LocationIds — add_microsoft_location_target needs the numeric ids, not names. |
| add_microsoft_location_target | Adds a geographic location target to a campaign using Bing LocationIds. IMPORTANT: location_ids are NUMERIC Microsoft LocationIds — find them with microsoft_location_search (e.g. 'İstanbul' → 136887) first; do NOT pass names. If bid_multiplier>0, applies a bid adjustment (%). confirm=false = preview, confirm=true applies. |
| add_microsoft_demographic_target | Adds a demographic bid adjustment. criterion_type: Age | Gender. value: age range (e.g. TwentyFiveToThirtyFour) or gender (Male | Female). bid_multiplier: bid adjustment (%). confirm=false = preview, confirm=true applies. |
| list_microsoft_conversion_goals | Lists the conversion goals in the account — required for conversion-based bidding strategies (MaxConversions/TargetCpa). |
| list_microsoft_audiences | Lists the account's audiences (remarketing / similar / combined) — for audience targeting. |
| add_microsoft_device_target | Adds device bid adjustments (all THREE TOGETHER — required by Microsoft). Values are % bid adjustments (0 = no change for that device). confirm=false = preview, confirm=true applies. |
| list_microsoft_uet_tags | Lists the account's UET (conversion tracking) tags — required for conversion goals + remarketing. |
| create_microsoft_uet_tag | Creates a UET (conversion tracking) tag. Once its script is installed on the site, conversion goals + remarketing become available. confirm=false = preview, confirm=true applies. |
| create_microsoft_conversion_goal | Creates a URL-based conversion goal. uet_tag_id is REQUIRED (first run create_microsoft_uet_tag or list_microsoft_uet_tags). operator: Contains|BeginsWith|Equals|RegularExpression. goal_category: Purchase|AddToCart|Signup|Subscribe|Lead|Other. url_expression e.g. 'opus-growth.com/tesekkur'. confirm=false = preview, confirm=true applies. |
| create_microsoft_remarketing_list | Creates a remarketing audience — visitors of a specific page (URL). uet_tag_id is REQUIRED (list_microsoft_uet_tags / create_microsoft_uet_tag). url_contains e.g. '/products'. operator: Contains|Equals|BeginsWith. membership_duration = membership duration (days). confirm=false = preview, confirm=true applies. |
| delete_microsoft_audience | Deletes a Microsoft audience (remarketing list, etc.). confirm=false = preview, confirm=true applies. |
| connect_tiktok_ads | Generates a one-time authorization link to connect a TikTok (TikTok for Business) ad account. After authorization you can query the accessible ad accounts (advertisers). |
| list_tiktok_ad_accounts | Lists the ad accounts (advertisers) the connected TikTok user can access. |
| list_tiktok_campaigns | Lists the campaigns in a TikTok ad account (advertiser_id). |