cogny clipaid searchfirst 15 calls free

    bing ads from your shell.

    Pull Microsoft Advertising performance (impressions, clicks, CTR, avg CPC, spend, conversions, revenue, impression share, Quality Score) at campaign, ad group, keyword, search-term, ad or geographic level, list campaigns and keywords, and push negatives, bids, budgets and status changes — all from Bash over the Bing Ads MCP. No SOAP client, no developer token of your own.

    • 1. sign up, free for the first calls (uses your git email)npx @cogny/cli init --agent claude-code
    • 2. see every Bing Ads toolcogny tools list
    • 3. call any tool from bash, no MCP wiringcogny tools call mcp__Bing_Ads__tool_get_report --input '{…}'
    01two paths
    you're a person

    The Microsoft Advertising UI is a report builder with a queue, and the API is SOAP-first with a developer-token application. The CLI returns any report as JSON rows in one call — daily or summary, scoped to campaigns — ready to pipe, diff or schedule. Connect Bing Ads once in Cogny Solo and let your coding agent, or a scheduled loop, do the querying for you.

    Start Solo
    you're an agent

    Sign yourself up with one command. The CLI issues a key, wires nothing, and exposes every Bing Ads tool over JSON-RPC. The first 15 calls are free.

    • npx @cogny/cli init --agent claude-code
    02tools call

    real Bing Ads tools.

    Tool names as the Bing Ads MCP serves them. Send --input JSON, get JSON back. The payloads are illustrative.

    • mcp__Bing_Ads__tool_get_report

      Campaign performance for a date range, one row per campaign.

      • cogny tools call mcp__Bing_Ads__tool_get_report \ --input '{"account_id":"150123456","report_type":"campaign","start_date":"2026-08-01","end_date":"2026-08-31","aggregation":"Summary"}'
      example response
      {
        "columns": [
          "TimePeriod",
          "CampaignId",
          "CampaignName",
          "Impressions",
          "Clicks",
          "Ctr",
          "AverageCpc",
          "Spend",
          "Conversions",
          "ImpressionSharePercent"
        ],
        "rows": [
          {
            "TimePeriod": "2026-08-01 - 2026-08-31",
            "CampaignId": 512345678,
            "CampaignName": "SE - Brand",
            "Impressions": 18422,
            "Clicks": 1093,
            "Ctr": 5.93,
            "AverageCpc": 2.14,
            "Spend": 2339.02,
            "Conversions": 87,
            "ImpressionSharePercent": 91.2
          }
        ],
        "row_count": 1,
        "currency": "SEK"
      }
    • mcp__Bing_Ads__tool_get_report

      Search terms that spent without converting — the negative-keyword shortlist.

      • cogny tools call mcp__Bing_Ads__tool_get_report \ --input '{"account_id":"150123456","report_type":"search_query","start_date":"2026-08-04","end_date":"2026-08-31","campaign_ids":["512345678"]}'
      example response
      {
        "rows": [
          {
            "SearchQuery": "free crm template",
            "Keyword": "crm",
            "BidMatchType": "Broad",
            "Clicks": 41,
            "Spend": 96.5,
            "Conversions": 0
          }
        ],
        "row_count": 1
      }
    • mcp__Bing_Ads__tool_add_negative_keywords

      Add phrase negatives to a campaign.

      • cogny tools call mcp__Bing_Ads__tool_add_negative_keywords \ --input '{"account_id":"150123456","entity_type":"Campaign","entity_id":"512345678","keywords":[{"text":"free","match_type":"Phrase"},{"text":"template","match_type":"Phrase"}]}'
      example response
      {
        "ids": [
          [
            9911,
            9912
          ]
        ],
        "partial_errors": [],
        "status": "success",
        "entity_type": "Campaign",
        "entity_id": "512345678"
      }
    03tools list

    the rest of the surface.

    A sample of the other Bing Ads tools. Run cogny tools list --json for every tool and its input schema.

    • mcp__Bing_Ads__tool_list_accounts
    • mcp__Bing_Ads__tool_get_campaigns
    • mcp__Bing_Ads__tool_get_ad_groups
    • mcp__Bing_Ads__tool_get_ads
    • mcp__Bing_Ads__tool_get_keywords
    • mcp__Bing_Ads__tool_get_negative_keywords
    • mcp__Bing_Ads__tool_update_campaign
    • mcp__Bing_Ads__tool_update_ad_group
    • mcp__Bing_Ads__tool_update_keywords
    • mcp__Bing_Ads__tool_update_ad_status
    • mcp__Bing_Ads__tool_create_campaign
    • mcp__Bing_Ads__tool_create_ad_group
    • mcp__Bing_Ads__tool_add_keywords
    • mcp__Bing_Ads__tool_create_responsive_search_ad
    • mcp__Bing_Ads__tool_remove_negative_keywords
    • mcp__Bing_Ads__tool_get_negative_keyword_lists
    • mcp__Bing_Ads__tool_create_negative_keyword_list
    • mcp__Bing_Ads__tool_add_keywords_to_negative_keyword_list
    • mcp__Bing_Ads__tool_add_negative_keyword_list_to_campaigns
    04then a verdict

    calls from a script. verdicts from cogny.

    Every write is logged with who authorised it. Launches your agent makes (a new campaign, a new ad) become measured tickets automatically; for other changes, your agent offers to register them. Cogny measures each in your own data, three days later for ads and seven for content and SEO, and closes it as worked, partial, didn't work or inconclusive.

    • worked

      Moved the number. Every measured win has a share card.

    • partial

      Some of it did.

    • didn't work

      On the record anyway, so it isn't proposed again.

    • inconclusive

      Not enough data to call.

    How the loop works

    05questions

    questions.

    Is this an official Microsoft Advertising CLI?
    No — it is the Cogny CLI calling the Bing Ads MCP over the cogny-mcp-proxy. You sign in with Microsoft once in Cogny, pick the ad accounts the workspace may use, and then call every tool from Bash. Cogny supplies the developer token, so you never apply for one.
    Which account id do I pass?
    The numeric `id` from tool_list_accounts — not the alphanumeric account number shown in the Microsoft Advertising UI. The proxy resolves the manager (customer) id for you.
    What units do bids, spend and CTR use?
    Plain account-currency units (a 1.25 bid is 1.25 SEK or USD), the same for report Spend, AverageCpc and Revenue. Ctr and the impression-share columns are already percentages — 5.93 means 5.93 %.
    06related

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

    bing ads, then a verdict.