
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.

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 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:
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.
Short on time?
Here’s a quick rundown:

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.

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, 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 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:

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, 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”.
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 from the data that actually drives revenue.
The reasons it beats dashboards or the LinkedIn Campaign Manager come down to a few things:
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 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. The compounding effect of multiple MCPs working together is way more valuable than any single integration.” Read Ali Yildirim’s LinkedIn post here.
Hopefully this explains why you need a LinkedIn Ads MCP server, so now let me explain exactly how ZenABM’s MCP server works.


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 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.
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:
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?”

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 in May vs in April?”
Claude (via ZenABM MCP):

“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 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, 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 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).
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.
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) 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.


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.


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

This set of questions lets you decide which companies are the most engaged in your ABM campaigns 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 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.

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 (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.
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 story.
And the exclusions view is the one that quietly pays for itself, because capping the handful of accounts hogging impressions without engaging 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 shows the data the MCP reads from.
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.

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:
https://zenabm.com/mcp.
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.
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.
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.

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.
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.
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.
Some common questions about LinkedIn Ads MCP Server and related topics:
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.
No. LinkedIn does not publish an official MCP server, so you cannot connect Campaign Manager 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.
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 data.
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.
Start a free ZenABM trial, 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.