adwarp

Start with 1 prompt.

Paste it into Claude Code, Codex or Cursor. Your agent installs Adwarp, walks you through your LinkedIn app and checks the connection.

setup prompt
Set up Adwarp for me. It's the open-source ad agent for LinkedIn Ads and Google Ads: https://github.com/adwarp-dev/adwarp

1. Check that Node.js 20 or newer is installed.
2. Walk me through creating my own LinkedIn developer app with the Advertising API product: https://github.com/adwarp-dev/adwarp/blob/main/docs/linkedin-app.md
3. Save the app's client ID and secret to ~/.adwarp/config.json as clientId and clientSecret.
4. Run "npx -y adwarp auth login" and wait while I approve access in my browser.
5. Add Adwarp to the AI client I'm using right now as an MCP server that runs "npx -y adwarp mcp". In Claude Code that's: claude mcp add adwarp -- npx -y adwarp mcp
6. Check the connection by listing my ad accounts, then save the one I pick as defaultAccountId in ~/.adwarp/config.json.

Don't create or change anything in my ad accounts during setup. LinkedIn campaigns start as drafts, so nothing spends until I turn it on.
adwarp
GitHub

Start with 1 prompt.

Paste it into Claude Code, Codex or Cursor. Your agent installs Adwarp, walks you through your LinkedIn app and checks the connection.

setup prompt
Set up Adwarp for me. It's the open-source ad agent for LinkedIn Ads and Google Ads: https://github.com/adwarp-dev/adwarp

1. Check that Node.js 20 or newer is installed.
2. Walk me through creating my own LinkedIn developer app with the Advertising API product: https://github.com/adwarp-dev/adwarp/blob/main/docs/linkedin-app.md
3. Save the app's client ID and secret to ~/.adwarp/config.json as clientId and clientSecret.
4. Run "npx -y adwarp auth login" and wait while I approve access in my browser.
5. Add Adwarp to the AI client I'm using right now as an MCP server that runs "npx -y adwarp mcp". In Claude Code that's: claude mcp add adwarp -- npx -y adwarp mcp
6. Check the connection by listing my ad accounts, then save the one I pick as defaultAccountId in ~/.adwarp/config.json.

Don't create or change anything in my ad accounts during setup. LinkedIn campaigns start as drafts, so nothing spends until I turn it on.

Run LinkedIn Ads from your terminal.

Adwarp is a free, open-source MCP server and CLI for LinkedIn Ads. Ask in Claude, Codex or Cursor to size audiences, draft campaigns and pull reports, and nothing spends until you turn it on.

$ claude mcp add adwarp -- npx -y adwarp mcp

Read the docs

claude ~ adwarp

$ claude

> Draft a LinkedIn campaign for VPs of RevOps at US software companies, 50 USD a day.

adwarp.search_targeting titles "revenue operations": 4 matches

adwarp.estimate_audience titles + VP + US + software: 2,140 members

adwarp.create_campaign group "RevOps VP Q4", 50 USD/day: DRAFT

adwarp.create_text_ad 3 variants: DRAFT

Drafted 1 campaign group, 1 ad group and 3 ads for 2,140 people.

Nothing is live until you say so.

01What it does

What it does on LinkedIn. Each job has its own page, with the tools behind it.

Why it gets better results.

  • More variants tested

    Launching an ad group is 1 line instead of 20 clicks, so more audiences and messages get tried.

  • Audiences sized first

    Every audience is checked against LinkedIn's 300-member floor before a budget touches it.

  • Faster reads

    Performance is 1 question away, so a weak ad gets caught in days instead of at month end.

  • A record of what worked

    Every change is journaled, so you keep the changes that moved results and drop the rest.

02Get started

Get started.

  1. Create your LinkedIn app

    A free developer app with the Advertising API. Approval usually takes a day or 2.

  2. Sign in from your terminal

    Run npx adwarp auth login and approve access in your browser.

  3. Add it to your agent

    Pick Claude Code, Codex, Cursor or the CLI and copy 1 command.

03Where it runs

Pick where you run it. The same 28 LinkedIn tools in Claude, Codex and Cursor, or straight from the CLI.

04FAQ

Questions, answered. From setup to the details.

Ask on GitHub
Is there an official LinkedIn Ads MCP server?

No. LinkedIn doesn't offer one. Adwarp is independent and open source, and it uses LinkedIn's documented Marketing API through a developer app you create.

Do I need LinkedIn's Advertising API access?

Yes. You create a free developer app and request the Advertising API product. Approval usually takes a day or 2.

Should I use the MCP server or the CLI?

Use the MCP server when you want to ask in plain words inside Claude, Codex or Cursor, and the CLI for scripts and scheduled runs. They share the same code and the same change journal.

Can it spend money on its own?

No. Everything starts as a draft, and a campaign only goes live when you explicitly ask for it or switch it on in Campaign Manager.

Which ad formats does it support?

Text ads and single-image ads today. The format is set when the ad group is created.

How do LinkedIn's names compare with other ad platforms?

They sit 1 level off, which trips up everyone the first time: a LinkedIn campaign group is what other platforms call a campaign, and a LinkedIn campaign is their ad group.

How do LinkedIn's names compare with other ad platforms?
Other platformsLinkedInWhat it holds
CampaignCampaign groupStatus and the total budget
Ad groupCampaignTargeting, budget, bid, schedule and format
AdCreativeThe ad people see
AudienceMatched audienceA contact or company list you upload