# LinkedIn Ads in Cursor.

Adwarp is an open-source MCP server and CLI that connects Cursor to LinkedIn Ads. Add it in 1 click, sign in from your terminal, then ask Cursor's agent to size audiences, draft campaigns and pull reports.

```text
$ cursor-agent
> Launch 1 ad group per persona from brief.json, all as drafts.
adwarp.launch_from_brief brief.json: DRAFT
35 ad groups and 35 ads, each with its own audience
Nothing is live. Review them in Campaign Manager.
```

## 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.

   [linkedin.com/developers/apps](https://www.linkedin.com/developers/apps)
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 Cursor. 1 click, and Cursor's agent can use all 28 LinkedIn tools.

   [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=adwarp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImFkd2FycCIsIm1jcCJdfQ==)

### Prefer to edit the config?

Add this entry to ~/.cursor/mcp.json, or to .cursor/mcp.json inside a project. It's the same entry the button adds.

`~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "adwarp": { "command": "npx", "args": ["-y", "adwarp", "mcp"] }
  }
}
```

## 5 prompts to try first.

### How many VPs of RevOps at US software companies can we reach?

```text
$ cursor-agent
> How many VPs of RevOps at US software companies can we reach?
adwarp.search_targeting titles "revenue operations": 4 matches
adwarp.estimate_audience titles + VP + US + software: 2,140 members
```

### Launch 1 ad group per persona from brief.json, all as drafts.

```text
$ cursor-agent
> Launch 1 ad group per persona from brief.json, all as drafts.
adwarp.launch_from_brief brief.json: DRAFT
35 ad groups and 35 ads, each with its own audience
Nothing is live. Review them in Campaign Manager.
```

### How did retargeting do last month vs the month before?

```text
$ cursor-agent
> How did retargeting do last month vs the month before?
adwarp.performance_trend retargeting group, monthly: 2 months
Impressions, clicks, conversions and click-through rate, with the change in each
```

### Did the new headline on our top ad actually help?

```text
$ cursor-agent
> Did the new headline on our top ad actually help?
adwarp.list_ad_changes creative, headline: 1 change
adwarp.compute_lift 14 days before vs after: +50%
Click-through rate went from 0.38% to 0.57%.
```

### Rewrite the copy on the ad with the lowest click-through rate this month.

```text
$ cursor-agent
> Rewrite the copy on the ad with the lowest click-through rate this month.
adwarp.get_performance creative, month to date: lowest found
adwarp.create_text_ad new copy, same ad group: DRAFT
LinkedIn ignores edits to a live ad, so new copy goes out as a fresh draft.
```

## Why running ads from Cursor gets better results.

### Checks happen daily

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

### Briefs become launches

A brief in your workspace turns into drafts in 1 ask, so another audience costs 1 line instead of 20 clicks.

### Copy matches the page

The landing page, the brief and the ads sit in 1 workspace, so headlines and URLs line up before anything ships.

## Questions, answered.

### Is there a LinkedIn Ads integration for Cursor?

Not from LinkedIn. Adwarp is an open-source MCP server that gives Cursor access to LinkedIn Ads through your own developer app.

### How do I add Adwarp to Cursor?

Click Add to Cursor, or paste the JSON entry above into Cursor's MCP config. Either way, sign in once with npx -y adwarp auth login.

### Can Cursor launch campaigns on its own?

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

### Can I script it instead?

Yes. Every tool is also an npx adwarp command for scripts and cron, with the same credentials and the same change journal.

### 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 Cursor at the hosted endpoint with your own LinkedIn app credentials. List uploads, CRM audiences and the change journal need your machine.

| Feature | Local | Hosted |
| --- | --- | --- |
| Campaigns, audience sizing, reporting | Yes | Yes |
| Ad Library through the official API | Yes | Yes |
| CSV list uploads | Yes | No |
| Salesforce audiences | Yes | No |
| HubSpot audiences | Yes | No |
| Change journal and lift | Yes | No |

## Related

- [Audiences](https://adwarp.dev/linkedin-ads/audiences): Size before you spend
- [Campaigns](https://adwarp.dev/linkedin-ads/campaigns): Draft from a brief
- [LinkedIn Ads CLI](https://adwarp.dev/linkedin-ads/cli): Script it instead

Unofficial. Not affiliated with or endorsed by LinkedIn or Google.

Canonical page: https://adwarp.dev/linkedin-ads/cursor
Last updated: 2026-10-18
