Developer docs

ChartGaze Documentation

Give any MCP client live multi-TF structure, economic calendar, news, and — when authorized — your MT4 / MT5 / cTrader / crypto accounts. Start free: 10 calls, no card.

Overview

ChartGaze is a remote MCP server. Your AI (Claude, ChatGPT, Grok, custom agents) calls tools over HTTPS — it never needs raw OHLCV dumps or screenshot uploads. For full autonomous execution, use TrainFlow; ChartGaze is the context + account layer.

MCP URL

https://api.chartgaze.live/app

API base

https://api.chartgaze.live

Free tier

10 MCP calls · no card

Accounts

MT4 · MT5 · cTrader · 9+ crypto

Connect your AI

Prefer /agents so each assistant gets the right flow. Auth is ChartGaze OAuth during Connect — not a pasteable API key for Claude / ChatGPT / Grok.

Claude (directory)

  1. Chat + → Connectors → + → Browse connectors
  2. Search ChartGaze → Connect
  3. Log in / sign up on ChartGaze when Claude opens that page
  4. Tap ChartGaze in connectors for the chat, then ask e.g. gold bias vs next USD event

Custom URL fallback only if Browse has no ChartGaze: https://api.chartgaze.live/app

ChatGPT

Directory / Plugins Connect when listed (OAuth). Until then: Developer mode → custom MCP → same URL → ChartGaze login.

Grok (custom)

  1. On grok.com (web), click + in the chat box → Connector → Custom
  2. Name it ChartGaze and paste https://api.chartgaze.live/app (not www.chartgaze.live/mcp)
  3. Complete ChartGaze OAuth when Grok redirects you

Microsoft Copilot

Consumer Copilot chat (copilot.microsoft.com / Bing chat) has no user setting to paste arbitrary MCP servers or install ChartGaze as a plugin. That matches Microsoft’s own guidance.

  • Copilot Studio — build a custom agent and attach ChartGaze as an MCP / external tool (https://api.chartgaze.live/app); prefer OAuth.
  • Microsoft 365 Copilot (work/school) — admins configure connectors / agents via Microsoft 365 admin tools; gallery / partner certification is a separate Microsoft path (often read-focused).
  • GitHub Copilot / VS Code — developer MCP clients can use the same remote URL as other custom agents.

Claude Desktop / other MCP clients

Remote Streamable HTTP / SSE — no stdio wrapper required.

{
  "mcpServers": {
    "chartgaze": {
      "url": "https://api.chartgaze.live/app"
    }
  }
}

Custom agents / Cursor / other MCP clients: use https://api.chartgaze.live/app. SDKs use API host https://api.chartgaze.live with Bearer auth — see SDKs.

MCP tools (12)

Discoverable at runtime via tools/list or GET /mcp/tools. Call with POST /mcp/call.

Market

get_market_snapshotmarket.read

Live price, bid/ask, volume, volatility, and trend. OHLCV from ChartGaze general CAR (or a warm complement if the symbol is not in general). Returns market_data_source metadata.

  • · symbol (required) — e.g. XAUUSD, EURUSD, BTC
  • · account_id? — optional; records which connected account the user cares about
get_market_contextmarket.read

Multi-TF structure (5m–1D): trend, HH/HL regimes, momentum, volatility. Core ChartGaze tool. Same general/complement feed rules as snapshot.

  • · symbol (required)
  • · timeframes? — default 5m,15m,1h,4h,1D
  • · include_events? — nearby calendar
  • · account_id?
get_historical_contextmarket.history

Time-machine: reconstruct multi-TF context at any ISO timestamp (no screenshots).

  • · symbol (required)
  • · timestamp (required) — ISO 8601 UTC
  • · include_forward_window? — minutes look-ahead
  • · account_id?
compare_marketsmarket.read

Primary vs related symbols — correlations and cross-asset context.

  • · primary_symbol (required)
  • · related_symbols[] (required)
  • · timeframe? — default 4h
  • · account_id?

Events

get_market_eventsmarket.read

Economic calendar in a time window; filter by currency and impact.

  • · start_time
  • · end_time
  • · symbol?
  • · impact? — high|medium|low
get_economic_calendar_weekmarket.read

Full current week of events at a glance for planning around announcements.

get_market_newsmarket.read

Recent headlines for a symbol (sentiment / what’s moving price).

  • · symbol?
  • · limit? — default 10
  • · hours_back? — default 24

Watchlists

get_watchlistwatchlists.manage

Fetch a watchlist with live data for each symbol.

  • · watchlist_id (required)
create_watchlistwatchlists.manage

Create a named watchlist; optionally seed symbols.

  • · name (required)
  • · symbols?[]

Alerts

create_market_alertwatchlists.manage

Price alert (above/below). No broker account required — watches general market price. Email on hit when Resend is configured.

  • · symbol (required)
  • · alert_type (required) — above | below
  • · trigger_condition / target price (required)
list_market_alertswatchlists.manage

List your active price alerts (dashboard Trade and alerts).

Accounts

get_trading_accountstrading.read

Connected MT4 / MT5 / cTrader / crypto accounts (status only — no credentials). Prefer default_account_id for trades.

Trading

propose_tradetrading.write

Create a pending trade for user approval (email + dashboard). Does not place until approved.

  • · account_id (required)
  • · symbol, side, volume (required)
  • · order_type?, entry_price?, stop_loss?, take_profit?
# Example: multi-TF gold context
POST https://api.chartgaze.live/mcp/call
{
  "name": "get_market_context",
  "arguments": {
    "symbol": "XAUUSD",
    "include_events": true
  }
}

Auth & billing

Sign in at chartgaze.live (email/password, Google, or password reset via /auth/reset-password). MCP sessions use ChartGaze OAuth / bearer. Free tier: 10 MCP calls · no card (flat 1 call per tool on free). Top up call packs on Billing ($10 / 100, $100 / 1200).

Account slots (separate from calls): connecting MT4 / MT5 / cTrader / crypto needs a paid slot — $15 / 1 or $50 / 4 (30 days). Free trial does not include broker slots; Connect opens pricing when you have none left.

Manage usage in the Billing dashboard. Crypto checkout is on by default; card follows the admin toggle.

Market data (general CAR + complements)

Analysis tools do not pull OHLCV from the user’s broker by default. They resolve each symbol against ChartGaze coverage:

  • General CAR — shared warm feed (cTrader sidecar symbol map / optional general MetaAPI or CCXT). Covers majors, metals, many crypto & synthetics already.
  • Complements — when someone connects an account whose server is not already covered, only symbols missing from general are mapped onto that account and kept warm. Same server → skip.
  • Tool responses include market_data_source so the AI knows which feed served the candles.
  • Balances, positions, propose/approve trades always use the user’s account_id from get_trading_accounts.
Price alerts also use general market prices — no broker slot required. Pending trades email the user for approval when Resend is configured on the API.

HTTP API

Base: https://api.chartgaze.live

GET/mcp/tools

List MCP tools (same catalog as above)

POST/mcp/call

Invoke a tool by name + arguments

GET/accounts/list

Connected trading accounts

POST/accounts/connect/mt5

Connect MetaTrader 5

POST/accounts/ctrader/auth/url

Start cTrader Spotware OAuth

POST/accounts/connect/ctrader

Save cTrader account after OAuth

POST/accounts/connect/crypto

Connect CCXT exchange (API keys)

GET/usage/summary

Credits / usage summary

Prefer MCP tools from Claude/ChatGPT for analysis. Use HTTP connect routes from the dashboard UI or your backend when linking brokers.

SDKs

Official SDKs live under github.com/TrainFlow-AI. Use them for bots and backends; use MCP for conversational agents.

Python quick start

# pip install chartgaze
import os
from chartgaze import ChartGaze

client = ChartGaze(api_key=os.environ["CHARTGAZE_API_KEY"])
ctx = client.get_market_context(symbol="XAUUSD", include_events=True)
print(ctx)

Go quick start

// go get github.com/TrainFlow-AI/chartgaze-go-sdk
client := chartgaze.NewClient(os.Getenv("CHARTGAZE_API_KEY"))
ctx, err := client.GetMarketContext(ctx, "XAUUSD", true)
if err != nil { log.Fatal(err) }
fmt.Println(ctx)

Java quick start

// mvn install (from chartgaze-java-sdk)
ChartGazeClient client = new ChartGazeClient(System.getenv("CHARTGAZE_API_KEY"));
JsonNode ctx = client.getMarketContext("XAUUSD", true);
System.out.println(ctx);
TypeScript/Node SDK is a good follow-up for web agents. You do not need any SDK to test in Claude or ChatGPT — use the remote MCP URL as a custom connector.

Connect trading accounts

Dashboard → Accounts shows your slot usage (X / Y in use). Broker login for MT4/MT5 (MetaAPI), Spotware OAuth for cTrader, API keys for Binance, Bybit, OKX, Bitget, MEXC, Gate, Kraken, KuCoin, Crypto.com. Market tools work without a connect; slots are only for your book + trading/approve.

If you have no slots, Connect opens pricing ($15 or $50). Your AI never receives credentials — only balances/positions you authorize via get_trading_accounts. Idle MetaAPI accounts that are not serving market complements undeploy after ~6h; trading redeploys before execute.

Developer docs

ChartGaze MCP — tools for any AI

Point Claude, ChatGPT, Grok, or a custom MCP client at https://api.chartgaze.live/app (Streamable HTTP). SDK bots use https://api.chartgaze.live with Bearer auth. Market tools use ChartGaze general CAR (plus complements for symbols not in general). Alerts need no broker. Connecting MT4/MT5/cTrader/crypto needs a paid account slot.

Official Python and Go SDKs live under github.com/TrainFlow-AI. Prefer MCP for chat agents; use SDKs for bots and backends. Free tier: 10 calls, no card. Account slots: $15/1 or $50/4 per 30 days.

  • get_market_context · general CAR + complements · market_data_source
  • Calendar + news · price alerts (no account) · propose_trade approval
  • get_trading_accounts — slots required to connect brokers
  • Python & Go SDKs · TypeScript planned