TR

Trade It MCP Server: Stocks, Crypto, Options

Execute stocks, crypto, and options trades via the Trade It MCP server with Robinhood, ETrade, Schwab, Webull, Coinbase and Kraken support.

Quick Install
npx -y @trade-it-inc/trade-it-mcp

Overview

The Trade It MCP Server exposes brokerage actions (stocks, crypto, options) over the Model Context Protocol (MCP), letting agents and developer tools create, review, and place real trades through supported brokerages and exchanges. It centralizes common trading tasks—symbol lookup, account discovery, draft order creation, and final execution—so applications can present natural-language workflows while keeping execution gated by explicit user confirmation.

This server is hosted remotely (no local runtime required). Connect an MCP-compatible client to the public endpoints, authenticate via the browser OAuth flow, and use the provided tools to implement a safe, draft-first trade flow. Supported brokerages include Robinhood, Schwab, E*Trade, Webull, Public, Tastytrade, and crypto exchanges Coinbase and Kraken.

Features

  • Search assets by ticker or name (stocks & crypto)
  • List linked brokerage accounts and balances
  • Create draft equity/crypto and single- or multi-leg options orders
  • Execute only after explicit user confirmation (draft-first safety model)
  • Streamable HTTP and SSE endpoints for real-time updates
  • Multi-broker support: Robinhood, Schwab, E*Trade, Webull, Public, Tastytrade, Coinbase, Kraken
  • Trade status tracking (draft → placed / failed / cancelled)

Installation / Configuration

No server install required—this is a hosted MCP server. Basic setup steps:

  1. Create a Trade It account and connect the broker/exchange you want.
  2. Point your MCP client to the endpoint below.
  3. Complete OAuth in a browser and capture session/auth tokens as required by your client.

Endpoints:

Streamable HTTP: https://mcp.tradeit.app/mcp
SSE (Server-Sent Events): https://mcp.tradeit.app/sse

Example: simple HTTP POST to call an MCP tool (replace auth placeholder with your session/token as your client requires):

curl -X POST "https://mcp.tradeit.app/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -d '{"tool":"search_assets","params":{"query":"TSLA"}}'

Refer to the GitHub repository for integration examples and client libraries: https://github.com/trade-it-inc/trade-it-mcp

Available Tools

The server exposes a set of MCP tools. Typical request shape uses the tool name and a params object.

Tool reference (high level):

  • search_assets — Lookup ticker/name; returns price, exchange, asset type, and metadata.
  • get_accounts — List linked accounts, balances, and account IDs.
  • create_trade — Create a draft equity or crypto trade (buy/sell).
  • create_options_trade — Create a draft options order (single or multi-leg).
  • execute_trade — Submit a previously created draft trade to the broker.

Example: search_assets request/response

{ "tool": "search_assets", "params": { "query": "bitcoin" } }

Example: get_accounts

{ "tool": "get_accounts", "params": {} }

create_trade returns a draft with a trade_id and status “draft”. You must call execute_trade(trade_id) after explicit user confirmation.

Options specifics

OCC option symbol format (OPRA/OCC style) commonly used in params:

  • Format: {UNDERLYING}{YYMMDD}{C|P}{strike*1000, zero-padded to 8 digits}
  • Example: AAPL 2024-06-21 Call 150.00 → AAPL240621C00150000

Options order example (multi-leg draft)

{
  "tool": "create_options_trade",
  "params": {
    "account_id": "acct-123",
    "legs": [
      { "symbol": "AAPL240621C00150000", "quantity": 1, "action": "buy" },
      { "symbol": "AAPL240621P00145000", "quantity": 1, "action": "sell" }
    ],
    "type": "multi_leg",
    "price": "limit",
    "limit_price": "2.50"
  }
}

Use Cases

  • Quote lookup before a recommendation:
    • Flow: search_assets → present price & context → ask user if they want a draft.
  • Draft-and-confirm equity trade:
    • Flow: get_accounts → create_trade (draft) → show full draft to user → execute_trade on explicit confirm.
  • Place a crypto market buy on Coinbase:
    • Example: call create_trade with asset “BTC”, amount or notional, account_id; present draft; execute_trade when user approves.
  • Build and review a multi-leg options spread:
    • Use create_options_trade to assemble legs, review strike/expiry, then execute_trade after approval.

Concrete example — create draft equity buy (JSON)

{
  "tool": "create_trade",
  "params": {
    "account_id": "acct-456",
    "symbol": "TSLA",
    "action": "buy",
    "quantity": 1,
    "order_type": "market"
  }
}

Then execute:

{ "tool": "execute_trade", "params": { "trade_id": "trade-789" } }

Safety & Status

Safety model: draft-first. Draft orders are not sent to brokers until execute_trade is called. Typical statuses:

  • draft — draft created, not executed
  • placed — submitted to broker
  • failed — submission failed (with error metadata)
  • cancelled — user or system cancelled the draft

Best practice: always surface full draft details to the user (symbol, quantity, account, order type, estimated price/fees) and require explicit confirmation before calling execute_trade.

Additional Resources

  • Full documentation: https://docs.tradeit.app
  • Repository: https://github.com/trade-it-inc/trade-it-mcp
  • Official MCP Registry listing: https://registry.modelcontextprotocol.io/?q=app.tradeit%2Fmcp

For account linking and OAuth behavior, follow the browser-based flow described in the docs.