Skip to main content
TokenSaver

The control plane CLI for AI coding agents

Route Claude Code, Cursor, and Codex through TokenSaver — Zero Trust governance, MCP tools, and Flux IA observability on every run.

Free signup · 15 free models · 600+ model catalog (Pro) · stdlib-only · MCP + Trust Gateway · Python ≥ 3.10

GitHub Stars PyPI Downloads Python 3.10+ License: MIT CI

Website Platform Connect guide Platform Docs SDK

Get started (60s) · Connect (CLI · API · MCP) · What you get · Agent graph · Control plane · Architecture · Agents · Docs · llms.txt


See TokenSaver in action

CLI → Claude Code

TokenSaver CLI routing Claude Code


Install → loginroute claude --launch

Agentic graph

Multi-agent handoffs traced in Flux IA


Agent-to-agent handoffs in Flux IA

Sign up / Log in · Flux IA · Agentic graph · Observability guide


Most coding agents talk to LLM providers directly: no shared audit trail, no inline PII guard, no org-wide FinOps — and every teammate wires MCP by hand.

TokenSaver CLI is the open-source on-ramp to the TokenSaver control plane: one command routes your agent through governed pipelines (cache, compression, RAG, PII, quotas) with full observability in the console.

Platform governance, not a local-only proxy. Policies, RBAC, Agent Registry, and Flux IA live on platform.tokensaver.fr. The CLI configures your laptop; the platform enforces and traces every call.

The CLI is one way in. Same control plane via OpenAI/Anthropic-compatible APIs, Python SDK / REST, MCP tools, or Trust Gateway — see Connect to the control plane (mirrors console Docs → Build / Connect).

Who it's for:

  • Developers shipping with Claude Code, Cursor, or Codex who want governance + observability without rewriting agent code
  • Platform teams standardizing how agents connect to LLMs (OpenAI-compatible + Anthropic-compatible APIs, MCP tools, Trust Gateway)
  • FinOps / security stakeholders who need PII filtering, quotas, and auditable runs — not just cheaper tokens
  • Free-plan explorerstokensaver login creates a workspace and API key in under a minute

Quick Start · Why TokenSaver · Command reference · Contributing


What you get

  • 600+ models (Pro/BYOK) — full Agent Registry; Free plan includes 15 hosted models (GLM, DeepSeek, GPT-OSS, Llama, …) with no provider API key → models & Free plan
  • tokensaver route claude --launch — Claude settings, MCP tools (mcp.tokensaver.fr), Trust Gateway (gateway.tokensaver.fr), and the tokensaver-router plugin in one shot
  • Governed pipelines — cache, compression, PII, RAG, and quotas follow your API key policies (runtime governance, not hard-coded in the CLI)
  • Flux IAtokensaver flows lists recent runs; tokensaver flows --open jumps to the console dashboard
  • Agent Registrytokensaver approve / tokensaver use for zero-trust model catalog (fixes 403 on quarantined models)
  • MCP slash commands/tokensaver-router:quota, :flows, :cache, :models, … inside Claude Code
  • Clean undotokensaver unroute claude restores backed-up config files
  • Zero runtime deps — stdlib only; pip install tokensaver-cli and go

Companion library: tokensaver-sdk for POST /pipelines/run, chat sessions, and programmatic API access.


Why TokenSaver

Direct provider API Local proxy only TokenSaver CLI
Setup Per-provider keys Manual env / config login + route claude
Governance Provider defaults Local rules Platform policies + RBAC
PII / audit DIY Varies Inline pipeline + traces
Observability Provider dashboard Local logs Flux IA end-to-end
MCP Wire yourself Partial Tools + Gateway pre-wired
FinOps Per-account billing None Quotas, budgets, run detail
Model catalog Open access N/A Agent Registry (zero-trust)

TokenSaver adds a hosted trust layer (governance, registry, observability) while keeping the OSS CLI free and MIT-licensed.


Connect to the control plane

This repository ships the CLI on-ramp. Every path below hits the same SaaS control plane (governance + Flux IA):

Path When to use Entry point
CLI Claude Code / Cursor / Codex on your machine tokensaver route …
LLM egress OpenAI- or Anthropic-shaped SDKs, n8n, LangChain, LibreChat… api.tokensaver.fr/openai/v1 or …/anthropic + ts_…
Python SDK / REST Apps, RAG, sessions, policies api.tokensaver.fr/api/v1 · tokensaver-sdk
MCP tools Platform tools inside an agent host mcp.tokensaver.fr/mcp
Trust Gateway Govern third-party MCP servers gateway.tokensaver.fr/mcp

Deep dive (OSS): docs/connect-control-plane.md — matrix, recipes, “do not confuse egress vs MCP vs A2A”.
Product Docs: platform.tokensaver.fr → sidebar DocsBuild (choose a path) · Connect (n8n, LangChain, Cowork, …)

# Same control plane without routing an IDE — OpenAI-shaped client
export OPENAI_BASE_URL=https://api.tokensaver.fr/openai/v1
export OPENAI_API_KEY=ts_…
./examples/04-llm-egress.sh    # optional auth check + Flux IA reminder

Architecture

 Claude Code · Cursor · Codex · LangChain · n8n · MCP host · your app
        │           │              │             │
        │ CLI       │ LLM egress   │ SDK/REST    │ MCP A / Gateway
        └───────────┴──────────────┴─────────────┘
                              │
                              ▼
 ┌─────────────────────────────────────────────────────────┐
 │  TokenSaver control plane  (SaaS · EU-ready)            │
 │  Cache → RAG → Compression → PII → LLM → Audit          │
 │  Agent Registry · FinOps · Flux IA                      │
 └─────────────────────────────────────────────────────────┘
        │
        ▼
 LLM providers  (OpenRouter · Anthropic · OpenAI · Mistral · …)

 Optional local helper (this repo):
   tokensaver CLI  →  writes settings / MCP / env for Claude · Cursor · Codex

SaaS endpoints (default after tokensaver login):

Surface URL
Control plane (console) platform.tokensaver.frsign up · log in
API api.tokensaver.fr
MCP tools mcp.tokensaver.fr/mcp
Trust Gateway gateway.tokensaver.fr/mcp
Flux IA (live pipeline runs) platform.tokensaver.fr/en/{workspaceId}/dashboard?tab=flows — or tokensaver flows --open
Agentic graph (multi-agent audit) platform.tokensaver.fr/en/{workspaceId}/execution-graph?period=7d

Typical pipeline savings on the platform: ~45% fewer tokens (cache + compression + routing) — see tokensaver.fr.


Control plane & live observability

The CLI routes traffic; the TokenSaver control plane shows every governed run in real time.

Goal How
Create account / log in platform.tokensaver.fr/en/signup or …/en/login — same email as tokensaver login
Flux IA — pipeline steps, cache, PII, LLM, MCP After tokensaver login: tokensaver flows --open (opens your workspace Flux IA tab)
Agentic graph — agent-to-agent handoffs, tool runs, audit trail Console sidebar → Agentic graph, or https://platform.tokensaver.fr/en/{workspaceId}/execution-graph?period=7d
Latest run deep link tokensaver flows prints the URL with flowId=… when a recent run exists
tokensaver login              # saves ts_… key + workspace_id locally
tokensaver route claude --launch
# send a message in Claude Code, then:
tokensaver flows --open       # Flux IA in the browser (real-time)
tokensaver whoami             # email, plan, workspace id

Use the same email in the browser as tokensaver whoami. In the console sidebar: Flux IA for step-by-step runs, Agentic graph for the multi-agent canvas (as in the demo above).

Docs: Observability (this repo) · Product overview · Console


Get started (60 seconds)

# 1 — Install (stdlib only)
pip install -U tokensaver-cli

# 2 — Free signup or sign-in → ts_… key saved locally
tokensaver login

# 3 — Route Claude Code and launch
tokensaver route claude --launch

# 4 — Verify + open Flux IA
tokensaver doctor --claude
tokensaver flows --open

Credentials: ~/.config/tokensaver/credentials.json (0600).
TOKENSAVER_API_KEY overrides the file when set.

Self-host: append --local on commands (API :8000, MCP :8787/mcp, gateway :8788/mcp).


Agent compatibility

Agent tokensaver route Notes
Claude Code --launch Full: settings + MCP + plugin + optional --with-fs
Cursor Writes .cursor/mcp.json + Override URL steps
OpenAI Codex --launch Exports OPENAI_BASE_URL + key
Generic proxy route proxy Prints env for any OpenAI-compatible client
MCP only route mcp Tools + gateway entries without agent launch

Claude Code flags: --scope user|project|local · --profile cheap|default|strong · --model provider/model · --with-fs · --no-plugin · --local

Undo: tokensaver unroute <claude|cursor|codex|proxy|mcp>


When to use · When to skip

Great fit if you…

  • run Claude Code / Cursor daily and want one command to wire MCP + governance
  • need Flux IA traces (tool calls, cache, PII steps) without building observability yourself
  • want Free-tier exploration with a real control plane, not just a API key passthrough

Skip if you…

  • need 100% offline / air-gapped with no SaaS (use --local self-host)
  • only want local token compression with no platform
  • cannot send prompts through a governed API (strict data residency without self-host)

Command map

Auth           login · logout · whoami · keys list|create|revoke
Models         models · use · profiles · approve · catalog
Observability  flows · status
Route          route <claude|cursor|codex|proxy|mcp> · unroute …
Health         doctor [--claude] [--local]
Auth & keys
Command Purpose
tokensaver login Interactive signup / sign-in
tokensaver login --email you@acme.com --signup -y Non-interactive signup
tokensaver login --key ts_… Import existing key
tokensaver login --local Self-host (localhost:8000)
tokensaver logout Remove local credentials
tokensaver whoami Email, plan, key prefix, Flux IA link
tokensaver keys list List API keys (JWT required)
tokensaver keys create --name CLI --use Create + set default key
tokensaver keys revoke <id> Revoke a key
Models & Agent Registry
Command Purpose
tokensaver models Profiles + plan-filtered catalogue (15 on Free, 600+ on Pro)
tokensaver use <cheap|default|strong|provider/model> Sticky model + approve + rewrite settings
tokensaver approve [--current] Approve model in registry (zero-trust 403 fix)
tokensaver catalog list|pending|approve <ref> Registry admin

Free plan: 15 hosted OpenRouter models — see docs/models-and-free-plan.md. Default profile → openrouter/openai/gpt-oss-20b. Override: TOKENSAVER_PLAN=free.

Claude plugin slash commands

Installed by route claude → skill tokensaver-router:

Slash Action
/tokensaver-router:welcome Orientation + console link
/tokensaver-router:models List models + profiles
/tokensaver-router:use Switch sticky model
/tokensaver-router:flows Flux IA + recent runs (tokensaver flows)
/tokensaver-router:quota Usage (tokensaver quota)
/tokensaver-router:cache Cache stats (MCP)
/tokensaver-router:doctor Health checks
/tokensaver-router:help Full slash catalogue
Environment variables
export TOKENSAVER_API_KEY=ts_…
export TOKENSAVER_MODE=local          # or --local on commands
export TOKENSAVER_API_URL=http://localhost:8000
export TOKENSAVER_MCP_URL=http://localhost:8787/mcp
export TOKENSAVER_GATEWAY_URL=http://localhost:8788/mcp
export TOKENSAVER_CONSOLE_URL=http://localhost:3000
export TOKENSAVER_NO_BANNER=1         # hide ASCII banner on CLI start

Documentation

In this repo Related
docs/connect-control-plane.md Console Docs → Build / Connect
docs/quickstart.md Product · Console / Flux IA
docs/models-and-free-plan.md PyPI tokensaver-cli
docs/claude-code.md Anthropic Claude Code
docs/open-models-glm.md GLM 4.7 Flash — optional open model on Free
examples/ PyPI tokensaver-sdk
docs/README.md Console · Product

Examples (shell):

./examples/01-login-and-route.sh      # SaaS login + route
./examples/02-local-selfhost.sh       # localhost stack
./examples/03-glm-open-model.sh       # Free plan + GLM 4.7 Flash
./examples/04-llm-egress.sh           # OpenAI-compatible egress (no IDE route)
LAUNCH_CLAUDE=1 ./examples/03-glm-open-model.sh   # also launch claude

AI agents / LLMs: read llms.txt in this repo for a compact index.


TokenSaver for teams

The OSS CLI is built for individual developers: install, login, route your agent in minutes — free and MIT-licensed.

Running org-wide governance, SSO, centralized policies, and fleet FinOps across every team is what platform.tokensaver.fr and tokensaver.fr enterprise plans are for.

Request a demo · Early Adopter program


Contributing

Issues and stars welcome on this repo. Source of truth for releases is the private monorepo; this repository is a public mirror synced via scripts/sync-oss-cli.sh.

Releases: push packages/cli to main → CI auto-bumps patch (if needed), syncs the mirror, creates GitHub Release + PyPI. No manual version step.

See CONTRIBUTING.md · SECURITY.md · CHANGELOG.md

git clone https://github.com/tokensaver-ai/tokensaver-cli.git
cd tokensaver-cli
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" && pytest -q

License

MIT — see LICENSE.


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tokensaver_cli-0.3.21.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tokensaver_cli-0.3.21-py3-none-any.whl (75.6 kB view details)

Uploaded Python 3

File details

Details for the file tokensaver_cli-0.3.21.tar.gz.

File metadata

  • Download URL: tokensaver_cli-0.3.21.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.16

File hashes

Hashes for tokensaver_cli-0.3.21.tar.gz
Algorithm Hash digest
SHA256 88945d457cede0edd6e7719cdd0edfddcf4d7d91cf97f20c39106e2b70e38c4b
MD5 26282125b1f9a6b34146b8b4519ffa4d
BLAKE2b-256 4e2891a6f28f2a5eaa94cc2750df79583caf77b8cee258b098c7bd34a5193d99

See more details on using hashes here.

File details

Details for the file tokensaver_cli-0.3.21-py3-none-any.whl.

File metadata

File hashes

Hashes for tokensaver_cli-0.3.21-py3-none-any.whl
Algorithm Hash digest
SHA256 77958a8ae0c6b1abea5263d52ab391d153b17ec16df75da2fc0fa4b44fc4e8fe
MD5 563c99ca254e87e9f600e30bc3271e19
BLAKE2b-256 7550518b27ab798ff81e667b71eefb82fc09ca51ace7835231b51ea7de23c487

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.21 This release

2 files

0.3.20

2 files

0.3.19

2 files

0.3.18

2 files

0.3.17

2 files

0.3.16

2 files

0.3.15

2 files

0.3.13

2 files

0.3.12

2 files

0.3.11

2 files

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page