# LinkedIn Ads MCP Server: How to Analyze Your LinkedIn Campaign Data in Claude Code or ChatGPT

> Looking for a LinkedIn Ads MCP server? Well, there is no official one. But you can use third-party MCP servers built on the official LinkedIn Ads APIs, such as ZenABM’s LinkedIn Ads MCP server.

Author: Emilia Korczynska
Published: 2026-06-10
Updated: 2026-06-10
Categories: For LinkedIn Ads
Source: https://zenabm.com/blog/linkedin-ads-mcp-server

---

![LinkedIn Ads MCP Server: How to Analyze Your LinkedIn Campaign Data in Claude Code or ChatGPT](https://cdn.zenabm.com/media/Gemini_Generated_Image_cw6ce4cw6ce4cw6c-e1781125949877.png)

Looking for a LinkedIn Ads MCP server?

Well, there is no official one.

But you can use third-party MCP servers built on the official LinkedIn Ads APIs, such as [ZenABM’s LinkedIn Ads MCP server.](https://app.zenabm.com/mcp)

![Claude confirms the ZenABM MCP server is connected, listing 50+ tools for campaigns, accounts and metrics](https://cdn.zenabm.com/media/zenabm-mcp-server-setup-claude-2.png)

LinkedIn does not have its own Model Context Protocol server (at least as of June 2026), which means you cannot just plug Campaign Manager into Claude and start asking questions.

So the only way to currently connect your [LinkedIn ads data](/blog/automating-linkedin-ad-data-into-crm) to LLM tools like Claude Code, ChatGPT, or Cursor is to use a third-party MCP server like ZenABM’s.

ZenABM’s LinkedIn Ads MCP server lets you query your LinkedIn Ads data (your campaign, creative, and pipeline data) in plain English inside the AI tool of your choice, whether that is Claude Cowork, Claude Code, ChatGPT, or Cursor.

Plus, because ZenABM already connects your LinkedIn engagement data to your CRM data, you can also ask about the revenue impact of specific LinkedIn ads or ABM campaigns, how many deals were influenced by which ABM campaigns, your total pipeline, and so on.

Ok, so, this post walks through exactly:

- how to connect your LinkedIn ads MCP server to Claude or ChatGPT in just a few minutes (best part: it’s still official, because it pulls all data from the LinkedIn Ads API).
- how it works under the hood
- what questions you can ask it to understand your LinkedIn ad performance better
- what you can do with the MCP server beyond Q&A, like building dashboards, using the data to create follow-up outreach sequences, making your own micro-tools (A member of our team at ZenABM made a LinkedIn highligher that highlights profiles of folks who are working at companies that are engaging with your ad campaigns, so your doomscrolling and social behaviour like who you prioritize to connect with becomes more focused – more on this below), and more.

Below, I also cover (very briefly) why you should use a LinkedIn Ads MCP server rather than the raw LinkedIn Ads API, a full list of questions you can ask across ads, ABM, intent, and deals, and how to connect it to any MCP-compatible AI client safely.

## How to use LinkedIn Ads MCP Server: quick summary

Short on time?

Here’s a quick rundown:

- **No official LinkedIn Ads MCP server exists** (as of June 2026), so to query LinkedIn Ads data inside Claude, ChatGPT, or Cursor you use a third-party one like [ZenABM](/blog/what-is-zenabm)‘s, which is still “official” because it pulls everything from the LinkedIn Ads API.
- **Why ZenABM’s specifically:** ZenABM joins your company-level LinkedIn ad engagement data to your CRM, so the AI can reason about accounts, ABM stages, intent, and closed-won revenue, not just raw ad metrics. It also surfaces **eCTR** and **eCPC** (effective CTR and cost per landing-page click), which Campaign Manager doesn’t show.
- **How it works:** you ask in plain English, the AI loads ZenABM’s 60+ tools, picks the right ones, pulls live data, and returns a structured answer with no exports and no Campaign Manager clicks.
- **What you can ask:** top and decaying ads by eCTR/eCPC, ABM program summaries (pipeline, deals, pipeline per dollar versus last period), most-engaged and stalled accounts, intent-spiking accounts and contacts for the sales handoff, persona and job-title engagement, deal-influencing campaigns, and which companies to exclude for wasting spend. The full question list with examples is below.  
- **Safe by design:** read questions change nothing, while write actions (pause or activate) require your explicit confirmation. Setup takes about 5 minutes over OAuth or a token, $59/month, 37-day free trial.
- **You can also build on top of it:** the [**ZenABM LinkedIn Highlighter**](https://github.com/yashasvisaxena3-jpg/ZenABM-LinkedIn-Ads-MCP-Server) (open source, built with Claude and the ZenABM MCP server) is a browser extension that surfaces your ZenABM engagement data directly inside LinkedIn, so you can see which companies are already in your ABM program while you browse, without switching tabs.

## What an MCP server is and why use it instead of LinkedIn Ads API

MCP stands for **Model Context Protocol**, an open standard that lets an AI tool like Claude or ChatGPT call external tools and pull live data instead of guessing from whatever was in its training set.

**An MCP server is the bridge**, because it exposes **a set of tools** (think of them as functions the AI can call), and the AI decides which ones to run based on your question.

### What’s the difference between the LinkedIn Ads MCP server and the LinkedIn Ads API?

![LinkedIn ads API versus LinkedIn Ads MCP server](https://cdn.zenabm.com/media/zenabm_api_vs_mcp_v2-1.png)

First of all: you cannot just access all the LinkedIn Ads API endpoints you will need to analyze your company, ad, and campaign/ad set data straight out of the box.

There is no single “LinkedIn Ads API” either; there are several different [LinkedIn ads APIs](https://developer.linkedin.com/product-catalog/marketing/advertising-api), and for some of them you need to apply to LinkedIn and wait several days before you can use them.

This matters for [LinkedIn Ads](/blog/choose-target-accounts-for-abm) analysis because the data you need is spread across those separate APIs.

You will also need to create a private app in the [LinkedIn Developer’s portal:](https://www.linkedin.com/developers/apps?src=or-search&veh=www.google.com)

![LinkedIn Developers My apps page with arrow pointing to Create app button for API access](https://cdn.zenabm.com/media/Create-a-private-LinkedIn-App-in-order-to-use-the-API-.png)

And then you still need to build all the logic that decides which API endpoint to call to fetch the right data for your AI-powered [LinkedIn Ads performance dashboard](/blog/linkedin-ad-performance-account-level), LinkedIn Ads audit, or company-level performance analysis.

Do you really want all that hassle when you can use an MCP server instead?

Here is the difference, simply put: an API is the raw plumbing, while an MCP server is the layer that makes that plumbing usable by an AI.

An API is a set of endpoints a developer calls with exact instructions (the right URL, parameters, and auth), and it only does what it is precisely told.

An MCP server takes those same capabilities and repackages them as “tools” with plain-language descriptions the AI can read, so the LLM can decide for itself which one to call based on your question.

The API and the MCP server are not competing solutions; they are complementary, because an MCP server usually sits *on top of* an API and translates the intent behind the questions you ask your AI into actual API calls behind the scenes.

Think of an **API as a vending machine** where you need to know the exact button codes, and **an MCP server as your personal assistant** (it’s called a “server” for a reason) **standing next to that machine,** who **simply reads your requests in plain English, executes your wishes, and gives you the snack you wanted,** so you never have to care about the “how”.

### Why you should use LinkedIn Ads MCP instead of just using LinkedIn Campaign Manager or ABM Campaigns Dashboards

Generic AI can draft a report, but it cannot reason about your accounts, the impact of your campaigns on your pipeline, your creatives, your ABM stages, or your closed-won deals, because it has never seen them.

A LinkedIn Ads MCP server fixes that by giving your AI tools the GTM context they are missing, so the model [works](/blog/linkedin-revenue-attribution-report-rar) from the data that actually drives revenue.

The reasons it beats [dashboards or the LinkedIn Campaign Manager](/use-cases/linkedin-campaign-management-optimization) come down to a few things:

- **Structured data, ready in seconds:** AI-native access to your companies, campaigns, ad sets, creatives, deals, and [intent signals](/blog/buyer-intent-data), with no exports required.
- **60+ tools:** agents work across the full [GTM](/blog/founder-led-linkedin-ads) surface, from creative performance to ABM stage movement to pipeline influence.
- [Build your own workflows: weekly reports](/blog/linkedin-ads-reporting), red-flag alerts, executive summaries, Slack updates, and decks, all generated from one prompt.
- **AI-first by design:** the data is exposed natively for AI agents over the MCP protocol, not bolted onto a UI.

But in my opinion, the real impact shows up when you connect your LinkedIn Ads MCP server to other tools such as Slack or Notion, because that is the point where you stop creating your [LinkedIn ABM](/blog/linkedin-abm-campaign-launch-step-by-step) performance reports manually altogether.

Ali Yildirim, founder at Understory, described the same shift after building custom ad MCPs for his own team.

> *“Last week we launched a custom MCP for LinkedIn Ads. Both let us query campaign data in natural language through Claude. No exports, no dashboards, just [direct API access to live performance data](/blog/linkedin-max-delivery-vs-cost-cap-vs-manual-bidding). The compounding effect of multiple MCPs working together is way more valuable than any single integration.”* Read [Ali Yildirim’s LinkedIn post here.](https://www.linkedin.com/posts/aayildirim_we-just-deployed-our-google-ads-mcp-quick-ugcPost-7389496969817210880-Fdeb)

[Embedded post](https://www.linkedin.com/embed/feed/update/urn:li:ugcPost:7389496969817210880?collapsed=1)

Hopefully this explains why you need a LinkedIn Ads MCP server, so now let me explain exactly how ZenABM’s MCP server works.

## How the ZenABM LinkedIn Ads MCP server works

![ZenABM MCP server page with setup steps for connecting Claude or ChatGPT to your LinkedIn Ads data](https://cdn.zenabm.com/media/ZenABM-MCP-server-.png)

![Claude confirms the ZenABM MCP server is connected, listing 50+ tools for campaigns, accounts and metrics](https://cdn.zenabm.com/media/zenabm-mcp-server-setup-claude-2.png)

ZenABM’s LinkedIn Ads MCP server lets you ask questions about your LinkedIn campaigns, ads, and target audience (the companies that saw your ads) in natural language, and because it also connects **the company-level [LinkedIn ad engagement](/blog/linkedin-ad-engagement-analytics-zenabm) data with your CRM data,** you can ask your AI tool about the impact of specific campaigns and ads on your deals, pipeline, and revenue.

This is how it works: the AI loads the ZenABM tools, picks the right ones, pulls the data, and hands you a structured answer, with no exports, no pivot tables, and no clicking through [Campaign Manager](/blog/track-companies-engaging-with-linkedin-ads).

Let me show you how it works on a real example of a conversation in Claude Cowork with the ZenABM MCP connected:

**Me:** “What were my top performing ad sets last week?”

**Claude (via ZenABM MCP):** “Let me load the ZenABM tools and pull that.”

**Claude (via ZenABM MCP):** “Last week was quiet: only four ad sets had any active status, and just two of them actually delivered measurable activity.

There were no conversions across any ad set in the last 7 days.

Here’s what ran:

| Ad set | Impressions | Clicks | CTR | Spend | CPC |
| **Text Consolidated May 2026** | 15,916 | 1 | 0.01% | $2.00 | $2.00 |
| **TLA Consolidated, Engagement (May 16)** | 72 | 2 | 2.78% | $0.14 | $0.07 |
| **TLA bootcamp TLAs** | 0 | 0 | n/a | $0 | n/a |
| **TLA Bootcamp, image ads** | 0 | 0 | n/a | $0 | n/a |

So “top performer” depends on what you mean:

- **By reach:** *Text Consolidated May 2026* dominated impressions (\~16K), but it barely drew engagement: 1 click and a 0.01% CTR. It’s spending almost nothing and converting no one.
- **By efficiency:** *TLA Consolidated, Engagement* was the only genuinely effective unit, with a 2.78% CTR and a $0.07 CPC, but on tiny volume (72 impressions).

Net: nothing delivered conversions last week, and spend was minimal (\~$2 total). It looks like most campaigns were on hold (the two “TLA Bootcamp” sets show `CAMPAIGN_GROUP_STATUS_HOLD`).

Want me to pull the last 30 days instead for a more meaningful read, or dig into why the bootcamp ad sets aren’t serving?”

![Claude chat calling the ZenABM MCP server to pull LinkedIn campaign metrics like CTR, CPC and conversions](https://cdn.zenabm.com/media/ZenABMs-MCP-server-in-Claude-Cowork.png)

You can also ask leadership-level questions.

Rather than opening a dashboard to find out what happened this month versus the previous month, you can ask your Claude, and the MCP assembles the answer from **spend, deals, and ABM stage movement in one go:**

**Me:** “What happened in our [ABM program](/blog/abm-program) in May vs in April?”

**Claude (via ZenABM MCP):**

![Claude chat answer with an ABM metrics table and spend insights, pulled from ZenABM via MCP server](https://cdn.zenabm.com/media/ZenABMs-ABM-Campaign-Performance-MCP-servers-response.png)

“Here’s the April to May comparison across your whole ABM program.

The headline: **spend stayed essentially flat, but revenue jumped roughly 11x**, because May was when the program started actually converting.

| Metric | April 2026 | May 2026 | Change |
| **Total ad spend** | \~$5,931 | \~$5,952 | Roughly flat |
| **Attributed revenue** | $199 | $2,245 | **+$2,046 (\~11x)** |
| **Blended ROAS** | 0.03 | 0.38 | **+0.35** |
| **Active [ABM campaigns](/blog/best-linkedin-bidding-strategy-for-abm) w/ spend** | 5 | 7 | +2 |

**What actually changed:**

**1. A structural consolidation mid-May.** Around May 16 you closed out a sprawl of separate intent campaigns (*LinkedIn Ads Intent*, [*ABM Intent*](/blog/signal-based-outbound), *AI May 2026*, *Revenue Attribution Intent*, and *Intent Signals & Sales Outreach*) and rolled them into a single “May 26 Consolidated” campaign. That consolidation is the story of the month, because it alone drove $1,977 in revenue on $550 spend, a 3.59 ROAS, making it by far your best-performing unit and the main reason May’s numbers moved.

**2. April was a high-spend, low-return prospecting month.** Your two biggest April line items were *Workshop 3 Evergreen* ($2,552 spend, $199 revenue, 0.08 ROAS) and *Evergreen Multichannel* ($1,578, $0 revenue). Both were essentially top-of-funnel reach plays that touched lots of companies (Workshop 3 alone reached \~2,500) while producing almost no revenue, and both were wound down by late April to mid-May.

**3. A new bet launched at month-end.** *TLA Bootcamp* kicked off May 19 to 20, targeting \~597 companies and spending $667 so far with no revenue yet, which is too early to judge. (Note: as I flagged earlier, its ad sets are currently on hold because the parent campaign is paused.)

**Net read:** April was about casting a wide, expensive net with little to show for it, while May spent the same money but restructured toward a consolidated, intent-driven campaign that finally produced real ROAS. The direction is right, though blended ROAS is still well under 1.0, so the consolidated winner is carrying the program while everything else is still in invest mode.

One caveat: revenue here is platform-attributed, and ABM deals often close on a lag, so April’s spend may still produce revenue that hasn’t landed yet.

Want me to drill into the May 26 Consolidated campaign to see which accounts and stages are driving that ROAS, so you can double down? Want me to draft the pause for the [Text Ads LinkedIn](/blog/linkedin-text-ads-the-ultimate-guide) intent set, or hand the seven interested accounts to your reps first?”

Notice what happened there.

One natural-language question produced a structured executive summary with a recommendation attached, and it even suggested a **follow-up action:** pausing the Text Ads LinkedIn intent set (By the way, you can use ZenABM’s MCP server in the same way [for analyzing LinkedIn Ads with Claude Code).](/blog/how-to-analyze-linkedin-ads-with-claude-code)

Now that I have shown you how the LinkedIn Ads MCP server works (via ZenABM, which is only $59 per month), let’s look at which questions you can ask it and what you can build with it.

## What questions should you ask your LinkedIn Ads MCP server?

ZenABM’s LinkedIn Ads MCP server can tell you a lot about your LinkedIn Ads performance (including metrics you won’t find in Campaign Manager, like the effective CTR to landing page of your [Thought Leader Ads](/blog/how-to-write-linkedin-thought-leader-ads)) and, more importantly, the actual impact of your ads on your pipeline and revenue.

**Note**: Two metrics show up a lot in this section, so it is worth defining them on first use.

- **eCTR** is the effective click-through rate to your landing page, meaning the share of impressions that turn into an actual landing-page click rather than a like or a comment.
- **eCPC** is the effective [cost per click](/blog/linkedin-target-cpc-bidding) to your landing page, meaning what you really paid for each visitor who reached the page.

### 1. Ask the MCP Server about your LinkedIn Ad performance

- Which ad formats and ads are my top performers by eCTR, with impressions, spend, clicks, CTR, landing-page clicks, eCTR, and eCPC side by side?

LinkedIn ads performance in Claude Cowork via MCP server
- Which ads drove the most landing-page clicks this month?
- Which ads are underperforming, with the fewest clicks and the highest eCPC?
- **Show me a decaying-ads report:** which ads have a declining CTR or eCTR for two or more consecutive weeks above 1,000 impressions, and should be paused?

Decaying ads identified with ZenABM LinkedIn Ads MCP server

These questions are super useful because they let you identify and pause the underperforming ads while funneling more budget into the ones that are already converting.

The decaying-ads report is the one worth running most often, because creative fatigue on LinkedIn is gradual, which means an ad can slide for weeks before anyone notices in a dashboard.

Catching a two-week eCTR decline early means you pause or refresh the creative before it has wasted another month of spend, and you reallocate that budget to a format that is still pulling landing-page clicks.

### 2. Ask your MCP Server to give you an ABM Program Executive summary

- What happened in our ABM program this period? Are we **trending up or down in terms of pipeline generated, deals, closed-won, and pipeline efficiency (pipeline per dollar spent) versus the last period?**

LinkedIn ads MCP server answering question about ABM campaign performance in ZenABM

- Which [LinkedIn campaigns](/blog/linkedin-ads-impression-capping) were the most common touchpoints among companies with open deals, and among closed-won?
- Which campaigns are becoming more or less effective on eCTR, and what are the top three risks and opportunities right now?

The point is not to report activity. It is to answer whether the LinkedIn ABM program is growing by adding more pipeline or stalling, and to tie [LinkedIn spend back to open deals](/blog/connect-linkedin-ad-spend-to-closed-deals) and closed-won revenue.

The MCP server can show you the campaigns that appear most often as a touchpoint before deal creation, and those are exactly the ones you should invest more in.

### 3. Ask the MCP server to give you LinkedIn Ads Green Flags and Red Flags

- **Green flags:** the biggest eCTR increases, the winning ad formats, and the [top five accounts surging in engagement](/blog/rollworks-for-abm) and moving toward interested or considering.
- **Red flags:** decaying ads with eCTR down four weeks running, ad sets with rising spend but falling engagement, and accounts eating impressions and budget without engaging.

Green flags tell you where to lean in, while red flags tell you where to cut your budget.

The green flags that can bring you the most impact are:

- Which accounts are the most engaged with my ads and moving toward interested?

Top engaged accounts from LinkedIn ABM Campaigns fetched from ZenABM’s MCP-server
- Which accounts (companies) are eating impressions without ever engaging?

### 4. Ask your MCP server about the most engaged accounts in your ABM campaigns and the target company’s funnel movement (ABM campaign stages by account)

- Which [ABM campaigns drive the most pipeline](/blog/productive-case-study), the most deals, and the best efficiency (pipeline per dollar), and which are trending up versus decaying?
- Which [ABM campaigns are the most common](/blog/6sense-vs-common-room) touchpoint in open deals and in enterprise deals (top 20% by value)?
- Funnel movement: who moved from aware to interested, interested to considering, who stalled, what is the average time in stage, and which campaigns drive movement?

This set of questions lets you decide which companies are the most engaged in your [ABM campaigns](/blog/abm-strategy-types) and which of them sales should reach out to now.

The stalled accounts matter just as much, because an account that has sat in interested for six weeks past your average time in stage is a prompt to change the creative, add a touch, or hand it to sales before it goes cold.

Knowing which [ABM campaign](/blog/linkedin-maximum-delivery-bidding) produces the most pipeline per dollar tells you where the next increment of budget should go, and knowing which campaign drives the most stage movement tells you which message is actually pushing accounts down the funnel.

### 5. Intents, companies, and contacts

- Which **accounts show the strongest buying intent this period**, what are the **intent topics**, and which topics are trending up?

ZenABM MCP server – intent + top engaged companies.
- Which **companies are the most engaged,** which **are engaging for the first time**, and which **accounts should sales reach out to now?**
- Which **contacts have the strongest intent,** and which should SDRs prioritize today?

This bucket is built for the handoff to sales.

The decision it drives is sequencing: of every account in your program, which three or four should a rep call today because intent is spiking right now.

Pairing the company with its [intent topics](/blog/real-time-buying-signals) (which ZenABM deduces from the company’s interactions with your LinkedIn Ads, based on which ones they clicked on or engaged with) means the rep opens with the thing the account is actually researching rather than a generic pitch, and routing it to the right SDR with the strongest-intent contact attached turns a marketing signal into a booked conversation while the timing still works.

### Ad sets, campaigns, job titles, deals, sources, and exclusions

- **Ad sets and campaigns:** best eCTR, lowest eCPC, highest [account penetration](/blog/account-penetration-strategy-guide), overspending, decaying, and which to pause versus scale.
- **Job titles:** which personas engage most, especially with thought leader ads, which non-ICP personas we overspent on, and which ICP personas are underpenetrated.
- **Deals:** which campaigns and ad sets influenced open and closed-won deals, the touchpoints before deal creation, and which deals look at risk.
- **Sources:** which traffic sources influence pipeline, assist LinkedIn, or correlate with closed-won.
- **Exclusions:** which companies waste spend with the most impressions and the least engagement, so you can exclude or cap them.

Each line here maps to a concrete budget decision.

The ad set view tells you what to pause and what to scale. The job-title view tells you which personas to keep funding and which non-ICP titles to exclude, so you stop paying to reach people who will never buy.

The deals view tells you which [campaigns to defend in your attribution](/blog/9-best-linkedin-ad-attribution-tools) story.

And the exclusions view is the one that quietly pays for itself, because capping the handful of [accounts hogging impressions without engaging](/faq/account-scoring-abm-linkedin) frees real budget to spend on accounts that actually move.

You do not memorize tool names; you ask the question, and the AI picks the tools.

For the account-level engagement side of this, the post on [seeing which companies engage with your LinkedIn Ads](/faq/see-companies-engaging-with-linkedin-ads) shows the data the MCP reads from.

## How to connect the LinkedIn Ads MCP server (Claude Code, ChatGPT, Cursor)

The ZenABM MCP server works with any MCP-compatible client, which covers Claude Code, ChatGPT where MCP is supported, Cursor, and others.

There are two ways to connect.

The fast path is OAuth: open the MCP page, authorize, and your AI tool is connected in a few clicks.

![ZenABM MCP setup page showing the ChatGPT tab with steps to add the server URL as a custom connector](https://cdn.zenabm.com/media/How-to-connect-ZenABM-LinkedIn-ads-MCP-server-to-chatGPT.png)

The manual path is to add the server to your client’s MCP configuration with your API token.

The connection details look like this:

| Setting | Value |
| **MCP server** | `https://zenabm.com/mcp` |
| **Auth** | OAuth, or a Bearer token in the Authorization header |
| **Clients** | Claude Code, ChatGPT (where MCP is supported), Cursor, any MCP-compatible client |

For Claude Code, the full path takes about five minutes:

1. **Start a ZenABM account:** go to [ZenABM](/blog/what-is-zenabm) and connect your [LinkedIn Ads](/blog/linkedin-ads-b2b-saas) and CRM so the server has data to expose.
2. **Open the MCP page:** head to the MCP section in your ZenABM account to start the connection and find the server URL, `https://zenabm.com/mcp`.
3. **Authorize with OAuth:** click connect, approve the access prompt, and Claude Code is linked. If you prefer the manual route, add the server to your MCP config and paste your API token as a Bearer token in the Authorization header instead.
4. **Confirm the tools loaded:** the ZenABM tools register on demand, so you do not need to enable each one, and you can verify the server shows as connected in your client.
5. **Ask your first question:** try “What were my top performing ad sets last week?” and let Claude Code pick the tools, pull the data, and return a structured answer. You can also ask a silly confirmation question:

ZenABM MCP server setup inside Claude Code

The setup is just as short on the other clients. For ChatGPT, where MCP is supported, add the same server URL as a connector and authorize via OAuth, then ask your question in chat.

For Cursor, add the server to your MCP configuration with the URL and your API token, reload, and the tools become available to the agent in your editor.

On safety, this is the part that matters most.

Read questions never change anything.

The write actions, like pausing an ad or activating a campaign, are flagged as destructive, so a compatible client asks for explicit confirmation before it changes your LinkedIn ad serving state.

The AI cannot quietly turn off a campaign: it proposes the change, you approve it, and only then does it run.

The full setup is documented at [the ZenABM MCP docs](/docs/mcp).

## The ZenABM LinkedIn Highlighter extension (built with Claude and the ZenABM MCP server)

To show you what you can actually build on top of this MCP server, let me share something a member of the ZenABM team – Yashasvi – built himself in minutes: the ZenABM LinkedIn Highlighter, a browser extension he created using Claude together with the ZenABM LinkedIn Ads MCP server.

[Embedded post](https://www.linkedin.com/embed/feed/update/urn:li:share:7467162463680258048)

The idea is simple.

Your engaged-account data already lives in ZenABM, but you spend a lot of your day inside LinkedIn itself, scrolling the feed, checking company pages, and reviewing profiles.

The extension closes that gap by surfacing your ZenABM engagement context directly inside LinkedIn, so you can see at a glance which companies in front of you are already engaging with your ads, rather than switching tabs to look them up.

What makes it a useful example for this post is how it was built: Yashasvi described what he wanted to Claude, and because Claude had the ZenABM MCP server connected, it could pull the real data structures (companies, engagement, intent) and wire the extension against them directly.

![ZenABM LinkedIn Highlighter](https://cdn.zenabm.com/media/zenabm-linkedin-highlighter-profile-panel.png)

The MCP server did the heavy lifting of exposing the data, and Claude did the coding.

That is exactly the pattern I described earlier in this post: once your LinkedIn Ads data is exposed as MCP tools, building custom GTM tooling on top of it becomes a prompting exercise instead of an API integration project.

**The extension is open source, and you can install it from the GitHub repository here: [ZenABM LinkedIn Highlighter on GitHub](https://github.com/yashasvisaxena3-jpg/ZenABM-LinkedIn-Ads-MCP-Server).**

Clone the repo, load it as an unpacked extension in your browser, connect it to your ZenABM account, and your LinkedIn browsing immediately gains the account-level engagement layer that ZenABM tracks (Note: It was a rough experiment meant to be an illustration and not an official offering of ZenABM).

If you build something on top of the MCP server yourself, whether it is a Slack reporter, a Notion dashboard, or your own extension, the compounding effect kicks in: each integration makes every other one more valuable.

## The Takeaway

There is no official LinkedIn Ads MCP server, and there probably will not be one soon, but that does not mean you have to keep clicking through Campaign Manager or exporting CSVs to understand your LinkedIn ad performance.

A third-party MCP server like ZenABM’s gives your AI tools direct, structured access to the data that matters: your campaigns, ad sets, creatives, eCTR and eCPC, company-level engagement, ABM stages, intent signals, and (because ZenABM joins LinkedIn engagement to your CRM) the deals and revenue your ads actually influenced.

The workflow change is bigger than it sounds. Instead of assembling a weekly report by hand, you ask one question in Claude Code, Claude Cowork, ChatGPT, or Cursor and get an executive summary with risks, opportunities, and a recommended action attached.

Instead of guessing which accounts sales should call, you ask which companies are spiking on intent today.

And because read questions never change anything while write actions require your explicit confirmation, you get the speed without giving up control of your ad account.

The setup takes about five minutes over OAuth, and you can test the whole thing on real data before paying anything.

## FAQs

Some common questions about LinkedIn Ads MCP Server and related topics:

### How many tools does the ZenABM LinkedIn Ads MCP server expose?

The ZenABM MCP exposes 60+ tools across your ABM data: companies, LinkedIn campaigns, ad sets, creatives, ABM campaigns, ABM stages, HubSpot deals, contacts, job titles, sources, spend, intent signals, and safe status-change actions. You do not call them by name. You ask a question and the AI selects the right tools.

### Is there an official LinkedIn Ads MCP server?

No. LinkedIn does not publish an official MCP server, so you cannot [connect Campaign Manager](/blog/how-to-set-up-linkedin-campaign-manager-hubspot-integration-and-why-theres-a-smarter-way) to an AI tool directly. The practical route is a third-party LinkedIn Ads MCP server that already has your campaign and pipeline data, like ZenABM, which adds ABM, creative, intent, and CRM context on top of the raw ad metrics.

### Which AI tools work with it?

Any MCP-compatible client. That includes Claude Code, ChatGPT where MCP is supported, and Cursor. You connect the server once, and every future conversation in that tool can query your [LinkedIn Ads and ABM](/blog/how-do-linkedin-ads-work) data.

### Is it safe, and can it change my campaigns?

It is safe. Read questions never modify anything. The write actions, such as pausing an ad or activating a campaign, are flagged as destructive, so a compatible client asks for your explicit confirmation before it changes your LinkedIn ad serving state. Nothing changes without your approval.

### How do I get started?

Start a [free ZenABM trial](https://app.zenabm.com/signup), connect the MCP server via OAuth or an API token, and ask your first question in Claude Code, ChatGPT, or Cursor. The full setup steps live in [the ZenABM MCP docs](/docs/mcp).

## Images

- https://cdn.zenabm.com/media/Linkedin-ads-performance-in-Claude-Cowork-via-MCP-server-2.png
- https://cdn.zenabm.com/media/ZenABMs-ABM-Campaign-Performance-MCP-servers-response-2.png
- https://cdn.zenabm.com/media/MCP-server-Linkedin-ads-personas-and-job-title.png
- https://cdn.zenabm.com/media/ZenABMs-LinkedIn-Ads-MCP-server-in-Claude-Code-working-1.png
- https://cdn.zenabm.com/media/Top-performing-LinkedIn-ad-set-data-MCP-server-in-outcome.png
- https://cdn.zenabm.com/media/Linkedin-ads-performance-in-Claude-Cowork-via-MCP-server.png
- https://cdn.zenabm.com/media/underperforming-LinkedIn-ads-decaying-ads-identified-with-ZenABMs-LinkedIn-Ads-MCP-server-.png
- https://cdn.zenabm.com/media/LinkedIn-ads-MCP-server-answering-question-about-ABM-campaign-performance-in-ZenABM.png
- https://cdn.zenabm.com/media/MCP-server-giving-ABM-ad-program-executive-summary-.png
- https://cdn.zenabm.com/media/Top-engaged-accounts-from-LinkedIn-ABM-Campaigns-fetched-from-ZenABMs-MCP-server.png
- https://cdn.zenabm.com/media/ZenABM-MCP-server-intent-top-engaged-companies.png
