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.

LinkedIn Ads in Codex.

Adwarp is an open-source MCP server and CLI that connects the Codex CLI to LinkedIn Ads. Add it with 1 command from your terminal, then ask Codex to size audiences, draft campaigns and pull reports.

$ codex mcp add adwarp -- npx -y adwarp mcp

Read the docs

codex ~ account-based

$ codex

> Set up account-based ads for each company in accounts.csv.

adwarp.search_targeting companies from accounts.csv: company URNs

adwarp.estimate_audience decision makers per account: 400 to 1,000

adwarp.create_campaign 1 per account, 2-week flight: DRAFT

adwarp.create_image_ad 3 per account: DRAFT

01Set up

Set up in 3 steps.

  1. Create your LinkedIn developer app

    Add the Advertising API product. It's free, and approval usually takes a day or 2.

  2. Sign in from your terminal

    Adwarp opens your browser for LinkedIn's approval and stores the token locally.

    npx -y adwarp auth login
  3. Add it to Codex

    1 command, and Codex can use all 28 LinkedIn tools.

    codex mcp add adwarp -- npx -y adwarp mcp

02Try these prompts

5 prompts to try first.

codex ~ salesforce

$ codex

> Build an audience from our closed-lost deals in Salesforce.

adwarp.audience_from_salesforce Closed Lost contacts: 1,204 contacts

Emails hashed with SHA-256 before upload

Matching now. Ready to target in up to 48 hours.

03Results

Why running ads from Codex gets better results.

  • Checks happen daily

    Performance is 1 question in the terminal you already have open, so problems get fixed the same day.

  • Lists go straight in

    Codex reads the CSV or Salesforce query in your working folder and turns it into a matched audience in the same session.

  • More variants tested

    A new ad group is 1 ask instead of 20 clicks, so more audiences and messages get tried.

04FAQ

Questions, answered. From setup to the details.

Ask on GitHub
Does Adwarp work with OpenAI Codex?

Yes. Add it to the Codex CLI with codex mcp add, and Codex gets the same 28 LinkedIn tools as any other MCP client.

Is there an official LinkedIn Ads plugin for Codex?

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.

Can Codex spend money on its own?

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

Can I use it without Codex?

Yes. The same tools run as npx adwarp commands, for scripts and cron, with no AI client at all.

Where are my credentials stored?

In a local folder locked to your user. With the hosted endpoint they travel as headers, are used in memory and are never stored.

Does it run locally or on the hosted endpoint?

Either. Run Adwarp on your machine, or point Codex at the hosted endpoint with your own LinkedIn app credentials. List uploads, CRM audiences and the change journal need your machine.

Does it run locally or on the hosted endpoint?
FeatureLocalHosted
Campaigns, audience sizing, reportingYesYes
Ad Library through the official APIYesYes
CSV list uploadsYesNo
Salesforce audiencesYesNo
HubSpot audiencesYesNo
Change journal and liftYesNo