Confluence Pro · $199/mo

Confluence Pro MCP

The Pro tier includes a standard MCP server (not tied to one client) that streams graded alerts, gamma rails, and a broker execution checklist. Use it in Claude, ChatGPT, Cursor, or VS Code with an MCP extension. Pair with Robinhood, Webull, Interactive Brokers, Alpaca, or tastytrade official MCPs for quotes and orders. Advisory only — you confirm every trade.

Confluence Pro MCP (signal) pairs with your brokerage MCP (execution) — Robinhood, Webull, IBKR, Alpaca, or tastytrade

Connect with the hosted connector (no install)

The Pro MCP is fully hosted — no Python, no repo clone, no config files. On a paid Claude plan (Pro, Max, Team, or Enterprise), Claude supports custom connectors. Add one URL with your Pro key:

https://mcp.0dteconfluence.com/mcp?key=YOUR_cfl_KEY

In Claude: Settings → Connectors → Add custom connector → paste the URL → the Confluence tools appear in every chat. Your key scopes the connection to your account. Free Claude plans don’t include custom connectors — use Cursor or VS Code with the hosted URL below instead.

Compatible clients

What you get

Cursor & VS Code (hosted URL)

Cursor and VS Code MCP extensions accept a remote connector URL — same hosted server, no Python or server files. Add the block below to .cursor/mcp.json (Cursor) or your VS Code MCP config:

{
  "mcpServers": {
    "confluence-pro": {
      "url": "https://mcp.0dteconfluence.com/mcp?key=YOUR_cfl_KEY"
    }
  }
}

Restart the client → enable the confluence-pro server. Your Pro key scopes the connection to your account. Pair with a broker MCP for quotes and orders:

{
  "mcpServers": {
    "confluence-pro": {
      "url": "https://mcp.0dteconfluence.com/mcp?key=YOUR_cfl_KEY"
    },
    "robinhood-trading": {
      "url": "https://agent.robinhood.com/mcp/trading"
    }
  }
}

Swap the broker block for Webull, IBKR, Alpaca, or tastytrade — full examples on the Broker MCP hub.

Session workflow

  1. get_morning_desk + get_rails before the open
  2. Swing / weekly: get_swing_structure (5–45 DTE walls — not 0DTE)
  3. Macro overlay: get_cross_asset · get_major_news · get_yield_curve · get_fear_greed (context only)
  4. On an alert: retrieve the record, verify current structure and fresh Tape, then check_alert_tradeable → plan_robinhood_entry / plan_webull_entry / plan_ibkr_entry / plan_alpaca_entry / plan_tastytrade_entry (or plan_entry with broker=robinhood|webull|webull_local|ibkr|alpaca|tastytrade). Pass the same alert_json to both checks/planning calls to retain that specific alert; otherwise each call retrieves the latest record.
  5. Broker MCP (or app): quotes/preview → you confirm → order (Webull Cloud / IBKR: confirm in the broker app; Alpaca / tastytrade: confirm in the chat client; tastytrade requires dry-run confirmation_token)
  6. After fill: format_bracket_plan with your entry premium

Numeric trapdoor and eligibility fields

Neither flag checks intervening one-minute closes, prior stop-outs, positions, or re-entry eligibility. A card remains a timestamped observation, not a standing recommendation. See lane vs Discord windows and rolling OFI and snapshot freshness.

Planning validation + broker quoting

get_latest_alert and list_alert_history apply the Discord posting filters — windows, quality gates, and dynamic deduplication — with the same plain-text card format. These are filtered scanner records, not a per-message delivery receipt or a live position tracker.

check_alert_tradeable rejects missing/non-object alerts, an absent or unreadable session date, another session's alert, an unsupported grade or invalid score, score < 6/8, a closed Pro window, a missing/nonpositive/nonfinite invalidation level, or a direction other than CALL/PUT. A present trapdoor value must be valid 0–100; null remains unscored. The existing MCP fade-fragility veto still applies. Discord separately filters fragile fades/reclaims; supplying custom JSON does not rerun the full scanner or Discord filters.

A passing planning gate is necessary, not sufficient, for acting on a setup. It does not regrade the candle or current flow, verify survival of the structural stop, check broker positions, or impose a maximum age in minutes on same-day alerts. No automatic re-entry follows from tradeable: true. Failed gates return a rejection, not an execution checklist or bracket targets.

plan_robinhood_entry / plan_webull_entry then return the advisory checklist — ~0.55–0.65 delta (slightly ITM), spread ≤10% of mid (≤12% pre-9:45). Robinhood: price from high_fill_rate_buy_price (not a guessed ask or passive mid); exits use low_fill_rate_sell_price when available. Webull Cloud: place_option_single_instruction then confirm in the Webull app (no RH-style fill-rate band — use a tight limit near ask). Webull Local: preview_option_order → place_option_single_order. Do not buy the alert print — wait for the next 1-min close still on the rail (starter ⅓, add ⅔ on a held retest). Working stop is that rail; −25% of premium is last-resort only. Force-flat from get_market_clock.

1. check_alert_tradeable     → tradeable must be true
2a. Robinhood: get_option_quotes → high_fill_rate_buy_price
    review_option_order → place_option_order (you confirm)
2b. Webull Cloud: place_option_single_instruction → confirm in Webull app
2c. Webull Local: preview_option_order → place_option_single_order (you confirm)
2d. IBKR: draft AI instruction → Review & Submit in IBKR app
2e. Alpaca: get_option_snapshot → place_option_order (you confirm)
2f. tastytrade: dry_run → confirmation_token → place_order (you confirm; sandbox first)
3. format_bracket_plan       → ⅓/⅔ scale-in + rail stop (−25% cap only if no rail)

Webull MCP (Cloud vs Local)

Same Confluence Pro gates and structure; only the broker MCP steps differ. Prefer Cloud if you want OAuth like Robinhood (no App Key in mcp.json). Use Local if you already have Webull OpenAPI App Key/Secret.

Interactive Brokers MCP

Add remote URL https://api.ibkr.com/v1/api/mcp-public, complete OAuth. Confluence drafts the instruction; you Review & Submit in the IBKR AI Instructions tab. Docs: IBKR MCP.

Alpaca MCP

Run uvx alpaca-mcp-server with your API keys. Prefer paper first (ALPACA_PAPER_TRADE=true). After Confluence plans the entry, confirm then place_option_order. Docs: alpaca-mcp-server.

tastytrade MCP

Self-hosted: clone tastytrade-mcp, npm ci && npm run build (Node 22+), then point mcp.json at node /ABS/PATH/tastytrade-mcp/dist/index.js with TASTYTRADE_CLIENT_ID / SECRET / REFRESH_TOKEN. Set TASTYTRADE_ENV=sandbox until the flow is proven — production is the default and moves real money. Order flow is dry-run-first (confirmation_token, 60s). Docs: tastytrade MCP server.

Discord backup

#alerts-pro pings Pro members on mobile. MCP is the primary desk workflow when you're at the computer.

Install guide above · questions: [email protected]