Cogny CLI · Paid Search

    Google Ads from your shell.

    Run GAQL, pull campaign reports, generate keyword ideas, and push budget or status changes to Google Ads — straight from Bash. No Ads UI, no API client, no OAuth dance. Just the Cogny CLI over the Google Ads MCP.

    # 1. sign up (free for 15 calls) — uses your git email
    $ npx @cogny/cli init --agent claude-code
    
    # 2. see every Google Ads tool
    $ cogny tools list
    
    # 3. call any tool from Bash — no MCP wiring
    $ cogny tools call mcp__Google_Ads__tool_execute_gaql --input '{…}'
    ❯ start Cogny Solo — $9/mo@cogny/cli on npm →

    cogny --who

    TWO PATHS
    You're a human

    Today you log into the Google Ads UI, build a report, export CSV, and eyeball it. With the CLI you query the exact rows you want with GAQL and pipe the JSON into anything. Connect Google Ads once in Cogny Solo and let your coding agent — or scheduled reports — do the querying for you.

    ❯ start Solo
    You're an agent

    Self-onboard with one command. The CLI issues a key, wires nothing, and exposes every Google Ads tool over JSON-RPC. First 15 calls are free.

    $ npx @cogny/cli init --agent claude-code

    cogny tools call

    3 EXAMPLES

    Real tool names from the Google Ads MCP. Send --input JSON, get JSON back.

    mcp__Google_Ads__tool_execute_gaqlRun any GAQL query and get rows back as JSON.
    $ cogny tools call mcp__Google_Ads__tool_execute_gaql \
      --input '{"customer_id":"1234567890","query":"SELECT campaign.name, metrics.clicks, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_7_DAYS ORDER BY metrics.cost_micros DESC LIMIT 3"}'
    example response
    [
      {
        "campaign.name": "Brand — Exact",
        "metrics.clicks": 1842,
        "metrics.cost_micros": 412300000
      },
      {
        "campaign.name": "Competitor — Phrase",
        "metrics.clicks": 967,
        "metrics.cost_micros": 388100000
      },
      {
        "campaign.name": "Generic — Broad",
        "metrics.clicks": 2310,
        "metrics.cost_micros": 351900000
      }
    ]
    mcp__Google_Ads__tool_generate_keyword_ideasGet keyword ideas with monthly searches and competition.
    $ cogny tools call mcp__Google_Ads__tool_generate_keyword_ideas \
      --input '{"customer_id":"1234567890","keywords":["running shoes"],"page_url":"https://example.com/shoes"}'
    example response
    {
      "results": [
        {
          "text": "trail running shoes",
          "avg_monthly_searches": 49500,
          "competition": "HIGH"
        },
        {
          "text": "best running shoes 2026",
          "avg_monthly_searches": 22200,
          "competition": "MEDIUM"
        }
      ]
    }
    mcp__Google_Ads__tool_update_campaign_statusPause, enable, or remove a campaign.
    $ cogny tools call mcp__Google_Ads__tool_update_campaign_status \
      --input '{"customer_id":"1234567890","campaign_id":"987654321","status":"PAUSED"}'
    example response
    {
      "resource_name": "customers/1234567890/campaigns/987654321",
      "status": "PAUSED"
    }

    cogny tools list

    MORE

    A sample of the rest of the Google Ads surface. Run cogny tools list --json for every tool and its input schema.

    mcp__Google_Ads__tool_list_accessible_accountsmcp__Google_Ads__tool_create_campaignmcp__Google_Ads__tool_create_responsive_search_admcp__Google_Ads__tool_add_keywords_to_ad_groupmcp__Google_Ads__tool_add_negative_keywords_to_campaignmcp__Google_Ads__tool_update_campaign_budgetmcp__Google_Ads__tool_update_campaign_bidding_strategymcp__Google_Ads__tool_search_geo_targetsmcp__Google_Ads__tool_get_gaql_doc

    cogny --faq

    Is this an official Google Ads CLI?

    No — it is the Cogny CLI calling the Google Ads MCP over the cogny-mcp-proxy. You authenticate once via Cogny (OAuth handled for you) and then call every tool from Bash. No google-ads.yaml, developer token, or client library to manage.

    Do I need to write the Google Ads API client?

    No. The proxy wraps the Google Ads API. You send GAQL or structured arguments; the CLI returns JSON. That is the whole surface.

    Can my coding agent use this without MCP setup?

    Yes — that is the point. `npx @cogny/cli init --agent claude-code` issues a key, then `cogny tools call mcp__Google_Ads__tool_execute_gaql --input ...` works from any shell. No /mcp wiring or restart needed.

    related CLIs

    /cli/meta-ads/cli/ga4/cli/search-console

    Building an agent? The full tool map for all servers is one fetch: /cli/llms.txt