Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Fe

FreeNot checked

Multi-site analytics for AI agents — GA4, Google Search Console, Cloudflare edge, PageSpeed, and audit insights across all your websites as tools.

GitHubEmbed

About

Multi-site analytics for AI agents — GA4, Google Search Console, Cloudflare edge, PageSpeed, and audit insights across all your websites as tools.

README

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:

  1. browser (default) — device flow: CLI prints a URL + 8-character code, auto-opens your browser, you click authorize, CLI finishes automatically.
  2. 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

Command Description
fleets login Browser 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.

Command Tab Data source
fleets list All your sites with sparkline + Δ7d
fleets <slug> / fleets stats <slug> day GA4 summary
fleets <slug> sources sources GA4 traffic sources
fleets <slug> campaigns campaigns GA4 UTM campaigns
fleets <slug> referrals referrals GA4 referrals
fleets <slug> landers landers GA4 landing pages
fleets <slug> events events GA4 events
fleets <slug> users users GA4 country + device breakdown
fleets <slug> funnel <step1> <step2>… funnel GA4 funnel
fleets <slug> seo seo Google Search Console
fleets <slug> edge edge Cloudflare Analytics
fleets <slug> speed speed PageSpeed Insights

Utility

Command Description
fleets <slug> export Daily 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 with the fleets-mcp launcher package:

{
  "mcpServers": {
    "fleets": {
      "command": "npx",
      "args": ["-y", "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).

Tool What it returns
list_sites All sites + connected sources (GA4 / Cloudflare / GSC) — start here
stats GA4 summary: sessions, users, pageviews, events, engagement, bounce
sources · campaigns · referrals · landers · events GA4 breakdowns (accept limit)
users · devices · demographics GA4 audience breakdowns
funnel GA4 conversion funnel across steps (2+)
seo Google Search Console summary
edge Cloudflare edge analytics (bots, humans, cache)
speed PageSpeed Insights + Core Web Vitals
insights AI-ready signals worth investigating (optionally per site)
ask Natural-language question answered server-side with citations
log_change · recall Write / read the per-site change log

Environment variables

Variable Description
FLEETS_TOKEN Personal 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

from github.com/runFleets/cli

Install Fe in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install fe

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add fe -- npx -y fleets-mcp

FAQ

Is Fe MCP free?

Yes, Fe MCP is free — one-click install via Unyly at no cost.

Does Fe need an API key?

No, Fe runs without API keys or environment variables.

Is Fe hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Fe in Claude Desktop, Claude Code or Cursor?

Open Fe on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Fe with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs