schwab-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@schwab-mcpWhat's my account balance?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 loginRe-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.
This server cannot be installed
Maintenance
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
- Flicense-qualityFmaintenanceA 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.Last updated68
- AlicenseAqualityDmaintenanceA 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 updated9MIT
- Flicense-qualityDmaintenanceAn 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
- FlicenseAqualityCmaintenanceMCP server for the tastytrade brokerage API, providing tools for account management, market data, and order execution.Last updated18
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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