Sign In

fleets

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fleets

Fleets — Bloomberg-style multi-site GA4 + Cloudflare + GSC terminal CLI + MCP server

latest
Source
npmnpm
Version
0.2.1
Version published
Weekly downloads
19
72.73%
Maintainers
1
Weekly downloads
 
Created
Source

fleets

Terminal CLI for Fleets. Per-site commands mirror the app UI tabs at https://fleets.run/app/<slug>/<tab>.

Install

npm install -g fleets

Authenticate

fleets login

Picks between two methods:

  • browser (default) — device flow: CLI prints a URL + 8-character code, auto-opens your browser, you click authorize, CLI finishes automatically.
  • paste a token — mint one in app → account → cli, paste it in.

Skip the prompt with a flag:

fleets login --browser     # force device flow
fleets login --paste       # force token paste

fleets login --token fl_xxxxxxxxxxxxxxxx   # paste in one shot (CI)
export FLEETS_TOKEN=fl_xxxxxxxxxxxxxxxx     # skip login entirely

Slug-first dispatch

The most intuitive way to run commands is to put the site slug first, like you're "inside" that site:

fleets fightbets                         # GA4 summary (defaults to stats)
fleets fightbets sources                 # top traffic sources
fleets fightbets funnel session_start view   # conversion funnel
fleets fightbets seo --range 30d         # GSC summary, last 30 days
fleets fightbets open settings           # print app URL

The legacy form fleets <command> <slug> (e.g. fleets sources fightbets) still works.

Commands

Setup

CommandDescription
fleets loginBrowser device-flow auth (no paste)
fleets add <domain> [--detect]Create a site; --detect auto-links GA4 + GSC
fleets connect <slug>Auto-detect GA4 + GSC via service account
fleets connect <slug> --property <id>Set GA4 property explicitly
fleets connect <slug> --gsc <site-url>Set GSC site explicitly

Analytics (per-site)

All accept --range (default 7d) and --json. Commands with top-N tables also accept --limit.

CommandTabData source
fleets listAll your sites with sparkline + Δ7d
fleets <slug> / fleets stats <slug>dayGA4 summary
fleets <slug> sourcessourcesGA4 traffic sources
fleets <slug> campaignscampaignsGA4 UTM campaigns
fleets <slug> referralsreferralsGA4 referrals
fleets <slug> landerslandersGA4 landing pages
fleets <slug> eventseventsGA4 events
fleets <slug> usersusersGA4 country + device breakdown
fleets <slug> funnel <step1> <step2>…funnelGA4 funnel
fleets <slug> seoseoGoogle Search Console
fleets <slug> edgeedgeCloudflare Analytics
fleets <slug> speedspeedPageSpeed Insights

Utility

CommandDescription
fleets <slug> exportDaily GA4 CSV/JSON export
fleets <slug> query "<text>"Natural-language analytics query
fleets <slug> open [tab]Print the app URL for a site

MCP server

The same package ships an MCP server, fleets-mcp, so agents (Claude Code, Claude Desktop, Cursor, …) can pull your live Fleets analytics as tools. It reuses the CLI's auth — run fleets login once (or set FLEETS_TOKEN) and the MCP server picks up the same token from ~/.fleets/config.json.

Add it to a client

Claude Code:

claude mcp add fleets -- fleets-mcp

Claude Desktop / Cursor (claude_desktop_config.json or .cursor/mcp.json):

{
  "mcpServers": {
    "fleets": {
      "command": "fleets-mcp"
    }
  }
}

No global install? Use npx:

{
  "mcpServers": {
    "fleets": {
      "command": "npx",
      "args": ["-y", "-p", "fleets", "fleets-mcp"]
    }
  }
}

If you authenticate via env instead of fleets login, add "env": { "FLEETS_TOKEN": "fl_xxx" } to the server entry.

Tools

All read-only except log_change (writes a change-log entry). Every analytics tool takes a slug (from list_sites) and an optional range (7d, 30d, 24h).

ToolWhat it returns
list_sitesAll sites + connected sources (GA4 / Cloudflare / GSC) — start here
statsGA4 summary: sessions, users, pageviews, events, engagement, bounce
sources · campaigns · referrals · landers · eventsGA4 breakdowns (accept limit)
users · devices · demographicsGA4 audience breakdowns
funnelGA4 conversion funnel across steps (2+)
seoGoogle Search Console summary
edgeCloudflare edge analytics (bots, humans, cache)
speedPageSpeed Insights + Core Web Vitals
insightsAI-ready signals worth investigating (optionally per site)
askNatural-language question answered server-side with citations
log_change · recallWrite / read the per-site change log

Environment variables

VariableDescription
FLEETS_TOKENPersonal access token. Skip fleets login entirely — useful for CI. Overrides ~/.fleets/config.json.

Range format

All --range flags accept:

  • 7d — last 7 days
  • 30d — last 30 days
  • 90d — last 90 days
  • 24h — last 24 hours (rounds to 1 day)

Requirements

  • Node.js >= 22 (LTS)
  • Works on macOS, Linux, Windows

Keywords

analytics

FAQs

Package last updated on 03 Jul 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts