@steerprotocol/cli
v1.2.0
Published
Steer Protocol operational CLI scaffold built with incur.
Downloads
641
Readme
@steerprotocol/cli
Read-only operational CLI for Steer Protocol.
steer is built for both terminal users and agents. It exposes live protocol status, chain and protocol discovery, market inspection, liquidity depth analysis, and ALM vault inspection through a single typed CLI surface.
Install
npm install -g @steerprotocol/cliOr run it without installing:
npx @steerprotocol/cli statusAgent Installation
Install as a Skill (less tokens usage)
Generate and install skill files for agents that use skills:
steer skills addThis lets an agent discover steer from generated skill documentation instead of only from shell help.
Install as MCP
Register steer as an MCP server for your agent:
steer mcp addUseful variants:
steer mcp add --agent cursor
steer mcp add --agent claude-code
steer mcp add --no-globalStart the CLI directly as an MCP stdio server:
steer --mcpDiscover Command Contracts
For agents and wrappers, steer also exposes:
steer --llms --format jsonfor the live command manifeststeer <command> --schema --format jsonfor typed command contractssteer <command> --jsonfor machine-readable command output
Quick Start
steer status
steer chains --json
steer protocols --chain base --json
steer markets list --chain base --protocol uniswap --limit 5 --json
steer vaults list --chain base --type alm --limit 5 --jsonFor local development, create a .env from the example file and set your SDK key there:
cp .env.example .envCommands
status
Show runtime health, environment, profile, and command-domain availability.
steer status --json --verbosechains
List supported chains discovered from the Steer SDK.
steer chains --jsonprotocols
List supported protocol aliases, optionally narrowed to a chain.
steer protocols --chain base --jsonmarkets list
List markets for a chain and protocol.
steer markets list --chain base --protocol uniswap --limit 10 --jsonmarkets inspect
Inspect a single market or run batch liquidity depth analysis for multiple pools.
steer markets inspect 0xd0b53d9277642d899df5c87a3966a349a798f224 --chain base --protocol uniswap --json
steer markets inspect 0xd0b53d9277642d899df5c87a3966a349a798f224 --chain base --protocol uniswap --depth --json
steer markets inspect --chain base --protocol uniswap --depth --pools 0xpoolA,0xpoolB --jsonDepth mode supports:
steer markets inspect <pool> --chain <chain> --protocol <protocol> --depth \
--subgraph-key your-key \
--rpc https://base-rpc.publicnode.com \
--percent 1,2,5,10 \
--usd-sizes 1000,5000,10000 \
--prices autoOverride the env-configured key only when needed:
steer markets inspect 0xd0b53d9277642d899df5c87a3966a349a798f224 \
--chain base \
--protocol uniswap \
--subgraph-key your-key \
--jsonvaults list
List ALM vaults for a chain, optionally filtered by protocol or active status.
steer vaults list --chain base --type alm --active --limit 10 --jsonvaults inspect
Inspect a vault, including its underlying pool, fees, holdings, valuation, a nested gas summary, tick range, positions, and live in-range status derived from the current pool tick.
steer vaults inspect 0x62e9efb617dc886c4d31633371ede096aaecc2f8 --chain base --type alm --jsonvaults gas inspect
Inspect the live gas-vault balance snapshot for a vault.
steer vaults gas inspect 0x62e9efb617dc886c4d31633371ede096aaecc2f8 --chain base --type alm --jsonvaults gas history
Inspect recent gas usage history for a vault, including spend totals, tend cadence, and runway estimates.
steer vaults gas history 0x62e9efb617dc886c4d31633371ede096aaecc2f8 --chain base --type alm --window 7d --jsonUseful built-ins:
--jsonfor machine-readable command output--schemafor command contracts--llmsfor the live command manifest--mcpfor MCP server modecompletionsfor shell completions
Environment
The public read surface uses a small runtime env surface:
| Variable | Purpose |
| --- | --- |
| STEER_PROFILE | Active profile name |
| STEER_ENVIRONMENT | Runtime environment, defaults to development |
| STEER_SUBGRAPH_STUDIO_KEY | Primary The Graph Studio key for SDK-backed reads |
Notes:
- set
STEER_SUBGRAPH_STUDIO_KEYin your shell or.envfor normal local and CI usage --subgraph-keyis available as a one-off override for agents and debuggingvaultscommands do not require a vault-specific env varmarkets inspect --depthuses a vendored public RPC by default--rpcoverrides the depth RPC per invocation
Output Model
The CLI is intentionally read-only right now and returns structured envelopes rather than ad hoc terminal text.
Notable behavior:
markets inspect --depthadds adepthblock for single-pool inspection- batch depth returns
{ markets, failures } vaults inspectincludes nestedholdings,valuation, andgasblocks, pluspositionsvaults inspectcomputesinRangefrom the live pool tickvaults inspectexposes vault-levelvaluation.totalValueLockedUsd, whilepool.totalValueLockedUsdremains pool-level metadata from the underlying poolvaults gas inspectreturns the gas-vault state for a single vaultvaults gas historycombines the live gas-vault balance with up to 1000 recent gas events from the Steer subgraph for the selected windowvaults liststays summary-oriented and does not include positions
Local Development
pnpm install
pnpm dev -- --help
pnpm build
pnpm test
pnpm coverageDevelopment entrypoints are split intentionally:
src/index.tsis the executable bin wrapper used bypnpm dev, the published package bin, and shell-level smoke testssrc/cli.tsexports the import-safe command graph used by programmatic tests and futureincurtooling
Docs for the CLI live in docs/README.md.
For Maintainers
The CLI implementation is intentionally thin:
- commands own UX, examples, and schemas
- middleware owns runtime setup
- services own SDK integrations and live reads
If you need to update behavior, check these first:
src/cli.tssrc/index.tssrc/commandssrc/runtime.tssrc/services/contracts.ts
CLI tests intentionally isolate STEER_* environment variables instead of inheriting your shell state. When reproducing a test case locally, set the runtime env explicitly.
