Read B2B campaign performance
Report on account, campaign, and creative-level spend and available conversion metrics. The connector does not invent an ad-group level that LinkedIn does not have.
LinkedIn Ads MCP server
Bring LinkedIn advertising reports and campaign controls to your AI agent. Review campaign groups, compare performance, and prepare changes without confusing a campaign with a complete creative setup.
Available locally with npm. Set up LinkedIn Ads
Built for this platform
Report on account, campaign, and creative-level spend and available conversion metrics. The connector does not invent an ad-group level that LinkedIn does not have.
List campaign groups and campaigns, including inactive ones. Select an existing group before preparing a paused campaign under it.
Preview daily or total budget updates. Campaign creation and activation require the advertiser’s explicit non-political confirmation; your agent should not infer that consent.
Reporting has a 15,000-element response ceiling; ceiling results are flagged as potentially truncated. Campaign creation does not create creatives or lead forms. Political campaigning and group-shared dynamic-budget creation are not exposed.
Local setup · Bring your own credentials
The npm CLI and MCP server run on your machine. You need Node.js 22.13 or newer, your own provider credentials, and permission to access the ad account.
npm install -g adportadport connect linkedinThe local wizard imports your authorized token and checks account discovery. Access-only tokens require reauthorization when they expire; an account appearing in discovery does not by itself prove reporting permission.
adport doctor
adport accounts --provider linkedinCheck that the intended account appears before asking your agent to report on it. Never paste tokens, client secrets, or private keys into chat.
For Claude Code:
claude mcp add --transport stdio adport -- adport mcpFor Cursor, merge this entry into your MCP configuration:
{
"mcpServers": {
"adport": {
"command": "adport",
"args": [
"mcp"
]
}
}
}ChatGPT uses an HTTP MCP endpoint instead of launching this local process.
Your tools. Your choice.
Use the same Adport MCP endpoint and OAuth sign-in in each client. First connect your ad accounts in your Adport workspace. No platform secrets belong in chat.
Enable developer mode, then open Settings → Apps → Create. Choose OAuth and use the endpoint below.
https://app.adport.dev/mcpScan the tools, finish Adport authorization, and enable the new app in your chat.
Developer mode and custom apps must be enabled for your ChatGPT account or workspace. In newer layouts, enable Developer mode under Settings → Security and login, then use the + button in Plugins to create your app. ChatGPT connects over HTTP; the local stdio command is for clients that can launch a process.
Run this command once and complete the browser authorization. Codex stores the MCP configuration and starts OAuth automatically.
codex mcp add adport --url https://app.adport.dev/mcpOnly if authorization did not start or you need to sign in again, run “codex mcp login adport”. Otherwise, check “codex mcp list” and ask Codex to list your ad accounts.
Add Adport at user scope so it is available across your local projects.
claude mcp add --transport http --scope user adport https://app.adport.dev/mcpRun /mcp inside Claude Code if the browser authorization does not open automatically.
Open Customize → Connectors → Add custom connector. Name it Adport and use the endpoint below.
https://app.adport.dev/mcpSelect Connect, approve the workspace, then enable Adport from the + menu in a conversation.
Add this server to ~/.cursor/mcp.json, then restart Cursor.
{
"mcpServers": {
"adport": {
"url": "https://app.adport.dev/mcp"
}
}
}Approve the browser sign-in when prompted. Cursor will keep the OAuth session refreshed.
Open the Command Palette and choose “MCP: Open User Configuration”, then add this server.
{
"servers": {
"adport": {
"type": "http",
"url": "https://app.adport.dev/mcp"
}
}
}Start the Adport server from VS Code and complete the browser authorization.
Use the MCP URL from Agent access if you run your own Adport deployment. Client settings, workspace permissions, and advertising-platform approvals still apply. The Cloud waitlist below is separate from these connection instructions.
You stay in control
The first mutation call returns a preview and a short-lived pending-operation token. Applying requires that token and the same arguments. Budget caps and protected accounts are checked by the policy engine; new campaigns are paused by policy.
Local operations are recorded in an append-only audit log. An approved preview is not a guarantee of provider acceptance, and a connected agent does not grant additional account permissions.
No. LinkedIn has campaigns, campaign groups, and creatives, but no native ad-group entity. Adport rejects the unsupported ad_group report level instead of relabeling campaigns.
Yes. Install Adport from npm, connect your own LinkedIn Ads credentials, and register the local MCP server with a stdio-compatible agent such as Claude Code or Cursor. Your provider may have its own approval, access, or billing requirements.
Account discovery, reporting, and mutations can require different permissions. Check the requested account, provider app scopes, advertiser eligibility, and environment. Start with adport doctor and the connection guide above. Do not bypass a denied operation by sharing secrets with the agent.
Adport Cloud · Coming next
Join the waitlist for the cloud version. We’ll email you when early access opens.