Canary MCP server for Interactive Brokers market data, portfolio context, and risk checks.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A local risk desk for your Interactive Brokers account.
Canary turns one local IB Gateway or TWS session into a daily brief, current portfolio and market evidence, and a broker-confirmed review of what past position changes delivered. Use the same daemon from an MCP host, the shell, or a paired phone. The standard binary and every MCP tool are structurally read-only: they contain no broker-order preview or execution surface.
Canary is for an IBKR Pro user who runs Gateway or TWS locally and wants stale,
missing, or held evidence to remain visible. It is not a hosted brokerage
service, a trade recommender, or a complete TWS API replacement. If you only
need a Go wire-protocol client, use pkg/ibkr.
Documentation Β· Install Β· First session Β· Canary Edge Β· MCP tools Β· Safety Β· Privacy
You need IB Gateway 10.37+ or TWS with API socket access enabled, an IBKR Pro account, and macOS or Linux on arm64 or amd64. WSL works; native Windows does not.
For one binary shared by the shell and local MCP hosts:
The installer verifies the signed release checksum and installs to
~/.local/bin. The install guide shows how to
inspect the script first and covers every other installation path.
For Claude Desktop only, download
canary.mcpb,
open it with Claude Desktop, then quit Claude completely and relaunch it. Ask:
What needs attention today, and which inputs are degraded?
The bundle carries its own macOS and Linux binaries. The Claude Desktop walkthrough covers the first connection.

Current Canary SPA rendered from synthetic data. Edge reports observed historical outcomes; it is not a forecast or a causal claim.
| You want to⦠| Start with | Boundary |
|---|---|---|
| Ask an agent about the account | The MCP Bundle, or canary mcp from any local framework that can launch a stdio MCP server | Read-only tools; no settings writes, previews, or execution tools |
| Work in a terminal or script | canary brief, canary positions --by underlying, and --json | Deterministic CLI output over the same daemon authority |
| Check the desk from a phone | canary app, then canary app pair | Paired PWA; local by default, optional remote relay |
| Build directly on the TWS protocol | github.com/osauer/canary/v2/pkg/ibkr | Lower-level transport; your application owns policy, authorization, and journaling |
Constrained broker actions are not a fifth onboarding path. They require a separate experimental trading binary and remain limited to gated CLI and paired-app flows. MCP stays read-only in every build. Read Gated orders and the trading build before using that artifact.
canary brief, the Rulebook, and the Action
Queue combine current alerts, process exceptions, protection candidates,
and exercise candidates without turning any row into submit authority.Reconciliation, statement-derived equity, and Edge require one shared IBKR
Activity Flex Query. Run canary setup reporting, then follow the
screenshot-driven field checklist.
The MCP Bundle is the shortest Claude Desktop path. For another local host,
install the shared binary and point the host at its absolute path. Hosts that
use the common mcpServers shape accept:
Use which canary to find the path. A browser-only agent cannot reach this
local stdio process. After upgrading, fully relaunch the host so it respawns
the MCP server.
Continuously running agents can keep this MCP child process available and
reuse Canary's brief, calendar, regime, risk, and order evidence. Use
canary_calendar for official exchange sessions and coverage bounds; it is not
an economic-release calendar. The host owns durable wakeups, model budgets,
and process recovery. Canary owns the observations and risk semantics. See
continuous hosts for
the lifecycle and data-quality contract.
Ask in desk language rather than naming tools:
How is my portfolio exposed by underlying?
Which repeated entries, adds, trims, or exits had the largest observed 20-session price impact, and what coverage bounds that answer?
Are any protection or exercise candidates ready for human review?
The host guide covers Claude Code, Cursor, Continue, Zed, framework integration, logs, and connection checks. The generated MCP reference is the exact tool and schema inventory. The optional Claude Code plugin adds Canary's skill, MCP config, and safety hooks; it does not ship the binary.
Every data command supports --json:
Run canary status first when anything looks wrong. canary --help and the
CLI reference carry the complete command and flag
inventory.
For the paired app, run canary app on the machine that owns the Gateway or
TWS session, then run canary app pair and scan the QR code. The current
workspace is Monitor, Positions, Edge, Alerts, and Orders; Settings opens from
the header gear. See the app guide for local pairing,
remote-relay, and Web Push boundaries.
pkg/ibkr is a clean-room Go client for the TWS wire protocol:
Protocol coverage is purpose-driven, not exhaustive. The package transports broker requests but does not provide Canary's application-level authority boundary. Direct users must supply their own policy, authorization, journaling, and reconciliation controls. Start with the package documentation.
The public Go module deliberately remains on the maintained /v2 line while
product v3 ships as signed binaries. Therefore go install github.com/osauer/canary/v2/cmd/canary@latest installs the v2 CLI, not product
v3.
The daemon starts on demand, owns the selected account, broker connection,
market evidence, policy state, and local order journal, and normally exits
after 15 idle minutes. Adapters render typed daemon results; they do not
re-create risk policy. The architecture
and storage guide describe the boundaries and
the retained ibkr XDG paths used for upgrade continuity.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/canary-mcp)<a href="https://allmcps.com/mcp/canary-mcp"><img src="https://allmcps.com/api/badge/canary-mcp?style=directory" alt="Canary MCP on AllMCPs" /></a>