All integrations

LinkedIn Ads

Manage LinkedIn Campaign Manager accounts, campaigns, creatives, and ad analytics via MCP.

OAuth 14 tools

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

  1. Sign in to stackgate.ai.
  2. Go to My Integrations and open LinkedIn Ads.
  3. Click Connect LinkedIn Ads and approve the OAuth prompt (profile + ads read/write + reporting).
  4. stackgate.ai stores your OAuth tokens encrypted. No manual API keys are required.
  5. Call list_ad_accounts (returns name, role, status, currency), optionally get_ad_account for one account, then set_default_ad_account so later tools can omit ad_account_id.

Using with AI clients

  • Dedicated endpoint: POST /mcp/linkedin-ads with 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; organic LINKEDIN_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.