Schwab Read-Only MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCHWAB_CLIENT_ID | Yes | Your Schwab App Key | |
| SCHWAB_REDIRECT_URI | Yes | The redirect URI that exactly matches the one registered with Schwab | |
| SCHWAB_CLIENT_SECRET | Yes | Your Schwab App Secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_quotesB | Get Schwab quotes for US equity symbols. Values may be delayed by exchange entitlement. |
| get_price_historyB | Get every OHLCV candle Schwab allows for the requested period or ISO-8601 time range. |
| get_technical_indicatorsC | Calculate SMA20, EMA20, RSI14, MACD(12,26,9), Bollinger(20,2), ATR14 and session VWAP from Schwab candles. |
| get_fundamentalsB | Get Schwab's available issuer fundamentals for one symbol; it is not a replacement for full financial statements. |
| get_option_chainA | Get a read-only option chain with Schwab-provided Greeks where available. |
| get_market_hoursB | Get market-session hours, optionally for an ISO date. |
| get_moversB | Get top movers for $SPX, $COMPX, or $DJI. |
| get_accountsA | List linked Schwab accounts and, optionally, their positions. This tool never changes accounts. |
| get_accountA | Read balances and optional positions for one account hash returned by get_accounts. |
| get_transactionsA | Read transaction history in an inclusive ISO-date range; this never submits an order. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct data type or action: quotes, transactions, price history, indicators, fundamentals, options, market hours, movers, and account details. While get_accounts and get_account overlap slightly, they are clearly list-vs-detail, and all price-related tools are differentiated by purpose (live snapshot vs historical vs derived). No two tools appear to do the same thing.
All tool names follow a consistent 'get_' prefix followed by a noun, e.g., get_quotes, get_transactions, get_accounts. The pattern is uniform and predictable, making it easy for an agent to infer the function of each tool from its name.
Ten tools is a well-scoped size for a read-only financial data server. Each tool covers a meaningful aspect of market or account data without excessive fragmentation or bloat, and the count is within the ideal range for an agent to manage.
The server covers the core read-only workflows: quotes, historical data, indicators, fundamentals, options, market hours, movers, transactions, and account balances. Minor gaps exist, such as lack of order-status retrieval or news, but these are not essential for a read-only market/account server and can be worked around.