LinkedIn Ads
Manage LinkedIn Campaign Manager accounts, campaigns, creatives, and ad analytics via MCP.
Overview
Connect LinkedIn Ads so AI clients can manage Campaign Manager accounts, campaigns, creatives, and reporting analytics through the LinkedIn Advertising API. This is the hosted LinkedIn Ads MCP integration for Claude, ChatGPT, Cursor, and other MCP clients — separate from the organic LinkedIn posting integration.
Common use cases
- Discover ad accounts — list accounts (with names and roles) the authorizing member can access, and fetch full account details.
- Inspect structure — list campaign groups, campaigns, and creatives.
- Optimize campaigns — create or partially update campaigns and campaign groups (pause/enable).
- Reporting — pull ad analytics by account, campaign, campaign group, or creative.
Prerequisites
- A LinkedIn account with access to at least one Campaign Manager ad account
- A stackgate.ai account
- A LinkedIn developer application with Advertising API access (Campaign Management + Reporting) and Sign In with LinkedIn using OpenID Connect enabled
- OAuth redirect URI registered:
https://stackgate.ai/oauth/linkedin-ads/callback
Organic LinkedIn (posts, comments, Company Page tools) uses a separate marketplace integration and developer app credentials.
Getting credentials
- Sign in to stackgate.ai.
- Go to My Integrations and open LinkedIn Ads.
- Click Connect LinkedIn Ads and approve the OAuth prompt (profile + ads read/write + reporting).
- stackgate.ai stores your OAuth tokens encrypted. No manual API keys are required.
- Call
list_ad_accounts(returns name, role, status, currency), optionallyget_ad_accountfor one account, thenset_default_ad_accountso later tools can omitad_account_id.
Using with AI clients
- Dedicated endpoint:
POST /mcp/linkedin-adswith a Sanctum bearer token - Private gateway: one config for all integrations — use
linkedin-ads__*namespaced tools
See Documentation for HTTP authentication and private gateway setup.
Limitations
- Development Tier may restrict some write operations until LinkedIn grants broader Advertising API access.
- Audiences / Lead Sync / Conversions are out of scope for this integration.
- Create campaign / campaign-group tools expect LinkedIn’s native JSON payloads — draft complex targeting in chat before calling write tools.
- Organic member or Company Page posting is handled by the separate LinkedIn integration.
Troubleshooting
- 422 integration not configured — complete the OAuth connect flow in My Integrations for LinkedIn Ads (not organic LinkedIn).
- 403 / ACCESS_DENIED — missing Advertising API product approval or ad account role; reconnect after LinkedIn grants
r_ads/rw_ads/r_ads_reporting. - Token expired — disconnect and reconnect LinkedIn Ads from the integration page.
- Wrong app credentials — hub
LINKEDIN_ADVERTISER_*must point at the Advertising API developer app; organicLINKEDIN_CLIENT_*is a different app.
Available tools
-
get_connection_info
Get the connected LinkedIn Ads person profile and default ad account from stored credentials.
-
list_ad_accounts
List LinkedIn ad accounts the authenticated member can access, including name, role, status, and currency.
-
get_ad_account
Get a LinkedIn ad account by id, including name, status, currency, type, and organization reference.
-
set_default_ad_account
Set the default LinkedIn ad account id used when ad_account_id is omitted on other tools.
-
list_campaign_groups
List campaign groups in a LinkedIn ad account.
-
create_campaign_group
Create a LinkedIn campaign group. Pass the full LinkedIn campaign_group JSON body.
-
update_campaign_group
Partially update a LinkedIn campaign group using a Rest.li patch document.
-
list_campaigns
List campaigns in a LinkedIn ad account.
-
get_campaign
Get a LinkedIn campaign by id within an ad account.
-
create_campaign
Create a LinkedIn campaign. Pass the full LinkedIn campaign JSON body under campaign.
-
update_campaign
Partially update a LinkedIn campaign using a Rest.li patch document (e.g. pause/enable).
-
list_creatives
List creatives in a LinkedIn ad account.
-
get_creative
Get a LinkedIn creative by id within an ad account.
-
get_ad_analytics
Get LinkedIn ad analytics (reporting) for an account, optionally filtered by campaigns or campaign groups.
MCP endpoint:
https://stackgate.ai/mcp/linkedin-ads
(HTTP) or via the
private gateway.