# io.github.danielpopamd/linkedin-ads-mcp

LinkedIn Ads MCP server: 10 tools for campaigns, creatives, audiences, lead forms. Writes preview.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.0.0
- **Author:** io.github.danielpopamd
- **License:** Unknown
- **Endpoints:** streamable-http https://api.adplug.app/mcp/linkedin-ads
- **Source:** https://github.com/danielpopamd/linkedin-ads-mcp
- **Endpoint health:** reachable (last checked 2026-09-17T13:24:30.662Z, 1 sample) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the content rubric
- Publisher verified: no
- Install scripts: nothing suspicious found
- Prompt-injection scan: clean
- Obfuscation scan: clean
- Evidence age: 1 day

## Security scan

- **Status:** clean
- **Scanned:** 2026-09-17T13:24:10.986Z
- **Version scanned:** HEAD
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.

## Tools

25 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `list_ad_accounts` — Lists all LinkedIn Ad Accounts accessible to the authenticated user. Returns account names, IDs, status, currency, and serving statuses. Use this to get an over
- `get_account_details` — Retrieves detailed information about a specific LinkedIn Ad Account including status, currency, notification settings, and linked organization.
- `compare_performance` — Compares performance between two time periods, campaigns, or campaign groups. Calculates percentage changes and highlights significant differences. Essential fo
- `get_daily_trends` — Retrieves daily performance trends over a specified period. Returns time-series data for visualizing performance patterns, identifying anomalies, and understand
- `create_campaign_group` — Creates a new LinkedIn campaign group for organizing campaigns. Campaign groups manage status, budget, and performance across multiple related campaigns.
- `update_campaign_group` — Updates an existing LinkedIn campaign group. Can change status (ACTIVE/PAUSED/ARCHIVED/DRAFT), budget, name, or end date.
- `delete_campaign_group` — Deletes a LinkedIn campaign group. Draft groups are deleted immediately. Non-draft groups are set to PENDING_DELETION status.
- `create_campaign` — Creates a new LinkedIn ad campaign within a campaign group. Requires targeting criteria, budget, and objective type.
- `update_campaign` — Updates an existing LinkedIn campaign. Can change status (ACTIVE/PAUSED/ARCHIVED), budget, name, targeting, bid amount, and other settings. Uses partial update 
- `delete_campaign` — Deletes a LinkedIn campaign. Draft campaigns are deleted immediately. Non-draft campaigns are set to PENDING_DELETION status.
- `update_creative_status` — Updates the intended status of a LinkedIn creative/ad. Can activate, pause, or archive creatives.
- `create_creative` — Creates a new LinkedIn creative/ad under a campaign. Requires a content reference (post/share URN) or will be created as a reference to existing content.
- `create_inline_ad` — Creates a new LinkedIn ad with inline content directly (without needing a pre-existing post). This creates the ad content (text, image/video, landing page, CTA)
- `list_campaigns` — Lists campaigns for a LinkedIn Ad Account. Unlike get_campaign_performance (which only returns campaigns with analytics data), this tool returns ALL campaigns i
- `upload_image` — Uploads an image file to LinkedIn for use in ads. Supports PNG, JPG, and GIF formats. Returns the image URN that can be used as the mediaId when creating inline
- `get_conversion_performance` — Retrieves conversion metrics broken down by conversion type/action. Shows which conversions are being driven by which campaigns, with cost per conversion and co
- `list_conversions` — Lists all conversion tracking rules configured for an account. Shows conversion names, types, attribution windows, and enabled status.
- `get_lead_gen_performance` — Retrieves lead generation form performance including form submissions, qualified leads, and cost per lead. Essential for B2B marketers running lead gen campaign
- `list_lead_forms` — Lists all lead generation forms configured for an account with their questions and settings. Helps understand what forms are available and their configuration.
- `get_audience_demographics` — Retrieves demographic breakdown of who saw or interacted with your ads. Shows performance segmented by job function, seniority, industry, company size, or geogr
- `get_audience_reach` — Shows unique member reach and native audience penetration for campaigns. Returns LinkedIn's native audiencePenetration metric (approximate unique members reache
- `list_saved_audiences` — Lists saved/matched audiences available in the account for targeting. Shows audience names, sizes, and statuses to help plan campaign targeting.
- `get_campaign_performance` — Retrieves performance metrics for campaigns within a specified date range. Returns key metrics like impressions, clicks, spend, CTR, conversions, audience penet
- `get_creative_performance` — Retrieves performance metrics for individual ad creatives. Shows which specific ads are performing best, including engagement metrics (likes, comments, shares),
- `get_campaign_groups` — Lists all campaign groups for an account with their configuration and optionally aggregated performance. Campaign groups help organize campaigns and control bud

## Install

**Verdict: review** — Installable, but 2 things to check first: No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"linkedin-ads-mcp\": {\n      \"type\": \"http\",\n      \"url\": \"https://api.adplug.app/mcp/linkedin-ads\"\n    }\n  }\n}"
```

## Blast radius

Extensive blast radius — deletes data; runs on someone else's infrastructure.
- Floor 34, ceiling 58 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/io.github.danielpopamd%2Flinkedin-ads-mcp
- Install plan: https://forgeregistry.com/api/v1/packages/io.github.danielpopamd%2Flinkedin-ads-mcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/io.github.danielpopamd%2Flinkedin-ads-mcp
- HTML page: https://forgeregistry.com/registry/io.github.danielpopamd%2Flinkedin-ads-mcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
