The data flows out. Orders don't go in.
Canary is a read-only interface to your Interactive Brokers account, reachable from a Go library, a shell CLI, a stdio MCP server (Claude Desktop, Cursor, Continue, Zed), and a Claude Code plugin. Hand it to an assistant, a cron job, a notebook, or your own service.
What's new in v3.4.1
- Brief puts assessment, findings, and coverage first. The terminal and app share a compact overview with dated context. Use
canary brief --detailsor expand the app's full brief for supporting evidence and source diagnostics.
Claude Desktop MCPB
Download the canonical canary.mcpb asset from the Assets section below or from:
https://github.com/osauer/canary/releases/latest/download/canary.mcpb
Open the .mcpb file with Claude Desktop, drag it into Claude Desktop, or use Settings -> Extensions -> Advanced settings -> Install Extension. The bundle carries the read-only local server for macOS and Linux. Windows is not supported outside WSL because the daemon uses Unix-only primitives.
Shell and generic MCP install
curl -fsSL https://raw.githubusercontent.com/osauer/canary/main/install.sh | sh
canary setup claude-desktopThe first command picks the right binary for your platform, verifies its signed SHA-256 inventory, installs it to ~/.local/bin/canary, adds the directory to your PATH if needed, and clears the Gatekeeper quarantine flag on macOS. The second command writes the MCP server entry into Claude Desktop's config; fully quit Claude Desktop and reopen.
If you only want the shell tool, stop after the first command and try:
canary account
canary technical AAPL
canary positions --by underlyingPrerequisite: a running IB Gateway 10.37+ or TWS (paper or live) on the same machine. The daemon auto-discovers it across the four standard ports.
See the README for the full feature menu and the troubleshooting matrix. Read-only by construction; the Safety section walks through the four guards.
⚠️ Broker-write capable build (canary-trading-* tarballs)
Everything above — the installer, the MCPB bundle, and the plain canary-v3.4.1-* tarballs — is read-only by construction: order transmission is not compiled in.
The canary-trading-v3.4.1-* tarballs are different: that binary can place, modify, cancel, or exercise constrained orders with your broker once you configure the trading gates and satisfy the action's fresh preview or preflight contract. Only download it if you intend to trade through Canary. Before enabling anything, read SECURITY.md and the trading guide, start against a paper account, and verify with canary trading status. Release publication is hermetic and performs no broker preview or write; wire behavior is verified separately with the read-only smoke targets.
Paranoid? Inspect the installer before running it
curl -fsSL https://raw.githubusercontent.com/osauer/canary/main/install.sh -o install.sh
less install.sh
sh install.shDoing something custom?
- Go module and source-built CLI: product v3 and later ship through the signed installer and release assets above. The public Go module remains on its maintained v2 line;
go install github.com/osauer/canary/v2/cmd/canary@latestinstalls the newest v2 release, not this product release. - Different install dir:
CANARY_INSTALL_DIR=/usr/local/bin sh install.sh. The installer won't touch your shell rc when you override; manage PATH yourself. - Manual download: pick a tarball or
.mcpbfrom the Assets section below. Verify againstSHA256SUMS. - Cursor / Continue / Zed / other local MCP clients: see Pick your path in the README for the JSON snippet (config file path differs per client).
- Claude Code:
/plugin marketplace add osauer/canarythen/plugin install canary@canaryinside any session.
Windows isn't supported. The daemon uses Unix-only primitives (setsid, flock, AF_UNIX sockets). WSL works.
Changed
- Regime and Stress are easier to scan. Readings wrap to terminal width, recorded Regime evidence is qualified, and Stress separates risk findings from missing inputs. Detailed thresholds and transport errors remain available explicitly.
- Risk decisions and broker-write authority are unchanged. JSON and MCP retain full evidence, including unavailable values and source quality.
Fixed
- Brief no longer says everything else holds when checks are incomplete, and stale Regime bands no longer look current. (#40)