qjtrader-mcp

qjtrader-mcp

MCP server for QJ Trader AI Trading APIs, enabling LLMs to watch live Canadian market data and place simulated orders.

Category
Visit Server

README

qjtrader-mcp

Model Context Protocol server for the QJ Trader AI Trading APIs. Point your LLM at your QJ credential and it can watch live Canadian market data and place simulated orders — no code, no manual API testing.

Built on the official qjtrader Python SDK. Talk to it from Claude Code, Claude Desktop, or any MCP-capable client:

"Subscribe to CA:RY and MX:CRAU26, show me the books, then buy 1 CRAU26 at 97 in the sandbox and tell me the fill."

Safety model — AI trades simulated by default

Order-mutating tools (place_order, cancel_order, replace_order, cancel_all) run against a sandbox credential by default and return simulated fills. A live credential is refused unless you explicitly opt in. The server never sniffs this off the wire (the protocol doesn't expose it) — you declare it:

QJ_ENV Read tools (quotes/depth/status) Order tools
sandbox ✅ simulated
live ⛔ unless QJ_MCP_ALLOW_LIVE=1
(unset) ⛔ (fail-safe: unknown is treated as live)

Every tool result is prefixed with an environment tag ([SANDBOX] / [LIVE — REAL MONEY] / [ENV UNKNOWN]), and order quantity is capped client-side by QJ_MCP_MAX_QTY (default 25).

Install

Get a free sandbox credential (no approval) at console.qjtrader.ai.

Once published to PyPI, the zero-install path is:

uvx qjtrader-mcp        # or: pipx run qjtrader-mcp

Until then (or for local development against the SDK checkout):

# from the qjtrader-mcp/ directory, with the qjtrader-python sibling checked out:
uv sync && uv run qjtrader-mcp          # uv resolves qjtrader from ../qjtrader-python
# — or with pip —
pip install -e ../qjtrader-python -e .
qjtrader-mcp

Configure your client

Claude Code

claude mcp add qjtrader -- uvx qjtrader-mcp
# then set the credential + environment for the server:
claude mcp add qjtrader \
  -e QJ_CLIENT_ID=your-client-id \
  -e QJ_CLIENT_SECRET=your-client-secret \
  -e QJ_ENV=sandbox \
  -- uvx qjtrader-mcp

Claude Desktop / generic stdio

Add to your MCP config (claude_desktop_config.json or equivalent):

{
  "mcpServers": {
    "qjtrader": {
      "command": "uvx",
      "args": ["qjtrader-mcp"],
      "env": {
        "QJ_CLIENT_ID": "your-client-id",
        "QJ_CLIENT_SECRET": "your-client-secret",
        "QJ_ENV": "sandbox"
      }
    }
  }
}

The console's "Connect your AI" panel generates these blocks pre-filled, including QJ_ENV=sandbox.

Tools

Tool Kind Description
session_info read Environment, whether order actions are allowed, endpoints, authenticated user. Call first.
get_quote read Top-of-book (best bid/ask) for one or more symbols
get_depth read Level-2 order book for a symbol (venue-tagged on consolidated books)
watch read Sample the live stream for a bounded window; returns a digest + last messages
list_orders read Open orders + session state
place_order write Submit a limit order and wait for a terminal state
cancel_order write Cancel a working order by cid
replace_order write Amend a working order's qty/price
cancel_all write Cancel every working order (kill switch)
explain_symbol util Parse/explain a symbol (prefix + root + venue), offline
read_events read Order journal — cross-order event history; post-trade analysis & strategy debugging
get_history read Historical OHLCV bars (1s/1m); sandbox = deterministic synthetic days
get_stats read Server digest for a symbol: VWAP, spread, volume, realized vol (a digest, not a dump)
get_chain read Options chain snapshot for an underlying/expiry (latest or historical)
compare read Rank a digest metric (vwap/volume/realized_vol/spread_mean) across symbols

The read_*/get_* research tools make the LLM a quant developer: analyse the market and debug the strategy it wrote, without touching the production order path.

Configuration reference

Env var Purpose Default
QJ_CLIENT_ID / QJ_CLIENT_SECRET credential — (required)
QJ_ENV sandbox | live — declares the environment unset → treated as live
QJ_MCP_ALLOW_LIVE set 1 to authorize live order actions off
QJ_MCP_MAX_QTY client-side max order quantity 25
QJ_DATA_HOST / QJ_ORDERS_HOST endpoint overrides public QJ hosts
QJ_CA_FILE pin a CA/cert (pilot order endpoint) none

License

Apache-2.0. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured