CLI·open source

Your whole stack,
from the terminal.

Run 100+ typed analytics and commerce tools — GA4, Search Console, Google & Meta Ads, Shopify, WooCommerce, Shopware — straight from your shell. Scriptable, pipeable, and agent-friendly.

npm i -g datavessel-cli

Requires Node.js 20+ · Apache-2.0 · sign in once with your browser

Why a CLI

The terminal is an interface too.

Same backend, same typed tools as the MCP server and the app — now in the place engineers already live.

Self-describing, always current

Commands and flags are generated from the live datavessel tool catalog. Add a source or ship a new tool — it appears in the CLI on the next sync, with no release to install.

Scriptable & pipeable

Every command takes --json for machine-readable output. Wire datavessel into cron jobs, CI pipelines, and shell scripts the way you already work.

Built for agents

Ships a SKILL.md so coding agents can drive it directly — inspect tools, run reads, and propose writes from the same typed surface your MCP client uses.

Sign in once

Browser login yields a refreshable session stored at mode 0600 — the CLI silently refreshes the short-lived token. For CI, pass a token or API key instead.

In practice

Reads run free. Writes ask first.

Discover tools, pull data as JSON, and run writes — with a confirmation gate on anything that touches the outside world.

zsh — datavessel
datavessel login
✓ Logged in as you@company.com
datavessel tools list --provider google_analytics
ga4_run_report read Standard GA4 report
ga4_realtime read Realtime active users
datavessel --json run ga4_run_report \
--property-id 123 --metrics sessions --limit 7
{ "rows": [ { "sessions": "1842" }, … ] }
datavessel run shopify_create_discount --code SUMMER
⚠ write tool — confirm? (y/N)

Pass --yes to skip the prompt in automation, or --json anywhere for structured output you can pipe into jq.

Use it with your agent

One file makes it a skill.

The CLI ships a SKILL.md that teaches an agent how to discover tools, run reads, and gate writes. Drop it where your agent looks for skills — then ask in plain language.

Claude Code

Install once at the user level — available in every project. Then: “use datavessel to pull last week's GA4 sessions.”

mkdir -p ~/.claude/skills/datavessel
curl -sL https://raw.githubusercontent.com/djr4/datavessel-cli/main/SKILL.md \
  -o ~/.claude/skills/datavessel/SKILL.md

Cursor

Add it as a project rule. Cursor's agent picks it up and drives the CLI from the same typed catalog.

mkdir -p .cursor/rules
curl -sL https://raw.githubusercontent.com/djr4/datavessel-cli/main/SKILL.md \
  -o .cursor/rules/datavessel.mdc

Building on the Claude Agent SDK or the API instead? Give the model a shell tool, add SKILL.md to its context, and authenticate headless with DATAVESSEL_TOKEN. The CLI's stable --json output and exit codes are built for it.

One command away.

npm i -g datavessel-cli