Command-line interface
smarts is a single, self-contained binary that brings the smarts.bio agent, tools, pipelines, and workspace files to your terminal, scripts, and coding agents — on macOS, Linux, and Windows. No runtime to install.
Install
macOS / Linux (Homebrew):
brew install smartsbio/tap/smartsmacOS / Linux (install script):
curl -fsSL https://smarts.bio/install.sh | shWindows (PowerShell):
irm https://smarts.bio/install.ps1 | iexWith Cargo (any platform with Rust):
cargo install smarts-cliAuthenticate
Log in with your browser — a device-code flow that also works over SSH:
smarts loginFor CI or headless use, set an API key instead (generate one at chat.smarts.bio → Organization Settings → API Keys):
smarts auth set-key sk_live_... # or: export SMARTSBIO_API_KEY=sk_live_...
Core commands
The grammar is smarts <noun> <verb>. A few of the most common:
# Ask the agent (streams progress, then the answer) smarts query "What is the function of the HBB gene?" # Tools — discover and run smarts tool list smarts tool run ncbi-blast --param sequence=ATGGTGCACCTG... # Pipelines — start a run and watch it to completion smarts pipeline list smarts pipeline run quality-control --param input=reads.fastq smarts run watch <runId> # Workspace files (shell-like; stays inside your workspace) smarts file ls smarts file cd results smarts file upload ./local.vcf smarts file open results.vcf # opens in the browser viewer # Open a LOCAL file in the viewer without uploading it smarts open ./petri.jpeg
Reproducible pipelines
Save a finished run as a reusable pipeline spec and re-run it on different files. Spec paths prefixed with @ are in the workspace; otherwise an existing local file (e.g. one in your repo) is used.
# Built-in pipelines plus the ones saved in this workspace smarts pipeline list # Inputs and steps of a built-in id, a saved spec, or a local .json file smarts pipeline show <id|path> # Save a finished run to pipelines/specs/<name>.pipeline.json smarts pipeline save <runId> --name my-pipeline # --force replaces an existing one # Check a spec without running it (exits non-zero if invalid) smarts pipeline validate @pipelines/specs/my-pipeline.pipeline.json # Run a saved or local spec with new inputs smarts pipeline run --spec @pipelines/specs/my-pipeline.pipeline.json --param inputBam=input/sample2.bam
Pick a workspace
Most commands act on your default workspace. List them and set a default:
smarts workspace list smarts workspace use <workspaceId>
Use it from an AI agent
The CLI ships a local MCP server, so Claude Desktop, Claude Code, Cursor, and other MCP clients can drive smarts.bio directly. See the local MCP guide.