Skip to main content
MCP server CX Codex

LinkedIn Ads — Claude Code MCP server for campaign data

Pulls LinkedIn Ads structure and performance into your MCP client, and drafts campaigns only for accounts you name up front.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env LINKEDIN_ADS_ACCESS_TOKEN=<LINKEDIN_ADS_ACCESS_TOKEN> --env LINKEDIN_ADS_REFRESH_TOKEN=<LINKEDIN_ADS_REFRESH_TOKEN> --env LINKEDIN_ADS_CLIENT_ID=<LINKEDIN_ADS_CLIENT_ID> --env LINKEDIN_ADS_CLIENT_SECRET=<LINKEDIN_ADS_CLIENT_SECRET> --env LINKEDIN_ADS_ACCOUNT_IDS=<LINKEDIN_ADS_ACCOUNT_IDS> --transport stdio linkedin-ads -- npx -y @getmcpads/linkedin-ads-mcp-server
Open on GitHub

What LinkedIn Ads does

Eighteen read tools cover the account list and its health, campaign groups, campaigns, creatives, single entities, setup checks, analytics and statistics, professional demographics, revenue attribution, delivery status, targeting lookup and the media library. The client talks to the LinkedIn Marketing API directly with credentials from your own LinkedIn app.

Writes stay hidden unless the environment sets LINKEDIN_ADS_ENABLE_WRITES=true. Those fifteen tools build draft groups, campaigns, text ads and video or image ads, edit and rename entities, duplicate or remove drafts, and handle signed multipart uploads. Every write returns a preview first; nothing changes until confirm is true, and delivery never starts from here. LINKEDIN_ADS_ACCOUNT_IDS is mandatory: one to 100 numeric IDs separated by commas, with anything else refused before a request goes out.

Node.js 22.23.4, 24.22.1, 26.12.1 or newer is required, and an older runtime triggers a warning on stderr. Six resources ship alongside the tools: manifest, metric catalog, pivots, reporting rules, targeting and recipes. npm run doctor lists which variables are present without printing their values.

What it helps with

  • review how campaign groups and campaigns are laid out
  • pull a statistics report for a date range
  • inspect professional demographics behind the numbers
  • prepare a draft campaign and its ads before review
  • check ad media and delivery status

Example prompts for the agent

  • List the campaigns in account 512345678 with their current bids
  • Draft a campaign group for the spring launch and show me the preview
  • Which job functions got the most impressions last month?

How to install LinkedIn Ads

Platform CLI

claude mcp add --env LINKEDIN_ADS_ACCESS_TOKEN=<LINKEDIN_ADS_ACCESS_TOKEN> --env LINKEDIN_ADS_REFRESH_TOKEN=<LINKEDIN_ADS_REFRESH_TOKEN> --env LINKEDIN_ADS_CLIENT_ID=<LINKEDIN_ADS_CLIENT_ID> --env LINKEDIN_ADS_CLIENT_SECRET=<LINKEDIN_ADS_CLIENT_SECRET> --env LINKEDIN_ADS_ACCOUNT_IDS=<LINKEDIN_ADS_ACCOUNT_IDS> --transport stdio linkedin-ads -- npx -y @getmcpads/linkedin-ads-mcp-server

Replace <…> with your own values. 4 more environment variables are in the server README

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about LinkedIn Ads

How do I install LinkedIn Ads in Claude Code?

Run `claude mcp add linkedin-ads -e LINKEDIN_ADS_ACCESS_TOKEN=<LINKEDIN_ADS_ACCESS_TOKEN> -e LINKEDIN_ADS_REFRESH_TOKEN=<LINKEDIN_ADS_REFRESH_TOKEN> -e LINKEDIN_ADS_CLIENT_SECRET=<LINKEDIN_ADS_CLIENT_SECRET> -e LINKEDIN_ADS_ACCOUNT_IDS=<LINKEDIN_ADS_ACCOUNT_IDS> -- npx -y @getmcpads/linkedin-ads-mcp-server`.

What does LinkedIn Ads do?

It exposes LinkedIn Ads accounts to your assistant for reading, and with writes switched on, for staging draft campaigns and ads that wait for confirmation.

Why are write tools missing after install?

They only load when LINKEDIN_ADS_ENABLE_WRITES is exactly true; the default is false. Setting LINKEDIN_ADS_SCOPES without rw_ads also makes writes refuse to run.

Similar MCP servers

All MCP servers for Marketing and content →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor