Skip to main content
Glama
charltonmediagroup

LinkedIn Ads MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LINKEDIN_ACCESS_TOKENYesYour LinkedIn OAuth access token with required scopes (r_ads, rw_ads, r_ads_reporting, r_basicprofile)
LINKEDIN_AD_ACCOUNT_IDYesYour LinkedIn Ad Account ID (e.g., urn:li:sponsoredAccount:123456789)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_ad_accountsA

List all LinkedIn Ad accounts the authenticated user has access to. Use this to find account IDs when managing multiple accounts.

switch_default_accountA

Show which account is currently the default, and explain how to target a different one.

list_campaign_groupsA

List all campaign groups in the ad account. Returns names, statuses, budgets.

get_campaign_groupA

Get details of a single campaign group by ID.

create_campaign_groupB

Create a new campaign group. Validates that budget type is consistent.

update_campaign_groupC

Update an existing campaign group.

list_campaignsC

List campaigns, optionally filtered by group or status.

get_campaignB

Get full details of a single campaign.

create_campaignA

Create a new campaign. Enforces best practices: audience expansion OFF, audience network OFF, manual bidding default.

update_campaignC

Update a campaign. Re-applies best-practice enforcement.

list_saved_audiencesA

List all saved/matched audiences in the ad account.

get_saved_audienceC

Get details of a single saved audience.

create_saved_audienceC

Create a new saved audience with targeting criteria.

update_saved_audienceB

Update a saved audience's targeting criteria or name.

delete_saved_audienceC

Delete a saved audience by ID.

bulk_geo_swap_audiencesB

Clone a list of saved audiences, replacing one geo-location with another. E.g., swap UK targeting to US and auto-create new audiences with updated names.

search_targeting_entitiesB

Search for targeting entities like job titles, skills, industries, companies.

get_audience_sizeB

Estimate audience size for given targeting criteria.

get_geo_urnsC

Get common geo URNs for targeting (convenience helper).

upload_imageA

Upload an image to the LinkedIn media library from a local file or Google Drive link.

upload_videoB

Register a video upload to the LinkedIn media library. Returns upload URLs for multipart upload.

create_sponsored_postA

Create a sponsored post (dark post) for use as ad content. This post won't appear in the org's feed — it's only used as ad creative. Returns a share URN to pass to create_ad_creative. REQUIRES w_organization_social OAuth scope — if you get ACCESS_DENIED, add this scope to your LinkedIn app and re-authorize.

create_full_adA

End-to-end ad creation: upload image + create dark post + create ad creative. Combines upload_image, create_sponsored_post, and create_ad_creative into one call. REQUIRES w_organization_social OAuth scope for post creation.

list_creativesC

List ad creatives, optionally filtered by campaign.

create_ad_creativeA

Create an ad creative and associate it with a campaign. For sponsored content ads, first create a share/post and pass its URN as contentReference. For lead gen, also provide leadgenFormUrn and callToAction.

get_creativeC

Get details of a single creative by ID.

get_campaign_analyticsB

Pull performance metrics for one or more campaigns over a date range.

get_creative_analyticsC

Pull performance metrics at the creative/ad level.

get_account_summaryB

Get a high-level summary of account performance over a date range.

get_conversion_trackingB

List all conversion rules configured on the account.

get_lead_form_responsesC

Pull lead gen form responses for a specific form.

run_full_auditA

Run a comprehensive audit across 10 checks: declining CTR, low budget utilization, missing conversion tracking, maximized delivery, audience expansion, audience network, stale campaigns, creative fatigue, overlapping audiences, missing UTM parameters.

check_single_auditA

Run a single audit check by name. Useful for targeted investigation.

bulk_create_campaign_groupsA

Queue and execute bulk creation of campaign groups (up to 100). Each item can have unique names, budgets, and schedules. Executes sequentially with rate limiting. Returns a summary with IDs of all created groups.

bulk_create_campaignsB

Queue and execute bulk creation of campaigns (up to 100). Supports $ref:group_N references to link to groups created in the same session. Best practices are enforced on every campaign.

bulk_update_campaignsB

Bulk update multiple campaigns at once — e.g. pause all, change bids, swap targeting.

get_queue_statusC

Check the status of a bulk execution queue.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/charltonmediagroup/LICampaignsMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server