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
Maintainers
1
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

Related posts