Skip to main content
Glama
psonhoang

schwab-mcp

by psonhoang

schwab-mcp

A local MCP server exposing the Charles Schwab Individual Trader API (accounts, quotes, orders, transactions) as MCP tools, built on schwabdev.

See CLAUDE.md for architecture/conventions.

Setup

python3 -m venv .venv
source .venv/bin/activate
pip install -e .

cp .env.example .env
# fill in SCHWAB_CLIENT_ID, SCHWAB_CLIENT_SECRET, SCHWAB_REDIRECT_URI

python scripts/authorize.py   # one-time interactive browser login

Re-run scripts/authorize.py whenever the refresh token expires (every 7 days, per Schwab's policy).

Related MCP server: Schwab MCP Server

Connecting to Claude Desktop

Claude Desktop launches MCP servers as a separate process without your shell's environment, so pass credentials explicitly via env rather than relying on .env discovery. Edit (or create) ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "schwab": {
      "command": "/Users/edhac/Workspace/schwab-mcp/.venv/bin/python",
      "args": ["-m", "schwab_mcp.server"],
      "env": {
        "SCHWAB_CLIENT_ID": "your-client-id",
        "SCHWAB_CLIENT_SECRET": "your-client-secret",
        "SCHWAB_REDIRECT_URI": "https://127.0.0.1",
        "SCHWAB_TOKEN_PATH": "~/.schwab-mcp/tokens.db"
      }
    }
  }
}

Then fully quit and reopen Claude Desktop. Run scripts/authorize.py manually first (Claude Desktop can't complete the interactive browser login itself) — the server will raise a clear error on startup if the token db is missing or the refresh token has expired, telling you to do this.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to securely interact with Charles Schwab accounts and market data through the official Schwab API.
    75
    -
  • A
    license
    A
    quality
    D
    maintenance
    A read-only MCP server that provides access to Charles Schwab account data and market information, including portfolio positions, real-time quotes, options chains, price history, and account balances through AI assistants.
    9
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    MCP server for the tastytrade brokerage API, providing tools for account management, market data, and order execution.
    18
    -
  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server for Interactive Brokers that exposes market data, positions, and account info as MCP tools.
    8
    MIT