Gemini CLI logo LinkedIn Ads logo

Run LinkedIn Ads from Gemini CLI

Manage LinkedIn Ads campaigns inside Gemini CLI — 28 tools, OAuth setup in about 60 seconds, no dashboard switching.

  • 28 LinkedIn Ads tools, all in Gemini CLI

  • Paused-by-default. Cannot delete campaigns.

  • OAuth setup in ~2 minutes

See it in action

In Gemini CLI

Pull my LinkedIn Ads performance for the last 60 days. Show spend, clicks, conversions, and cost per lead by campaign. Highlight any campaigns with cost per lead above $75 and tell me which to pause.

LinkedIn performance audit — CPL-focused audit that surfaces underperforming campaigns against your B2B target.

Overview

Adspirer is the MCP server that connects Gemini CLI to your LinkedIn Ads ad accounts, turning campaign management into a chat conversation. Google's Gemini CLI with MCP support. On the platform side, 28 tools cover sponsored Content, Lead Gen Forms, Conversation & Message Ads. Adspirer reads and writes — pull performance reports, audit launch sponsored content campaigns, launch new campaigns, pause underperformers, and reallocate budget — all from chat. New campaigns are always created paused so you can review before they go live, Adspirer cannot delete existing campaigns by design, and the free tier (15 tool calls / month, no credit card) is enough to run a full audit before you pay. Setup takes about 60 seconds via one CLI command.

Safety guarantees

  • New campaigns always created paused for review

  • Adspirer cannot delete existing campaigns

  • Budget changes need explicit confirmation

  • OAuth 2.1 + PKCE — passwords never seen

How it works

How it works

Gemini CLI

You ask in chat

prompt

Adspirer

28 tools, paused-by-default

tool calls

LinkedIn Ads

Live data, paused for review

Step 01

Connect

Paste the MCP URL into Gemini CLI, OAuth into LinkedIn Ads.

Step 02

Manage

Ask in chat. Adspirer routes through 28 LinkedIn Ads tools.

Step 03

Scale

Switch accounts in chat. Same audits across every client.

What you can do

28 tools across LinkedIn Ads. The ones you'll use most:

  • Launch Sponsored Content campaigns — Build LinkedIn image and carousel campaigns from a brief — Adspirer pulls your company page, validates creatives, and creates the campaign **paused** so you review before going live.

  • Target by job title & seniority — `search_linkedin_targeting` covers all 19 LinkedIn facets: job titles, functions, seniority, industries, company size, skills, groups, schools, and more. Target decision-makers, not students.

  • Research B2B audiences from a competitor — Feed `research_business_for_linkedin_targeting` a competitor name (e.g., HubSpot) and Adspirer suggests the job titles, industries, and seniority levels that match their customer base.

  • Pull cost-per-lead by campaign — `get_linkedin_campaign_performance` returns spend, clicks, conversions, and CPL by campaign or campaign group — perfect for the "which campaigns are below my $75 CPL target?" prompt.

  • Refresh creative on live ads — `add_linkedin_creative`, `add_linkedin_carousel_creative`, and `update_linkedin_creative` let you rotate copy and imagery on running campaigns without recreating them.

  • Pause & resume campaigns — Pause campaigns or ad groups by name from chat, resume them later. Adspirer **cannot delete** existing campaigns — and if a creation fails mid-flow, it auto-archives the orphan to prevent duplicates on retry.

  • Reallocate budget by CPL — `optimize_linkedin_budget` recommends shifts toward your lowest-CPL campaigns. You confirm before any budget update — Adspirer never raises spend without an explicit "yes".

  • Track conversions & lead events — `manage_linkedin_conversions` sets up and tracks conversion events — form fills, downloads, demo requests — so optimization runs against real lead signal, not just clicks.

Campaign types

Every LinkedIn Ads format Adspirer supports — request one in chat.

Sponsored Content (Image)

Single-image sponsored posts in the LinkedIn feed. The most common B2B format — strong for thought leadership and demo CTAs.

Sponsored Content (Carousel)

Multi-card carousel posts in feed. Great for breaking down a multi-step product story or showcasing case studies.

Lead Gen Forms

On-platform forms pre-filled with LinkedIn profile data. Higher completion rates than off-platform landing pages.

ABM (Account-Based)

Target specific company names — perfect for account-based marketing programs against a named-account list.

Campaign Groups

Organize multiple campaigns under one group with shared budget and naming. `add_linkedin_campaign_to_group` adds new audiences without recreating the structure.

More prompts to try

Gemini CLI is in active development; expect rough edges.

Competitor-based targeting — Reverse-engineers a competitor's ICP into a ready-to-use targeting spec.

Competitor-based targeting
Research LinkedIn targeting based on this competitor: HubSpot. What job titles, industries, and seniority levels should I target to reach buyers who would consider switching from them? Build me a targeting spec.

Diagnose a CPL spike — Anomaly diagnosis on a single campaign with a clear before/after CPL.

Diagnose a CPL spike
My cost per lead on the "Demo Request Q2" LinkedIn campaign jumped from $22 to $48 in the last 14 days. Diagnose what changed — targeting, creative, or bid — and recommend a fix.

Who this is for

Each Monday, ask Gemini CLI to pull last week's LinkedIn Ads performance, surface campaigns running below your ROAS threshold, and recommend creative refreshes for fatigued ads.

Replaces a 60–90 minute manual review with a 5-minute chat, and surfaces problems before they tank ad-set performance.

Compare & decide

Adspirer vs alternatives

For running LinkedIn Ads from Gemini CLI.

Adspirer DIY MCP server Legacy SaaS dashboard
Setup time ~60 seconds via one CLI command 2–4 hours building MCP server 30–60 min onboarding + sales call
Cost — entry tier Free (15 calls / mo) Hosting + maintenance $200–500 / mo minimum
Works inside Gemini CLI Yes — one CLI command Yes (if you build it correctly) No — external dashboard only
Multi-account Yes — switch in chat Manual per-account auth Yes — but each account billed
Read + Write Full read + write (create / pause / update) Whatever you build Mostly read-only or seat-gated writes
Safety: cannot delete Hard-coded — no delete tool Up to you Varies
Pricing transparency Public — $0 / $49 / $99 / $199 Self-hosted Often quote-only

Pricing

Start free. Upgrade if you outgrow it.

Free Forever

$0

15 / mo

All platforms. ChatGPT & Claude access. No credit card.

Start free →
Best for Gemini CLI

Plus

$49 / mo

150 / mo

Performance analysis + standard campaigns.

Compare Plus →

Pro

$99 / mo

600 / mo

AI optimization, bulk ops, deeper diagnostics.

Compare Pro →

Max

$199 / mo

3,000 / mo

Priority support (24h SLA), custom integrations.

Compare Max →

Configure

Required: Google AI Studio API access. Most users finish in about two minutes.

Show setup steps for Gemini CLI

Add Adspirer as an MCP server in Gemini CLI

Edit your Gemini CLI MCP config and add an entry pointing to https://mcp.adspirer.com/mcp.

FAQ

Setup

Do I need a developer to set this up?

Some terminal comfort helps but you don't need to be a developer — adding the MCP server is one command (claude mcp add --transport http adspirer https://mcp.adspirer.com/mcp or the equivalent for your CLI). OAuth happens in your browser. Total time: about 60 seconds.

What are LinkedIn's creative requirements?

Sponsored Content images must be 1200×627px (1.91:1) or 1200×1200px (1:1), JPG or PNG, under 5MB. Intro text up to 600 characters (150 shown before "see more"), headline up to 200 characters. validate_and_prepare_linkedin_assets checks all of this before campaign creation.

Capabilities

Can I switch from Gemini CLI to a different AI client later?

Yes. Your Adspirer account is independent of the AI client — sign up once, then connect the same MCP URL from ChatGPT, Claude, Cursor, Codex, Windsurf, or any supported client. Tool calls are pooled across clients on the same plan; switching costs you nothing.

What's the minimum budget on LinkedIn?

LinkedIn requires $10/day per campaign, but for meaningful B2B lead volume $50+/day is recommended. Expect $8-15+ CPC and $40-150 CPL depending on industry and seniority. Adspirer suggests starting at $75/day split across 2-3 audience segments to learn fast.

Ad formats

Can Adspirer run LinkedIn video ads?

Not yet. Adspirer currently supports image-based Sponsored Content (single image and carousel). Video ad support is on the roadmap for Q2 2026. For now, all campaign creation runs through create_linkedin_image_campaign and add_linkedin_carousel_creative.

Workflows

How does ABM (account-based) targeting work?

Use search_linkedin_targeting with company name as a facet to target a named-account list. You can layer in job titles, seniority, and industry to narrow within those companies. LinkedIn requires a minimum 300-member audience — if your list is too narrow, broaden the job-title filter.

How are leads from LinkedIn surfaced?

Use manage_linkedin_conversions to register conversion events (form fills, downloads, demo requests). Performance reports then expose conversions and CPL by campaign. Adspirer doesn't push leads directly into your CRM — route them via Zapier, Make, or LinkedIn's native CRM integrations.

Compare

What's the read vs. write boundary on LinkedIn Ads?

Adspirer is full read and write. It can pull reports, audit performance, and analyze data (read), and it can launch new campaigns, pause underperformers, update budgets, and adjust targeting (write). Two safety guardrails are hard-coded: new campaigns are always created paused so you review before they go live, and Adspirer cannot delete existing campaigns. You keep full control.

Safety & control

Can Adspirer delete or modify my existing LinkedIn campaigns?

Adspirer cannot delete campaigns or ad groups by design. It can pause and resume them on your instruction, and update budgets, bids, or any of the 19 targeting facets via update_linkedin_campaign. New campaigns are always created paused for review.

Related integrations

Same Gemini CLI, different platform — or same LinkedIn Ads, different AI client.

Go deeper

Ready to connect Gemini CLI to LinkedIn Ads?

Start free — 15 tool calls per month, no credit card. Setup takes about 2 minutes.

Try Adspirer free