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.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • 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.
    Last updated
    9
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    An MCP server that connects to the Charles Schwab brokerage API to enable account management, market data retrieval, and secure order execution. It includes a Claude Code plugin with specialized skills for optimized tool selection and safety-focused confirmation patterns for trading.
    Last updated
  • F
    license
    A
    quality
    C
    maintenance
    MCP server for the tastytrade brokerage API, providing tools for account management, market data, and order execution.
    Last updated
    18

View all related MCP servers

Related MCP Connectors

  • Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Hosted MCP for stocks, options, Greeks, brokers, order previews, alerts, and workflows.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/psonhoang/schwab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server