
InsightfulPipe publishes this guide, and the steps use its hosted LinkedIn Ads server. The end of the guide covers LinkedIn's own read-only app for ChatGPT and building on LinkedIn's API yourself.
Last updated: 2026-09-30
Short answer: To connect LinkedIn Ads to Claude, connect LinkedIn Ads in InsightfulPipe, add https://linkedin-ads.insightfulmcp.com/ as a custom connector in Claude, and click Connect. You sign in with LinkedIn, so there is no developer app and no Advertising API application. Plans start from $29.99 a month.
The quick version
Six steps, all in a browser. The first four connect the account, and the last two prove Claude can see it before it changes anything.
- In InsightfulPipe, open Connected accounts, click Connect account and pick LinkedIn Ads.
- Choose Read-only or Read & write, sign in with LinkedIn and select your ad accounts.
- In Claude, open Customize > Connectors, click +, then Add custom connector.
- Paste
https://linkedin-ads.insightfulmcp.com/, click Continue, then Add and Connect. - In a new chat, click +, open Connectors and switch LinkedIn Ads on.
- Run the read-only check under "Verify it worked" before you ask for any change.
Ways to connect LinkedIn Ads to Claude, at a glance
Four routes put LinkedIn Ads in front of an AI assistant. InsightfulPipe's hosted LinkedIn Ads MCP server works in Claude with one LinkedIn sign-in, while LinkedIn's own app stays inside ChatGPT and only reads.
Route | Works in | Reports | Changes campaigns | What you set up |
|---|---|---|---|---|
InsightfulPipe LinkedIn Ads server | Claude, ChatGPT, Claude Code, Cursor, Gemini CLI, Codex CLI | 18 read actions, including job title and seniority breakdowns | 10 write actions, new campaigns created paused | A LinkedIn sign-in and one URL, from $29.99 a month |
LinkedIn Ads app, built by LinkedIn | ChatGPT only | Ad set performance, in beta | No, read-only | Connect it inside ChatGPT |
Your own server on LinkedIn's API | Any MCP client you configure | Whatever you build | Edits on 5 ad accounts until LinkedIn grants the Standard tier | A developer app, Advertising API approval and hosting |
A Campaign Manager export | Any chat client | A snapshot | No | Export a CSV and upload it |
What you are actually connecting
Claude never receives your LinkedIn password. It sends a structured request over MCP, and InsightfulPipe runs the matching LinkedIn Marketing API call with the access you authorized.
Claude → InsightfulPipe LinkedIn Ads server → your authorized LinkedIn ad account
The April 2026 video shows the analysis. The steps below show today's setup screens.

Four limits decide what Claude can reach: your InsightfulPipe workspace, the ad accounts you selected, the actions switched on for each account, and your own LinkedIn role. Your team sets the first three in InsightfulPipe, and your LinkedIn admin sets the fourth.
You do not need your own LinkedIn developer app, Advertising API approval, a server to host or an API version to track.
Before you start
You need four things before step 1, and each one takes a minute to check.
- Campaign Manager access for your LinkedIn login. A Viewer is enough for reports.
- An InsightfulPipe workspace, from $29.99 a month. Each ad account counts as one connection, and Starter includes 8. Start a trial if you have none.
- The right workspace role. Owners, admins and operators connect accounts and choose their actions. Members on the user role run reads on the accounts an owner or admin grants them.
- A client with remote MCP support. Claude offers custom connectors on every plan, one on Free (Anthropic). ChatGPT, Claude Code, Cursor, Gemini CLI and Codex CLI work too.
LinkedIn's own roles still apply. LinkedIn's roles page lists Billing admin, Account manager, Campaign manager, Creative manager and Viewer. A Viewer can view performance but cannot create campaigns or edit ads, even when an app holds write permission (LinkedIn API docs). InsightfulPipe never expands the authority of the login you connect.
Step 1: Connect LinkedIn Ads in InsightfulPipe
Step 1 happens in InsightfulPipe and takes one LinkedIn sign-in. You pick the access level before LinkedIn asks for anything.
- Open Connected accounts and click Connect account.
- On Add an integration, find LinkedIn Ads and click Connect.
- Under Access level, choose Read-only or Read & write.
- Check the MCP / CLI actions list beneath it and switch off anything this account should never run.
- Click Continue with LinkedIn Ads and sign in with LinkedIn.
- Under Select the accounts you want to connect, tick your ad accounts, then click the button that counts them, such as Connect 2 accounts.
Each ad account becomes its own connection with its own action list. Read-only locks every write until an admin reconnects the account with read and write, which asks LinkedIn for the rw_ads permission.

Step 2: Add the server URL in Claude
Step 2 happens in Claude. You add InsightfulPipe's LinkedIn Ads server as a custom connector, then approve it once in your browser.
- Copy the server URL:
https://linkedin-ads.insightfulmcp.com/ - In Claude, open Customize > Connectors.
- Click +, then Add custom connector.
- Name it LinkedIn Ads, paste the URL, click Continue, then Add.
- Click Connect on the new connector.
- Sign in to InsightfulPipe if asked. Claude then lists the connector as connected.

On Team and Enterprise plans, an owner first adds the connector under Organization settings > Connectors. Each member then clicks Connect under Customize > Connectors (Anthropic).
Prefer one click? InsightfulPipe's listing in Claude's connector directory connects the unified server with every platform in your workspace. The URL above keeps Claude on LinkedIn Ads.

Step 3: Switch the connector on and set tool permissions
Step 3 decides where Claude uses the connector and which tools run without asking you. Both settings live in Claude, and you can change them at any time.
- Start a new chat.
- Click + at the lower left, open Connectors and switch LinkedIn Ads on.
- Open Customize > Connectors, select the connector and find Tool permissions.
- Set LinkedIn Ads Data Query (
query_data) to Always allow and LinkedIn Ads Execute Action (execute_action) to Needs approval.
Reports run through query_data and every change through execute_action, so Claude reads freely and stops for your click before any change (Anthropic). Switch back to Always allow once you trust a routine.

Step 4: Choose which actions each ad account allows
Step 4 is the control on InsightfulPipe's own server, so it holds in every client. An owner, admin or operator sets it per ad account and can change it at any time.
- Open Connected accounts in InsightfulPipe.
- On the LinkedIn Ads row, click the actions button, which shows the enabled count over the total. Its tooltip reads Configure actions for this account.
- Use the All, Read only, Write and Destructive tabs to switch actions on or off.
- Click Save actions.
A switched-off action drops out of what the assistant sees, and the server refuses it if the assistant calls it anyway. LinkedIn Ads has no delete action, so its Destructive tab stays empty. The switches that matter most sit on the Write tab: update_campaign, update_campaign_group and update_creative.

Step 5 (optional): ChatGPT, Claude Code, Cursor, Gemini CLI and Codex CLI
The same URL works in any client that supports remote MCP servers. Each finishes with the same InsightfulPipe sign-in, and the step 4 switches hold in all of them.
ChatGPT. Turn on Developer mode under Settings, then Security and login. Go to ChatGPT Plugins, click + and create an app with the URL, then click Connect and sign in to InsightfulPipe if asked. In each chat, choose Developer mode from the + menu and pick the app. OpenAI offers it on Pro, Plus, Business, Enterprise and Education accounts on the web, and ChatGPT asks you to confirm write actions by default (OpenAI). The InsightfulPipe app in ChatGPT's directory needs no Developer mode.
The terminals. One command each:
claude mcp add --transport http linkedin-ads-mcp https://linkedin-ads.insightfulmcp.com/
gemini mcp add --transport http linkedin-ads-mcp https://linkedin-ads.insightfulmcp.com/
codex mcp add linkedin-ads-mcp --url https://linkedin-ads.insightfulmcp.com/In Claude Code, type /mcp, select linkedin-ads-mcp and choose Authenticate. Claude Code adds the server to the current project by default, so add --scope user to use it everywhere (Claude Code docs). In Gemini CLI, type /mcp auth linkedin-ads-mcp. Codex CLI opens the browser by itself.
Cursor. Use the Cursor install link in the setup section of the LinkedIn Ads MCP server page. Click Open Cursor, then Install. When the server shows Needs authentication, click Connect, then Open, and sign in to InsightfulPipe if asked.
Verify it worked
Check three things, in this order, before you ask Claude to change anything. None of them writes to LinkedIn.
1. The connection is live. In a new Claude chat, open +, then Connectors, and find LinkedIn Ads switched on. In Claude Code, run claude mcp list and look for linkedin-ads-mcp marked connected. A "Needs authentication" mark means you still need /mcp.
2. Run a prompt that cannot do harm. Paste this as it stands. Its last line tells Claude to change nothing.
List the LinkedIn ad accounts available to this connection.
Return the account name, account ID, currency and status.
Do not run a report and do not change anything.The list comes from LinkedIn, so it can include accounts your login sees but this workspace did not connect. Claude works only on the connected ones.
3. Run a real read. Ask for last week's spend by campaign, then compare one number with Campaign Manager for the same dates. LinkedIn reports cost in the account currency and in US dollars, so check which one you are reading. If step 1 or step 2 fails, go to Troubleshooting.
Prompts to run first
Start with reads that answer a real B2B question. Name the ad account first, and name a campaign for any demographic breakdown.
Prompt | What Claude runs |
|---|---|
"What was cost per lead by campaign last month?" |
|
"Which job titles cost least per lead in campaign [ID]?" |
|
"Which creatives have the highest CTR in the Q3 campaign group?" |
|
"What revenue did LinkedIn attribute to last quarter's campaigns?" |
|
"Create a paused campaign in the Webinars group with a $100 daily budget" |
|
get_demographic_analytics splits results by job title, job function, seniority, industry, company size, company, country and region. Two prompts worth pasting as they are:
Use LinkedIn ad account [ACCOUNT_ID].
For campaign [CAMPAIGN_ID], break down the last 90 days by job title and by seniority.
Include impressions, clicks, spend and leads for each row.
Rank the rows by cost per lead. Do not change anything.Use LinkedIn ad account [ACCOUNT_ID].
Compare the last 30 complete days with the previous 30 complete days.
Break the report down by campaign.
Include spend, impressions, clicks, leads and cost per lead.
The prompt library and the LinkedIn Ads Claude skills are free. The LinkedIn Ads auditor skill checks CPL, targeting, lead quality and creative, and the B2B optimizer plans lead gen and ABM campaigns.
What Claude can change, and the switches that decide it
InsightfulPipe gives Claude 28 LinkedIn Ads actions, 18 read and 10 write, and each one is a switch per ad account. That control, enforced on the server in every client, makes InsightfulPipe the safest way to let an AI agent change a LinkedIn Ads account.
- Read-only means read-only. A read-only connection locks every write until an admin reconnects the account with read and write.
- Every action is a switch. An owner, admin or operator turns any of the 28 on or off per ad account. The server refuses a switched-off action in every client.
- New campaigns start paused, for you to set live when they are ready. LinkedIn rejects paused on a new campaign group or creative, so those start active, and nothing serves while the campaign stays paused.
- Going live is its own switch.
update_campaigncan set a campaign ACTIVE, which starts spend. Switch it off, withupdate_campaign_groupandupdate_creative, wherever Claude should build but never launch. - Archiving sits behind the same switches. Those updates can also set ARCHIVED or PENDING_DELETION.
- Budgets go to LinkedIn as you state them. Put the number in the prompt, or switch off
update_campaignandupdate_campaign_groupto keep budgets out of reach. - Roles hold. Members on the user role run reads on the accounts they hold, and only operators, admins and owners write. An owner or admin sets each role.
Beyond reports with more than 90 metrics, the 28 actions build campaign groups, campaigns and creatives: image, video, carousel, lead gen and existing-post ads, with lead gen forms and media uploads.

Company Page and profile posts run on the separate LinkedIn Page & Profile server. Competitor ads from the LinkedIn Ad Library run on the ads libraries server.
Troubleshooting
Most failures trace back to the account list, the access level or a missing campaign. Quoted messages are the exact text InsightfulPipe shows.
- The connector does not appear. Switch it on from +, then Connectors, in each new chat. In ChatGPT, pick Developer mode from the + menu. In Claude Code, run
/mcp. - "You don't have access to any LinkedIn Ads accounts. Contact your workspace administrator to request access." Finish step 1, or ask an owner or admin to grant you the account.
- "Multiple LinkedIn Ads accounts are available. Please specify ad_account_id." Ask Claude to list the accounts, then name one by ID.
- "This action is disabled for this connected account. An owner or admin must enable it for the account." An owner, admin or operator switches it on under Configure actions for this account.
- "This account is connected read-only, so this action cannot be enabled for it. An owner or admin must reconnect it with Read & Write permissions." An admin reconnects the account with Read & write.
- "Your role does not have permission to execute write actions. Only operators, admins, and owners can execute write operations." An owner or admin can change your role.
- "'campaigns' is required for action 'get_demographic_analytics'." Name a campaign in the prompt.
- The report is empty. Widen the dates, write them as YYYY-MM-DD and check the account delivered then. Empty is not always an authentication problem.
- "LinkedIn credentials have expired. Please reconnect the account." Reconnect the account in InsightfulPipe.
Other routes, including LinkedIn's own app
LinkedIn's own option works only inside ChatGPT and only reads. Every route into Claude runs through a hosted server or code you run yourself.
- LinkedIn Ads app for ChatGPT. LinkedIn built it for ChatGPT's app directory. It is in beta, reads ad set performance only and does not work in Claude.
- Your own server on LinkedIn's API. You need a developer app and Advertising API approval. The Development tier reads unlimited ad accounts but edits only five (access tiers). The Standard tier takes a request with a video (quick start), and LinkedIn may decline it. LinkedIn also retires API versions: the October 2025 version ends on October 15, 2026.
- Open-source servers. danielpopamd/linkedin-ads-mcp is MIT licensed and self-hosted. Its README asks for a Company Page and a developer app with Advertising API access.
- Hosted reporting connectors. Windsor.ai lists twelve LinkedIn writes that pause, enable, rename or set budgets, schedules and targeting, and make draft ads from existing posts; none creates a campaign. Two Minute Reports says Claude "cannot create, edit, pause, or delete anything" through it.
- A Campaign Manager export. Any chat client reads an uploaded CSV, but it is a snapshot and changes nothing.
Building your own takes a developer, Advertising API approval and hosting. InsightfulPipe takes a LinkedIn sign-in, works in Claude and ChatGPT, and builds campaigns within limits an admin sets per ad account. Start a trial.
Frequently asked questions
Sources (checked 2026-09-30)
Each outside claim comes from the publisher's own page, opened on 2026-09-30 unless a date says otherwise.
- Anthropic: custom connectors using remote MCP and using connectors and tool permissions
- OpenAI: Developer mode
- Claude Code: MCP documentation
- LinkedIn: user roles and permissions in Campaign Manager; LinkedIn Ads app listing, openai.com/business/plugins/linkedin-ads, browser-checked 2026-09-29
- Microsoft Learn: Marketing API documentation, recent changes, access tiers, quick start and ad account users
- Windsor.ai: write actions
- Two Minute Reports: LinkedIn Ads connector for Claude
- GitHub: danielpopamd/linkedin-ads-mcp
- InsightfulPipe: LinkedIn Ads MCP server and pricing





