tai42-cli
The tai command-line client for operating a tai42 server over its HTTP API. It
ships the tai console script: thin, typed clients over the server's /api/*
surface — the same routes the Studio calls — for tools, presets, agents,
extensions, connectors, hooks, channels, storage, keys, scopes, roles,
configuration, and the rest of the operator surface. Human-readable tables by
default; raw JSON under --json for scripting. Typed package (py.typed).
Position in the ecosystem
TAI is an open-source runtime for MCP tools, agents, and workflows. tai42-cli
is the terminal client half of the tai command: it talks to a running server
over HTTP and depends only on the interface contract, so it installs and runs on
its own without the server package.
tai42-contract <-- tai42-cli
(interfaces) (the remote client)
Installing the server package adds its own local and runtime commands (serve,
db, doctor, catalog, openapi, backend, metrics, offline config/manifest
validation) to the same tai command through an entry-point group, so one binary
covers both remote and local operation when both are installed.
Install
Requires Python 3.13+. Install from PyPI:
uv add tai42-cli
Or as a standalone tool:
uv tool install tai42-cli
Usage
Point the client at a server and authenticate. The server URL resolves from the
--server flag, then TAI_SERVER_URL, then ~/.config/tai/config.toml, then a
local default. The API key resolves from --api-key-stdin, then TAI_API_KEY,
then the config file, then an interactive prompt (there is deliberately no
--api-key VALUE flag — a value on the command line leaks through ps and shell
history). The HTTP read window resolves from --timeout SECONDS, then
TAI_CLI_TIMEOUT_SECONDS, then a 120s default sized for fleet-broadcast config
writes; values must be positive and finite.
export TAI_SERVER_URL=https://your-server.example
export TAI_API_KEY=sk-...
tai tools list
tai tools list --json
tai config env get
tai version
Install shell completion:
tai completion install bash > /etc/bash_completion.d/tai
Development
uv venv --python 3.13
uv pip install --no-sources --editable ".[dev]"
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync pyright
uv run --no-sync pytest --cov --cov-report=term-missing
Documentation
The whole platform — concepts, guides, and the generated reference — lives in the unified documentation site:
- Layering & the contract/kit/cli/skeleton split: https://tai42.ai/concepts/layering
- Python SDK reference: https://tai42.ai/reference/python-sdk
License
Apache-2.0. See LICENSE and NOTICE.
Release files for tai42-cli 9.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tai42_cli-9.1.0.tar.gz | 102.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tai42_cli-9.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 242.2 kB
Release files / tai42_cli-9.1.0.tar.gz
| Download URL | tai42_cli-9.1.0.tar.gz |
|---|---|
| Size | 102.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4803c2e9060577f988f17f39d6f782c019eda6a2d83bb4f4663edbf619348826
|
|
BLAKE2b-256 checksum How to use checksums |
8b78e4b59c0d3e79378b7fd31d80f1be55f36a5be7e1951c057990df653b51b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tai42_cli-9.1.0-py3-none-any.whl
| Download URL | tai42_cli-9.1.0-py3-none-any.whl |
|---|---|
| Size | 140.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
183fe14be4b10fbddd795a7377a43c2e7b479d04ec379492f64635c64131b1a8
|
|
BLAKE2b-256 checksum How to use checksums |
39374c6f57f6024f500715352e74a6cdd59be5e6b4373887e3ef4e29335d3a41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|