LinkedIn Ads Library MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LinkedIn Ads Library MCP ServerAnalyze Datadog's LinkedIn ads and break down their targeting."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

LinkedIn Ads Library MCP Server
This is a Model Context Protocol (MCP) server for the LinkedIn Ad Library.
With this you can search LinkedIn's public ad library for any company or brand, see what they're currently running and analyze their advertising. You can analyze ad images/text, analyze video ads with comprehensive insights, compare companies' strategies, and get insights into what's working in their campaigns.
Here's an example of what you can do when it's connected to Claude.
Hosted Version (Recommended)
The easiest way to use the LinkedIn Ads Library MCP is the hosted version from Proxy (useproxy.dev). No API keys, no Gemini key, no Python, no server to run — just connect and start querying.
⚡ Zero setup — nothing to install, configure, or maintain
🔑 No API keys — skip the ScrapeCreators and Gemini keys entirely
🔌 Works everywhere — ChatGPT, Claude, Cursor, Manus, and anywhere else that supports MCP
🚀 Always up to date — new tools and fixes ship automatically
👉 Get started for free at useproxy.dev →
Prefer to run it yourself? The full self-host setup is documented below.
Hosted vs. Self-Host
Hosted — Proxy (useproxy.dev) | Self-Host | |
Setup time | None — connect and go | Python env + config |
API keys required | None | ScrapeCreators + Gemini |
Infrastructure | Fully managed | You run and maintain it |
Updates | Automatic | Manual |
Works in ChatGPT, Claude, Cursor, Manus | ✅ | ✅ |
Best for | Most users who just want the data | Developers who want to customize the code |
For most people, the hosted version is the fastest path. Choose self-host if you specifically want to modify or extend the server yourself.
Related MCP server: Facebook Ads Library MCP Server
Example Prompts
How many LinkedIn ads is 'Salesforce' running? What's their split across video, image and carousel?Who is 'Datadog' targeting on LinkedIn? Break down the audience, seniority and locations across their ads.Find LinkedIn ads mentioning 'AI agents' and tell me which offers they're pushing — demos, webinars or reports.Do a deep comparison of the messaging between 'HubSpot' and 'Salesforce' on LinkedIn. Give it a nice forwardable summary.Installation
Prerequisites
Python 3.12+
Anthropic Claude Desktop app (or Cursor)
Pip (Python package manager), install with
python -m pip installAn API key for an ads data provider, set as
SCRAPECREATORS_API_KEY(see configuration below)A Google Gemini API key for video analysis (optional, only needed for video ads)
Prefer not to deal with API keys? See the Hosted Version above to skip setup entirely.
Quick Install (Recommended)
Clone and run the install script
git clone https://github.com/proxy-intell/linkedin-ads-library-mcp.git cd linkedin-ads-library-mcp # For macOS/Linux: ./install.sh # For Windows: install.batConfigure your API keys
Edit the
.envfile that was created and add your API keys:Set your ads data API key as
SCRAPECREATORS_API_KEYGet your Gemini API key at Google AI Studio (optional, for video analysis)
Follow the displayed MCP configuration
The install script will show you the exact configuration to add to Claude Desktop or Cursor.
Manual Install
If you prefer to install manually:
Clone this repository
git clone https://github.com/proxy-intell/linkedin-ads-library-mcp.git cd linkedin-ads-library-mcpInstall dependencies
pip install -r requirements.txtConfigure API keys
Copy the template and configure your API keys:
cp .env.template .env # Then edit .env with your actual API keysTo obtain API keys:
Set your ads data API key as
SCRAPECREATORS_API_KEYin the.envfileGet a Google Gemini API key here (optional, for video analysis)
Connect to the MCP server
Add the MCP server configuration to your Claude Desktop or Cursor config:
{ "mcpServers": { "linkedin_ads_library": { "command": "/usr/local/opt/python@3.13/bin/python3", "args": [ "{{PATH_TO_PROJECT}}/linkedin-ads-library-mcp/mcp_server.py" ] } } }Replace
{{PATH_TO_PROJECT}}with the full path to where you cloned this repository.Note: API keys are automatically loaded from the
.envfile. Command line arguments are still supported and take priority over environment variables if provided.For Claude Desktop:
Save this as
claude_desktop_config.jsonin your Claude Desktop configuration directory at:~/Library/Application Support/Claude/claude_desktop_config.jsonFor Cursor:
Save this as
mcp.jsonin your Cursor configuration directory at:~/.cursor/mcp.jsonRestart Claude Desktop / Cursor
Open Claude Desktop and you should now see the LinkedIn Ads Library as an available integration.
Or restart Cursor.
Technical Details
Claude sends requests to the Python MCP server
The MCP server queries the ads data API for LinkedIn Ad Library data
Data flows back through the chain to Claude
LinkedIn Ads
This server connects to LinkedIn's public Ad Library:
Three ways to search.
companymatches an advertiser name,keywordmatches ad copy across advertisers, andcompany_idpins one exact organisation. Prefercompany_idwhen you have it — name matching can pull in similarly named companies.Targeting is the differentiator. LinkedIn publishes the audience an advertiser selected — language, location, and audience criteria like job seniority, function or company size. No other ad library exposes this, and it's the most useful field for B2B competitive work.
Ads run from people as well as pages.
posterTitleandpromotedBytell you whether an ad is served from a company page or boosted from an employee's personal profile — a common founder-led B2B pattern.Creative lives in three fields.
image,videoandcarouselImagesare populated depending on ad type, and carousel entries come back as either bare URLs or objects. The server normalises all of this intoimage_urls/video_url.Detail lookups need a URL. The upstream detail endpoint takes a
linkedin.com/ad-library/detail/...URL rather than an ID, soget_linkedin_ad_detailsaccepts either and builds the URL for you.
Tips:
Search by
company_idfor exact advertiser matching; fall back tocompanyname if you don't have itUse
keywordto research a topic or category rather than a single advertiserNarrow with
countriesandstart_date/end_datewhen an advertiser runs a lot of ads
Available MCP Tools
This MCP server provides tools for interacting with LinkedIn Ad Library objects:
Tool Name | Description |
| Searches the LinkedIn Ad Library by company, keyword or company ID, with country and date filters |
| Gets full detail for a specific ad — targeting, per-country impressions, creative and destination |
| Downloads and analyzes ad images for visual elements, text, colors, and composition |
| Downloads and analyzes ad videos using Gemini AI for comprehensive video insights |
| Gets statistics about cached media (images and videos) and storage usage |
| Searches previously analyzed media by brand, colors, people, or media type |
| Cleans up old cached media files to free disk space |
Troubleshooting
Common Issues
API Key Not Found Error:
Ensure your
.envfile is in the project root directoryIf you don't have a
.envfile, copy it from the template:cp .env.template .envCheck that your API keys are correctly formatted without quotes
Verify the
.envfile containsSCRAPECREATORS_API_KEY=your_key_hereFor video analysis, ensure
GEMINI_API_KEY=your_key_hereis also added
Search Returns No Ads:
Use the company name exactly as it appears on their LinkedIn page
Better still, search by
company_idfor an exact matchThe advertiser may not have run ads in the period or countries you filtered to
Video Analysis Not Working:
Confirm you have a valid Google Gemini API key in your
.envfilePass
ad_idalongsidemedia_urlso analysis caches per ad — LinkedIn CDN URLs carry expiry parameters that rotate
MCP Server Connection Issues:
Verify the path in your MCP configuration points to the correct location
Make sure you've installed all dependencies with
pip install -r requirements.txtRestart Claude Desktop/Cursor after configuration changes
For additional Claude Desktop integration troubleshooting, see the MCP documentation. The documentation includes helpful tips for checking logs and resolving common issues.
Tests
The response parsing has a self-check that runs without network access or API keys:
python3 test_parsing.pyFAQ
What is the easiest way to use the LinkedIn Ads Library MCP? The easiest way is the hosted version from Proxy (useproxy.dev). It requires no API keys, no installation, and no server — you connect it to ChatGPT, Claude, Cursor, or any MCP client and start querying immediately. You can start for free.
Do I need an API key to use this MCP?
Only if you self-host. The hosted version at useproxy.dev handles all data access for you, so no ScrapeCreators or Gemini keys are needed. Self-hosting requires a SCRAPECREATORS_API_KEY (and a Gemini key for video analysis).
What can I get from LinkedIn that I can't get from the other ad libraries? Targeting. LinkedIn publishes the audience each advertiser selected — language, location, and criteria like job seniority, function and company size — which makes it the most useful ad library for B2B competitive research.
Which MCP clients does it work with? Both the hosted and self-hosted versions work with ChatGPT, Claude (Desktop and web), Cursor, Manus, and any other client that supports the Model Context Protocol.
Is there a free version? Yes — the hosted version from Proxy offers a free tier so you can start analyzing ads without any setup.
Should I self-host or use the hosted version? Use the hosted version if you just want fast, reliable access to LinkedIn Ad Library data with zero maintenance — this fits most users. Self-host only if you want to modify or extend the server code yourself.
Feedback
Your feedback will be massively appreciated. Please tell us which features on that list you like to see next or request entirely new ones.
License
This project is licensed under the MIT License.
Made with ❤️ by the team at Proxy.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceEnables searching and analyzing Facebook's public ads library to see what companies are currently running, including ad images/text, video links, and campaign insights.Last updated279MIT
- Alicense-qualityBmaintenanceEnables searching and analyzing Facebook's public ads library for any brand, including ad images, text, and video analysis.Last updated279MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to search LinkedIn's Ad Library for sponsored ads, job postings, and paid endorsements, providing insights into competitor strategies and hiring signals.Last updated3MIT
- Flicense-qualityCmaintenanceEnables users to monitor and analyze competitor LinkedIn posts, extract insights, generate original post concepts, and create graphics-ready content with metadata.Last updated
Related MCP Connectors
Search Meta, Google Ads, LinkedIn, and TikTok ad libraries plus creative analysis via MCP.
Create, launch & analyze ad campaigns, spy on competitors - Google, Meta, TikTok, LinkedIn & more.
AI ad studio: competitor ad research, video + image ads, social publishing, campaigns. 262 tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/proxy-intell/linkedin-ads-library-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server