pipeboard-cli

March 29, 2026 · View on GitHub

Manage Meta Ads and Google Ads from your terminal. Single binary, zero dependencies, 50ms startup.

Built for AI coding agents (Claude Code, Cline, OpenClaw) and automation scripts. No need to register apps with each ad platform, run your own MCP servers, or maintain brittle API scripts — authenticate once with Pipeboard and go.

Why use the CLI

  • All platforms, one binary — Meta Ads and Google Ads without configuring separate MCP servers
  • More tools than local MCP — 117 commands covering campaigns, creatives, audiences, reporting, and more
  • Fast for agents — sub-50ms cold start. Agents shell out to pipeboard instead of implementing MCP JSON-RPC
  • Scriptable — pipe JSON output into jq, chain commands in bash, run from CI

Installation

Homebrew (macOS/Linux)

brew install pipeboard-co/tap/pipeboard

Go install

go install github.com/pipeboard-co/pipeboard-cli@latest

Binary download

Download from GitHub Releases. Builds for macOS (arm64/amd64), Linux (arm64/amd64), and Windows (amd64).

Authentication

export PIPEBOARD_API_TOKEN=<your-token>

Or store it in the config file:

pipeboard config set token <your-token>

Get your API token at pipeboard.co/api-tokens.

Browser OAuth (interactive)

pipeboard login

Quick Start

# List Google Ads campaigns
pipeboard google-ads get-campaigns --customer-id 1234567890

# Get Meta Ads campaign insights
pipeboard meta-ads get-insights --object-id act_123 --date-preset last_30d

# Create a Meta Ads campaign
pipeboard meta-ads create-campaign --account-id act_123 --name "Spring Sale" --objective OUTCOME_SALES

# See all available commands
pipeboard google-ads --help
pipeboard meta-ads --help

Flags are generated from each tool's JSON Schema — required flags are enforced and enum values are shown in help text.

Commands

50 commands across campaigns, ad groups, ads, keywords, audiences, extensions, and reporting.

Campaigns

CommandDescription
create-campaignCreate a new campaign
get-campaignsList campaigns
get-campaign-metricsGet campaign performance metrics with optional time-series
update-campaignUpdate campaign name, status, or budget
enable-campaignEnable a paused campaign
pause-campaignPause a campaign
create-pmax-campaignCreate a complete Performance Max campaign with assets
get-pmax-asset-groupsGet asset groups for a Performance Max campaign
update-pmax-asset-groupAdd/remove assets and search themes in a PMax asset group

Ad Groups

CommandDescription
create-ad-groupCreate a new ad group in a campaign
get-ad-groupsList ad groups
get-ad-group-metricsGet ad group performance metrics
update-ad-groupUpdate ad group name, status, or bids

Ads

CommandDescription
create-responsive-search-adCreate a Responsive Search Ad (RSA)
get-adsList ads
get-ad-metricsGet ad performance metrics
enable-adEnable a paused ad
pause-adPause an ad

Keywords

CommandDescription
add-keywordsAdd keywords to an ad group
get-keywordsList keywords
get-keyword-metricsGet keyword performance metrics
enable-keywordEnable paused keywords
pause-keywordPause keywords
update-keyword-bidUpdate CPC bid for keywords
remove-keywordsRemove keywords from an ad group
add-negative-keywordsAdd negative keywords to a campaign or ad group
get-negative-keywordsList negative keywords
remove-negative-keywordsRemove negative keywords

Audiences & Targeting

CommandDescription
add-audience-to-campaignAdd an audience to a campaign
get-audiencesList available audience segments
get-device-performancePerformance breakdown by device type
get-geo-performancePerformance breakdown by location
get-hour-of-day-performancePerformance breakdown by hour of day
get-search-terms-reportActual search queries that triggered ads
update-network-settingsUpdate network targeting (Search, Display, etc.)

Extensions

CommandDescription
create-calloutCreate a callout extension
create-sitelinkCreate a sitelink extension
create-structured-snippetCreate a structured snippet extension
get-extensionsList ad extensions for campaigns
remove-extensionRemove an extension from a campaign
update-extension-statusEnable or pause an extension

Assets

CommandDescription
list-assetsList creative assets in an account
upload-assetUpload an image, text, or YouTube video asset

Account & Reporting

CommandDescription
get-account-infoGet account details
list-customersList accessible customer accounts
execute-gaql-queryRun a raw GAQL query
execute-mutateRun a raw mutate operation
query-api-docsSearch Google Ads API documentation
create-email-reportSend an AI-powered email performance report
submit-feedbackReport a bug or request a feature

Meta Ads

67 commands across campaigns, ad sets, ads, creatives, audiences, lead gen, and reporting.

Campaigns

CommandDescription
create-campaignCreate a new campaign
get-campaignsList campaigns
get-campaign-detailsGet detailed campaign info
update-campaignUpdate campaign settings
duplicate-campaignDuplicate a campaign with all ad sets and ads
bulk-update-campaignsUpdate multiple campaigns at once
create-budget-scheduleSchedule budget changes for a campaign

Ad Sets

CommandDescription
create-adsetCreate a new ad set
get-adsetsList ad sets
get-adset-detailsGet detailed ad set info
update-adsetUpdate ad set settings, budgets, and frequency caps
duplicate-adsetDuplicate an ad set with its ads
bulk-update-adsetsUpdate multiple ad sets at once

Ads

CommandDescription
create-adCreate an ad with an existing creative
get-adsList ads
get-ad-detailsGet detailed ad info
update-adUpdate ad settings
duplicate-adDuplicate an ad
bulk-update-adsUpdate multiple ads at once

Creatives

CommandDescription
create-ad-creativeCreate a creative from an image or video
create-carousel-ad-creativeCreate a carousel creative with multiple cards
get-ad-creativesGet creative details for an ad
get-creative-detailsGet creative details by creative ID
get-ad-previewsGet an ad or creative preview (iframe HTML)
update-ad-creativeUpdate creative name or optimization settings
duplicate-creativeDuplicate a creative
bulk-create-ad-creativesCreate multiple creatives in a batch
bulk-get-ad-creativesFetch creative details for multiple ads

Media

CommandDescription
upload-ad-imageUpload an image for use in creatives
get-ad-imageDownload and visualize an ad image
upload-ad-videoUpload a video for use in creatives
get-ad-videoGet video details and source URL
bulk-upload-ad-imagesUpload multiple images at once
bulk-upload-ad-videosUpload multiple videos at once

Audiences & Targeting

CommandDescription
create-custom-audienceCreate a custom audience
create-lookalike-audienceCreate a lookalike audience from a seed
get-custom-audiencesList custom audiences
delete-custom-audienceDelete a custom audience
add-users-to-audienceUpload a customer list to an audience
estimate-audience-sizeEstimate reach for targeting specs
search-interestsSearch interest targeting options
get-interest-suggestionsGet suggestions based on existing interests
bulk-search-interestsSearch interests across multiple keywords
search-behaviorsList behavior targeting options
search-demographicsList demographic targeting options
search-geo-locationsSearch geographic targeting locations

Insights & Reporting

CommandDescription
get-insightsGet performance insights for any object
bulk-get-insightsGet insights for multiple objects at once
create-email-reportSend an AI-powered email performance report
list-email-reportsList email report schedules
update-email-reportUpdate an email report schedule
delete-email-reportDelete an email report schedule

Account & Pages

CommandDescription
get-ad-accountsList accessible ad accounts
get-account-infoGet account details
get-account-pagesGet pages associated with an account
get-instagram-accountsGet Instagram accounts for an ad account
get-pixelsList Meta pixels for an account
search-pages-by-nameSearch for pages by name

Lead Generation

CommandDescription
create-lead-gen-formCreate a lead gen form on a Page
get-lead-gen-formsList lead gen forms for a Page
publish-lead-gen-draft-formPublish a draft lead gen form
update-lead-gen-form-statusArchive or reactivate a form

Product Catalogs

CommandDescription
list-catalogsList product catalogs for an account
list-product-setsList product sets in a catalog

Other

CommandDescription
submit-feedbackReport a bug or request a feature

How It Works

pipeboard <platform> <command> [flags]


MCP JSON-RPC client (HTTP POST)


https://mcp.pipeboard.co/<server>


Meta / Google APIs

The CLI is a thin client. All API calls go through Pipeboard's cloud — auth tokens, rate limiting, and logging are handled server-side. This is why the CLI repo contains no secrets and can be fully open-source.

Also Available: MCP Servers

If you prefer MCP over CLI, Pipeboard offers remote MCP servers for the same platforms:

PlatformRemote MCP URL
Meta Adshttps://mcp.pipeboard.co/meta-ads-mcp
Google Adshttps://mcp.pipeboard.co/google-ads-mcp

Works with Claude Pro/Max, Cursor, and any MCP client. Set up at pipeboard.co.

Community

  • Discord — join the community
  • Email — support and questions
  • Issues — bug reports and feature requests

Development

make build     # Build binary to bin/pipeboard
make test      # Run tests
make install   # Install to $GOPATH/bin
make lint      # Run go vet

License

Apache License 2.0 — see LICENSE.