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
› 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
Adspirer
28 tools, paused-by-default
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.
Diagnose a CPL spike — Anomaly diagnosis on a single campaign with a clear before/after CPL.
B2B targeting research — Builds a tight B2B targeting spec with audience-size sanity check.
Launch a sponsored content campaign — End-to-end Sponsored Content campaign with B2B targeting and validation.
Optimize budget across campaign group — CPL-driven budget reallocation within a single campaign group.
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.Switch context between client accounts in chat. Run the same audit prompt across each, paste the chat into your weekly client report. Multi-account is built in — no extra seats per account.
Cuts cross-account reporting from a half-day per account to ~10 minutes total.Brief Gemini CLI in plain English with budget, audience, and creative URL. Gemini CLI validates inputs against LinkedIn Ads's requirements, builds the campaign paused, and walks you through what to review before launching.
No need to learn LinkedIn Ads's dashboard UI; campaign goes live correctly the first time.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.
Plus
$49 / mo
150 / mo
Performance analysis + standard campaigns.
Compare Plus →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
Capabilities
Ad formats
Workflows
Compare
Safety & control
Related integrations
Same Gemini CLI, different platform — or same LinkedIn Ads, different AI client.
Gemini CLI × other platforms
LinkedIn Ads × other AI clients
- ChatGPT × LinkedIn Ads →
- Claude × LinkedIn Ads →
- Claude Code × LinkedIn Ads →
- Cursor × LinkedIn Ads →
- Codex CLI × LinkedIn Ads →
- Windsurf × LinkedIn Ads →
- OpenClaw × LinkedIn Ads Soon
- Manus × LinkedIn Ads Soon
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